RUBICON engineering center

Язык ПЛК 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.

Источники

  1. IEC 61131-3:2013 — Programmable controllers. Part 3: Programming languages — IEC
Автор: Sergey
Опубликовано: 28.10.2026
Обновлено: 27.10.2026
Язык ПЛК SFC — последовательные функциональные диаграммы | РУБИКОН