ISaGRAF. Version 3.4


Функциональные блоки


Функциональные блоки могут использовать языки: LD, FBD, ST или IL. Локальные переменные функциональных блоков копируются для каждого экземпляра. Когда программа вызывает блок, на самом деле, вызывается экземпляр блока: вызывается тот же код, но используются данные, захваченные специально для данного экземпляра блока. Значения переменных экземпляра передаются от одного цикла к другому.

 

Предупреждение:

- Функциональный блок, написанный на одном из языков IEC, не может вызывать другие функциональные блоки: механизм экземпляров позволяет работать только с собственными локальными переменными блока. Вот список стандартных функциональных блоков, которые нельзя использовать внутри блоков IEC: SR, RS, R_Trig, F_Trig, SEMA, CTU, CTD, CTUD, TON, TOF, TP, CMP, StackInt, AVERAGE, HYSTER, LIM_ALRM, INTEGRAL, DERIVATE, BLINK, SIG_GEN

SR, RS, R_Trig, F_Trig, SEMA, CTU, CTD, CTUD, TON, TOF, TP, CMP, StackInt, AVERAGE, HYSTER, LIM_ALRM, INTEGRAL, DERIVATE, BLINK, SIG_GEN

- По той же причине нельзя использовать Положительные или Отрицательные  контакты или витки, или витки Установить и Сбросить.

- Функции  TSTART и TSTOP  для запуска и остановки таймеров не могут быть использованы внутри функционального блока для целевых задач версий  3.0x. Они работают начиная с версии 3.20.

- Если в функциональном блоке требуется виток, то прежде чем замкнуть виток, нужно использовать локальную переменную. Например:

 

Это не будет работать:                                   Это работает:

 

                                      

 

 




Начало  Назад  Вперед