Язык ПЛК SFC — последовательные функциональные диаграммы
Аббревиатура: SFC
Синонимы: SFC, Sequential Function Chart, последовательные функциональные диаграммы, GRAPH
SFC (Sequential Function Chart) — графический язык ПЛК по IEC 61131-3 для описания последовательных процессов. Программа — цепочка шагов (Step) и переходов (Transition). Идеален для машин с чёткими стадиями работы: загрузка → обработка → выгрузка.
SFC (Sequential Function Chart) — язык ПЛК для программирования последовательных алгоритмов. Основан на теории сетей Петри. Программа описывается как ориентированный граф из шагов и переходов между ними.
Структура SFC-программы
- Step (шаг) — состояние, в котором выполняются определённые действия (Actions). У шага есть флаг активности (TRUE когда шаг активен)
- Transition (переход) — условие (BOOL) между двумя шагами. Когда условие TRUE и предыдущий шаг активен — активируется следующий шаг
- Action (действие) — что происходит на шаге. Может быть набором инструкций на LD, FBD, ST или IL
- Начальный шаг — обозначается двойной рамкой, активен при старте программы
- Параллельные ветви — расхождение (||) и схождение (||) для одновременного выполнения
- Альтернативные ветви — расхождение (+) и схождение (+) для выбора одного из путей
Что хорошо делается на SFC
- Пошаговые машинные циклы — пресса, манипуляторы, автоматы розлива
- Технологические процессы с чёткими стадиями — варка, смешивание, выдержка, слив
- Пусконаладка/останов оборудования — последовательность разогрева, вентиляции, работы, охлаждения
- Диагностика состояний — на HMI видно какой шаг активен, легко искать «застрявший» процесс
- Процессы с параллелизмом — одновременная работа нескольких ветвей (загрузка + контроль + уведомления)
Что хуже делается
- Непрерывное регулирование — PID лучше делать на FBD
- Простая комбинаторная логика — LD/FBD проще
- Быстрые циклы миллисекундного уровня — SFC добавляет накладные расходы
Отличия от конечных автоматов (FSM)
SFC и есть графическое представление FSM с расширениями IEC: параллелизм, иерархия (вложенные SFC), квалификаторы действий (N, S, R, L, D, P).
Квалификаторы действий
- N (Non-stored) — действие выполняется пока шаг активен
- S (Set) — установить и держать (до явного R)
- R (Reset) — сбросить ранее установленное
- L (Limited) — выполнять не дольше заданного времени
- D (Delayed) — отложенное начало
- P (Pulse) — импульс в начале шага
Поддержка средами
- CODESYS — полная поддержка SFC с визуальной отладкой
- Siemens TIA Portal — GRAPH (аналог SFC) для S7-1500
- Beckhoff TwinCAT — SFC через CODESYS-ядро
- Rockwell Studio 5000 — SFC для ControlLogix
- ОВЕН CODESYS — для ПЛК200/210
Применение
- Автоматика технологических линий (упаковка, розлив, сборка)
- Автоматика печей и реакторов с программой нагрева
- Пусконаладочные последовательности крупных ПВУ
- Автоматика лифтов, подъёмников, манипуляторов
- Автоматика резервирования: активный → резервный с проверками
Проектировщики ценят SFC за то, что программа читается как технологическая карта процесса.
Частые вопросы
SFC или ST — что выбрать для машинного цикла?
SFC лучше — состояния видны графически, легко добавлять шаги и переходы, отладка нагляднее (видно какой шаг активен). ST пригоден для сложных вычислений внутри шага (действия Action). В крупных проектах типичный подход: SFC как «скелет» алгоритма, ST — для действий и переходов. Отладчик CODESYS подсвечивает активный шаг онлайн — находить ошибки в разы быстрее чем в ST.Что такое GRAPH в Siemens TIA Portal — это SFC?
Да, GRAPH — реализация SFC от Siemens с некоторыми расширениями: встроенная диагностика шагов, автоматический контроль времени шага, интеграция с HMI (визуализация активного шага в WinCC). Доступен для S7-1500 и части S7-1200. Концептуально совместим со стандартом IEC 61131-3, но синтаксис действий отличается от CODESYS SFC.
Источники
- IEC 61131-3:2013 — Programmable controllers. Part 3: Programming languages — IEC
Автор: Sergey
Опубликовано: 28.10.2026
Обновлено: 27.10.2026