Неявные переменные в SFC
В SFC существуют неявно объявленные переменные, которые могут быть полезны для определения состояния шагов, действий и контроля времени активности шагов. Все они устанавливаются в начале каждого рабочего цикла.
Для МЭК шагов данные переменные поддерживаются библиотекой iecsfc.lib (структуры SFCStepType и SFCActionType), автоматически включаемой в проект. Для упрощенного SFC неявные переменные реализованы непосредственно в CoDeSys.
Логические переменные активности шагов:
Для МЭК шагов определены две переменные: StepName.x и StepName._x.
Переменная
StepName.x содержит признак активности шага в текущем цикле.
Переменная
StepName._x содержит признак активности шага в следующем цикле. Если StepName.x=TRUE, то шаг будет выполняться в текущем цикле. Если StepName._x=TRUE и StepName.x=FALSE, то шаг будет выполняться в следующем цикле. Соответственно значение StepName._x будет скопировано в StepName.x в начале цикла.
Для простых шагов определены аналогичные по смыслу переменные с именами
StepName и
_StepName. Первая имеет значение ИСТИНА, когда соответствующий шаг активен, и ЛОЖЬ, когда неактивен.
Для МЭК действий переменная:
ActionName.x приобретает значение ИСТИНА, как только действие становится активным. (Не используйте переменную ActionName._x она служит для внутренних целей).
Переменные контроля времени активности шагов (TIME):
С помощью следующих неявных переменных можно узнать время, истекшее с момента получения шагом активности. Для их использования необходимо задать минимальное время активности в конфигурации шага.
Для МЭК шагов определена переменная
StepName.t (
StepName._t служит для внутренних целей).
Для простых шагов соответствующая переменная называется
_timeStepName.
Ее необходимо явно объявить, например "_timeStep1: TIME;"
Для МЭК действий неявные переменные контроля времени активности недоступны.
Неявные переменные доступны в любом действии или переходе SFC. Кроме того, к ним разрешен доступ даже из другой программы.
Например: boolvar1:=sfc1.step1.x; Где step1.x - неявная логическая переменная, представляющая состояние МЭК шага step1 в POU sfc1.