Доброго времени суток всем.
Я понимаю, что вопрос у меня простой и смешной но все равно прошу помощи.
Вот картинка из мануала Step7
http://hostingkartinok.com/show-image.p ... db970bae01
Тут указано, что вызывая FB c разными экземплярными блоками данных можно получить и разные в них данные, ну разумеется в зависимости от кода самого FB.
Так вот, я вызываю к примеру в одном нетворке FB1 с DB1, а в следующем нетворке FB1 с DB2 но данные у меня получаются одинаковые в DB1 и DB2 хотя условия даже вызова FB разные.
Подскажите, что я могу делать не правильно.
Заранее благодарен за ответы и помощь.
Как правильно вызвать FB???
-
- Posts: 202
- Joined: Wed Mar 19, 2008 1:12 pm
- Location: Ukraine
-
- Posts: 167
- Joined: Tue Jul 20, 2010 1:20 pm
Re: Как правильно вызвать FB???
Вы наверное не совсем правильно "вкурили" мануал.
Посмотрите в разделе "первые шаги в работе со Step7,там описывается вызов FB.
http://iadt.siemens.ru/infocenter/543/638/1036/1065/
Посмотрите в разделе "первые шаги в работе со Step7,там описывается вызов FB.
http://iadt.siemens.ru/infocenter/543/638/1036/1065/
-
- Site Admin
- Posts: 1122
- Joined: Wed Sep 06, 2006 12:03 pm
- Location: CIS
Re: Как правильно вызвать FB???
FB - это программный код (описание поведения всех объектов), DB - это данные, с которыми этот код работает (состояние конкретного объекта). Вызывать FB1 можно несколько раз с различными DB каждый раз задавая различные входные данные.
Приложите картинку Вашей программы, а то не совсем понятно, в чем проблема.
Приложите картинку Вашей программы, а то не совсем понятно, в чем проблема.
-
- Posts: 202
- Joined: Wed Mar 19, 2008 1:12 pm
- Location: Ukraine
Re: Как правильно вызвать FB???
Вот скрин:
Как видно подтягивается значение с DB1 в нетворке 3, так как сигнал "Старт" в нетворке 3 не активен. В FB реализован простой таймер с выходом интежер, и по наличию сигнала "Старт" начинается отсчет времени
Собственно проект тут - http://us.ua/1268297/
Как видно подтягивается значение с DB1 в нетворке 3, так как сигнал "Старт" в нетворке 3 не активен. В FB реализован простой таймер с выходом интежер, и по наличию сигнала "Старт" начинается отсчет времени
Собственно проект тут - http://us.ua/1268297/
-
- Posts: 167
- Joined: Tue Jul 20, 2010 1:20 pm
-
- Posts: 202
- Joined: Wed Mar 19, 2008 1:12 pm
- Location: Ukraine
Re: Как правильно вызвать FB???
Спасибо, я понял, что переменные те которые у меня были в "Temp" нужно запихнуть в "STAT" но почему так не "вкурю", растолкуйте в двух словах плз..., просто я самоучка и иногда мануала маловато...
-
- Posts: 167
- Joined: Tue Jul 20, 2010 1:20 pm
Re: Как правильно вызвать FB???
Ганс Бергер
Цитата..."Когда блок завершается,локальный стек назначается следующему блоку",что собственно у вас и происходило.
Spoiler
Show
-
- Site Admin
- Posts: 1122
- Joined: Wed Sep 06, 2006 12:03 pm
- Location: CIS
Re: Как правильно вызвать FB???
STAT - хранят значения между вызовами FB, TEMP - нет. Т.е. TEMP можно использовать только для расчета каких-нибудь промежуточных значений в пределах одного такта.a_gricaj wrote:Спасибо, я понял, что переменные те которые у меня были в "Temp" нужно запихнуть в "STAT" но почему так не "вкурю", растолкуйте в двух словах плз..., просто я самоучка и иногда мануала маловато...
-
- Posts: 202
- Joined: Wed Mar 19, 2008 1:12 pm
- Location: Ukraine
Re: Как правильно вызвать FB???
Всем большое спасибо за помощь....