0

Неявные переменные SFC

Есть 2 основные неявные переменные в стандартном SFC. Это признак активности шага “x” и время его работы “t”. Если заглянуть глубже, то можно заметить еще две переменные с аналогичными названиями, но начинающиеся с символа подчеркивания. Каждое МЭК действие имеет в CoDeSys аналогичный набор переменных плюс свой экземпляр управляющей структуры SFCActionControl

Неявные переменные SFC, image0027

Рис.1 Дерево управляющих структур SFC исполнителя

В упрощенном SFC на каждый шаг неявно объявляется логическая переменная, отвечающая за активность шага. Ее имя совпадает с названием шага: <StepName>. Еще одна переменная имеет имя, начинающееся с символа подчеркивания: <_StepName> . Ее значение изменяется на один цикл вызова раньше. Например, когда шаг получает активность, переменная <_StepName> сразу приобретает значение TRUE, а <StepName> повторяет ее с запаздыванием. Аналогично при деактивации шага. Комбинация значений этих переменных образует четыре возможных состояния шага: пассивен, активация, активен, деактивация (рис. 2). Принудительно задав соответствующую комбинацию при отладке, мы можем выполнить входное, основное или выходное действие. Как вы могли заметить, устройство исполнителя упрощенного SFC существенно проще. Переменные времени шагов и структуры управления действиями для работы упрощенного SFC не нужны.

Неявные переменные SFC, image0046

Рис.2 Диаграмма состояний шага

Но если включить механизм контроля времени выполнения шага, описанный ниже, то CoDeSys все же создает внутреннюю переменную для отсчета времени его активности. Имя переменной образуется так: _time<StepName>.

По умолчанию она не видна. Чтобы получить к ней доступ, ее нужно объявить. Для шага Run_mode она будет выглядеть так: _timeRun_mode : TIME.

Переменные с символом подчеркивания используются для работы внутренних механизмов системы исполнения. Тем не менее, доступ к ним не закрыт. Опытные программисты могут использовать их в отладочных целях.

В стандартном SFC переменные “t” содержат длительность активного состояния. Переменные “_t” хранят абсолютное время момента активации. Это необходимо для поддержки механизма отложенных действий. Как мы уже отмечали, в стандартном SFC переменные “x” можно использовать в программах для целей синхронизации перехо-

дов. В упрощенном SFC для этого служат переменные <StepName>.

Вы можете выполнять графическую трассировку неявных переменных SFC с целью динамического анализа работы диаграммы. Встроенная трассировка CoDeSys позволяет отслеживать изменения активности шагов и действий по рабочим циклам синхронно с выполнением.

В диагностических целях можно изменять неявные переменные либо средствами отладчика, либо программно. Однако не используйте неявные переменные на запись в рабочих программах. Это нарушает связь реального хода выполнения шагов с визуальным отображением на диаграмме. Таким образом, SFC диаграмма теряет смысл. Грамотно реализованный программный компонент на SFC может иметь несколько уровней вложений. Отдельные действия могут переставлять собой вложенные диаграммы. Компонент может вызывать другие POU. Но в любом случае последовательность работы компонента должна выражаться средствами языка SFC без применения трюков с неявными переменными.

Раздел: CoDeSys. Теория. Метки: ,

Оставить комментарий

Отправить сообщение

CoDeSys GSM/GPRS модем Lectus OPC MasterSCADA Modbus MX110 Omron OPC-сервер owen owen logic PLC Configuration PROFIBUS s-200 SCADA scada системы siemens siemens plc SIMATIC Simplight SMS step7 TRACE MODE Динамизация ИП-320 МЭК 1131–3 ОВЕН ОВЕН ПЛК ОВЕН ПЧВ ПЛК ПЛК ОВЕН ПР 110 Панель оператора Программируемое реле Частотный преобразователь библиотека в CoDeSys визуализация диспетчеризация конфигурация панели программирование ПЛК серия NS сименс плк частотник частотное управление язык CFC язык ST
.