Урок 14
Функциональный блок SFC. Язык программирования SEBOL
Язык программирования SEBOL
Язык программирования SFC
Sequential Function Chart (SFC) – графический язык программирования контроллеров.
SFC используют для программирования последовательных шагов управления:
Программа SFС состоит из 3-х элементов:
- Step – действия шага
- Transition – условие для перехода на следующий шаг
- Link – связь между условиями и шагами
Step
Действия выполняются при активации шага.
Шаг активируется при завершении выполнения предыдущего шага и выполнения условия перехода на этот шаг.
Действия (action) могут быть описаны тремя способами:
- В виде логической схемы Logic Chart (LC64)
- В виде таблицы решений Sequence Table (ST16)
- На языке SEBOL:
Transition
Условие перехода на следующий шаг описываются в виде выражения на языке SEBOL
Link
Селективная связь
При наличии параллельных шагов всегда выполняется только одна цепочка, для которой первым было выполнено условие перехода.
Циклы (Loop)
Переходы по меткам
Функциональный блок SFC
Функциональные блоки SFC используются для выполнения программ, написанных на языке SFC.
Модели блоков SFC:
- _SFCSW: 3-position switch
- _SFCPB: Pushbutton
- _SFCAS: Analog
Название | Режим | Комментарий |
---|---|---|
AUT | Автоматический | |
SEMI-AUT | Полуавтоматический | Блок останавливается в начале каждого шага, и шаг выполняется по команде оператора |
O/S | Out of Service | Online обслуживание может проводиться в этом режиме |
Название | Режим | Комментарий |
---|---|---|
STOP | Остановлен | Блок остановлен и находится в ожидании стартовой команды |
RUN | Выполняется | |
PAUS | На паузе | Выполнение приостановлено |
ABRT | Прерван | Выполнение прервано из-за фатальной или внутренней ошибки |
Язык программирования SEBOL
SEquence and Batch Oriented Language (SEBOL) - язык программирования, предназначенный для управления процессами.
Переменные SEBOL
Глобальные переменные
Глобальные переменные доступны из любого шага блока SFC.
Глобальные переменные описываются в Initial Step:
Локальные переменные
Локальные переменные доступны только в том шаге, где они описаны:
Декларация функциональных блоков
Глобальная декларация
Функциональный блок доступен из любого шага блока SFC.
Описание в Initial Step:
Локальная декларация
Функциональный блок доступен только из того шага блока SFC, в котором он описан:
Задание
Разработать простейшую программу на языке SFC из 3-х шагов.
Действия шагов описать на языке SEBOL.
Решение
- Создаём новый проект с названием STEP
-
Открываем редактор Common Switch Builder:
FCS0101 > SWITCH > SwitchDef -
Добавляем 4 тега:
-
Открываем редактор схемы управления DR0001 и добавляем SFC Block:
-
Задаём имя тега – STEP:
-
Открываем редактор Function Block Detail Builder и добавляем три шага:
-
Дважды щёлкаем по первому шагу и добавляем комментарий:
-
Аналогично добавляем комментарий ко второму шагу – «Действие 1» и к третьему шагу – «Действие 2»:
-
Выделяем первый шаг и нажимаем Edit > Edit Step Action:
-
Добавляем код SEBOL для Initial Step:
Закрываем это окно -
Щёлкаем дважды по первому переходу и добавляем следующее условие:
-
Выделяем второй шаг, нажимаем Edit > Edit Step Action, добавляем команду SEBOL:
-
Щёлкаем дважды по второму переходу и добавляем условие:
-
Выделяем третий шаг, нажимаем Edit > Edit Step Action, добавляем команду SEBOL:
- Запускаем симулятор контроллера
-
Открываем окно статуса схемы управления:
-
Щёлкаем дважды по блоку STEP и открываем окно статуса SFC:
Видим, что статус блока BSTS=STOP -
Вызываем лицевую панель блока STEP:
-
Нажимаем кнопку [RUN] и переводим блок в статус RUN:
Видим, что блок перешёл в статус RUN - Вызываем лицевые панели тегов: CONDITION1 и ACTION1
-
Имитируем выполнение условия перехода ко второму шагу – нажимаем кнопку [ON] на лицевой панели CONDITION1:
Видим, что выполнилось действие 1, и завершился шаг 1 - Вызываем лицевые панели тегов: CONDITION2 и ACTION2
-
Имитируем выполнение условия перехода к третьему шагу – нажимаем кнопку [ON] на лицевой панели CONDITION2:
Видим, что выполнилось действие 2, и блок перешёл в статус STOP.