Функциональный блок SFC. Язык программирования SEBOL

Пошаговый самоучитель CENTUM VP

 


Содержание самоучителя


Урок 14
Функциональный блок SFC. Язык программирования SEBOL
Язык программирования SEBOL

Язык программирования SFC

Sequential Function Chart (SFC) – графический язык программирования контроллеров.

SFC используют для программирования последовательных шагов управления:

Рис. Пример программы SFC

Программа SFС состоит из 3-х элементов:

  • Step – действия шага
  • Transition – условие для перехода на следующий шаг
  • Link – связь между условиями и шагами

Step

Действия выполняются при активации шага.

Шаг активируется при завершении выполнения предыдущего шага и выполнения условия перехода на этот шаг.

Действия (action) могут быть описаны тремя способами:

  • В виде логической схемы Logic Chart (LC64)
  • В виде таблицы решений Sequence Table (ST16)
  • На языке SEBOL:
Рис. Пример языка SEBOL

Transition

Условие перехода на следующий шаг описываются в виде выражения на языке SEBOL

Link

Селективная связь
Рис. Селективная связь

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

Циклы (Loop)
Рис. Циклы
Переходы по меткам
Рис. Переходы по меткам

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

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

Модели блоков SFC:

  • _SFCSW: 3-position switch
  • _SFCPB: Pushbutton
  • _SFCAS: Analog
Рис. Модели блоков SFC

Режимы блока SFC
Название Режим Комментарий
AUT Автоматический
SEMI-AUT Полуавтоматический Блок останавливается в начале каждого шага, и шаг выполняется по команде оператора
O/S Out of Service Online обслуживание может проводиться в этом режиме

Статусы блока SFC
Название Режим Комментарий
STOP Остановлен Блок остановлен и находится в ожидании стартовой команды
RUN Выполняется
PAUS На паузе Выполнение приостановлено
ABRT Прерван Выполнение прервано из-за фатальной или внутренней ошибки

Язык программирования SEBOL

SEquence and Batch Oriented Language (SEBOL) - язык программирования, предназначенный для управления процессами.

Переменные SEBOL

Глобальные переменные

Глобальные переменные доступны из любого шага блока SFC.
Глобальные переменные описываются в Initial Step:

Рис. Глобальные переменные

Локальные переменные

Локальные переменные доступны только в том шаге, где они описаны:

Рис. Локальные переменные

Декларация функциональных блоков

Глобальная декларация

Функциональный блок доступен из любого шага блока SFC.
Описание в Initial Step:

Рис. Глобальная декларация

Локальная декларация

Функциональный блок доступен только из того шага блока SFC, в котором он описан:

Рис. Локальная декларация

Задание

Разработать простейшую программу на языке SFC из 3-х шагов.
Действия шагов описать на языке SEBOL.

Решение

  1. Создаём новый проект с названием STEP

  2. Открываем редактор Common Switch Builder:
    FCS0101 > SWITCH > SwitchDef

  3. Добавляем 4 тега:

    Рис. Common Switch

  4. Открываем редактор схемы управления DR0001 и добавляем SFC Block:

    Рис. Выбор блока SFC

  5. Задаём имя тега – STEP:

    Рис. Имя тега

  6. Открываем редактор Function Block Detail Builder и добавляем три шага:

    Рис. Редактор блока

  7. Дважды щёлкаем по первому шагу и добавляем комментарий:

    Рис. Добавление комментария

  8. Аналогично добавляем комментарий ко второму шагу – «Действие 1» и к третьему шагу – «Действие 2»:

    Рис. Комментарии

  9. Выделяем первый шаг и нажимаем Edit > Edit Step Action:

    Рис. Edit Step Action

  10. Добавляем код SEBOL для Initial Step:

    Рис. Код SEBOL
    Закрываем это окно

  11. Щёлкаем дважды по первому переходу и добавляем следующее условие:

    Рис. Условие первого перехода

  12. Выделяем второй шаг, нажимаем Edit > Edit Step Action, добавляем команду SEBOL:

    Рис. Код SEBOL для шага 2

  13. Щёлкаем дважды по второму переходу и добавляем условие:

    Рис. Условие второго перехода

  14. Выделяем третий шаг, нажимаем Edit > Edit Step Action, добавляем команду SEBOL:

    Рис. Код SEBOL для шага 3

  15. Запускаем симулятор контроллера

  16. Открываем окно статуса схемы управления:

    Рис. Браузер Overview
    Рис. Статус схемы управления

  17. Щёлкаем дважды по блоку STEP и открываем окно статуса SFC:

    Рис. Статус SFC
    Видим, что статус блока BSTS=STOP

  18. Вызываем лицевую панель блока STEP:

    Рис. Вызываем лицевую панель

  19. Нажимаем кнопку [RUN] и переводим блок в статус RUN: Рис. RUN
    Видим, что блок перешёл в статус RUN

  20. Вызываем лицевые панели тегов: CONDITION1 и ACTION1

  21. Имитируем выполнение условия перехода ко второму шагу – нажимаем кнопку [ON] на лицевой панели CONDITION1:

    Рис. Условие перехода ко второму шагу
    Видим, что выполнилось действие 1, и завершился шаг 1

  22. Вызываем лицевые панели тегов: CONDITION2 и ACTION2

  23. Имитируем выполнение условия перехода к третьему шагу – нажимаем кнопку [ON] на лицевой панели CONDITION2:

    Рис. Условие перехода к третьему шагу
    Видим, что выполнилось действие 2, и блок перешёл в статус STOP.