Sequential Function Chart
Sequential Function Chart-(последовательные функциональные схемы) — язык программирования стандарта IEC61131-3. Предназначен для программирования промышленных контроллеров. Широко используется в SCADA/HMI пакетах.
- SFC — графический язык, предназначенный для написания программ последовательного управления технологическим процессом, описывающий его в форме близкой к диаграмме состояний. Аналогом может служить сеть Петри с разноцветными фишками. В каждом состоянии система выполняет действия (подпрограммы) с определенными модификаторами. Например, модификатор N — исполнять, пока состояние активно.
Пример: Поддержание уровня жидкости в сосуде с непрерывно вытекающей жидкостью
╔════════╗ ║ ║ ║ START ║ Начальное состояние ╚═══╤════╝ │ ─┼─level_low Уровень меньше (условие перехода - логическая переменная) │ ┌───┴────┐ ┌───┬────────────┐ │ Motor ├──┤ N │motor_on │ Состояние активно пока не сработает условие уровень больше. Действие с модификатором N - пока │ On │ └───┴────────────┘ активно └───┬────┘ ─┼─level_high Уровень больше (условие перехода - логическая переменная) ┌───┴────┐ ┌───┬────────────┐ │ Motor ├──┤ P │motor_off │ Состояние активно пока не сработает условие уровень больше.Действие с модификатором P - │ Off │ └───┴────────────┘ однократное срабатывание └───┬────┘ │ ↓ START Переход на начальное состояние
Основными элементами языка являются:
- состояния, в которых выполняются определенные действия, одновременно могут быть активны несколько состояний, одно из состояний является начальным;
- переходы из состояния в состояние, для каждого перехода задаются логическое условие перехода к следующему шагу
- альтернативное ветвление алгоритма, когда из текущего состояния возможны переходы к нескольким состояниям, при этом каждому переходу соответствует своё логическое условие и при выполнении алгоритма производится только один из альтернативных переходов
- параллельное ветвление, в отличие от альтернативного имеет общее условие перехода на несколько параллельно работающих веток
- переход к заданному состоянию
- остановка процесса
При программировании контроллеров семейства SIMATIC, используются две версии этого языка, разработанных в компании Siemens. Язык Graph 7 является дополнением к пакету STEP 7 и реализуем как для контроллеров SIMATIC S7-300, так и SIMATIC S7-400. Вторая версия этого языка под названием SFC, применяется только в рамках интегрированной среды разработки программ контроллеров и систем человеко-машинного интерфейса SIMATIC PCS 7.
См. также
Языки программирования стандарта IEC61131-3:
- LD — Релейно-Контактные Схемы
- FBD — Функциональные Блоковые Диаграммы
- IL — Список Инструкций
- SFC — Последовательностные Функциональные Диаграммы
- ST — Структурированный Текст
|