Как правильно вызвать FB???

Промышленные Логические Контроллеры SIMATIC S7-200/300/400
a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

Как правильно вызвать FB???

Post by a_gricaj »

Доброго времени суток всем.
Я понимаю, что вопрос у меня простой и смешной но все равно прошу помощи.

Вот картинка из мануала Step7
http://hostingkartinok.com/show-image.p ... db970bae01

Тут указано, что вызывая FB c разными экземплярными блоками данных можно получить и разные в них данные, ну разумеется в зависимости от кода самого FB.

Так вот, я вызываю к примеру в одном нетворке FB1 с DB1, а в следующем нетворке FB1 с DB2 но данные у меня получаются одинаковые в DB1 и DB2 хотя условия даже вызова FB разные.
Подскажите, что я могу делать не правильно.
Заранее благодарен за ответы и помощь.
wiener
Posts: 167
Joined: Tue Jul 20, 2010 1:20 pm

Re: Как правильно вызвать FB???

Post by wiener »

Вы наверное не совсем правильно "вкурили" мануал.
Посмотрите в разделе "первые шаги в работе со Step7,там описывается вызов FB.
http://iadt.siemens.ru/infocenter/543/638/1036/1065/
Schtiel
Site Admin
Posts: 1122
Joined: Wed Sep 06, 2006 12:03 pm
Location: CIS

Re: Как правильно вызвать FB???

Post by Schtiel »

FB - это программный код (описание поведения всех объектов), DB - это данные, с которыми этот код работает (состояние конкретного объекта). Вызывать FB1 можно несколько раз с различными DB каждый раз задавая различные входные данные.

Приложите картинку Вашей программы, а то не совсем понятно, в чем проблема.

Image
a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

Re: Как правильно вызвать FB???

Post by a_gricaj »

Вот скрин:
Image

Как видно подтягивается значение с DB1 в нетворке 3, так как сигнал "Старт" в нетворке 3 не активен. В FB реализован простой таймер с выходом интежер, и по наличию сигнала "Старт" начинается отсчет времени

Собственно проект тут - http://us.ua/1268297/
wiener
Posts: 167
Joined: Tue Jul 20, 2010 1:20 pm

Re: Как правильно вызвать FB???

Post by wiener »

У Вас не совсем корректно запрограммирован FB

Image
Image
a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

Re: Как правильно вызвать FB???

Post by a_gricaj »

Спасибо, я понял, что переменные те которые у меня были в "Temp" нужно запихнуть в "STAT" но почему так не "вкурю", растолкуйте в двух словах плз..., просто я самоучка и иногда мануала маловато...
wiener
Posts: 167
Joined: Tue Jul 20, 2010 1:20 pm

Re: Как правильно вызвать FB???

Post by wiener »

Ганс Бергер
Spoiler
Show
Image
Цитата..."Когда блок завершается,локальный стек назначается следующему блоку",что собственно у вас и происходило.
Schtiel
Site Admin
Posts: 1122
Joined: Wed Sep 06, 2006 12:03 pm
Location: CIS

Re: Как правильно вызвать FB???

Post by Schtiel »

a_gricaj wrote:Спасибо, я понял, что переменные те которые у меня были в "Temp" нужно запихнуть в "STAT" но почему так не "вкурю", растолкуйте в двух словах плз..., просто я самоучка и иногда мануала маловато...
STAT - хранят значения между вызовами FB, TEMP - нет. Т.е. TEMP можно использовать только для расчета каких-нибудь промежуточных значений в пределах одного такта.
a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

Re: Как правильно вызвать FB???

Post by a_gricaj »

Всем большое спасибо за помощь....