Sequential Function Chart (Sequential Function Chart)

Перейти к навигации Перейти к поиску

Sequential Function Chart-(последовательные функциональные схемы) — язык программирования стандарта IEC61131-3. Предназначен для программирования промышленных контроллеров. Широко используется в SCADA/HMI пакетах.

  • SFC — графический язык, предназначенный для написания программ последовательного управления технологическим процессом, описывающий его в форме близкой к диаграмме состояний. Аналогом может служить сеть Петри с разноцветными фишками. В каждом состоянии система выполняет действия (подпрограммы) с определенными модификаторами. Например, модификатор N — исполнять, пока состояние активно.

Пример: Поддержание уровня жидкости в сосуде с непрерывно вытекающей жидкостью

      ╔════════╗
      ║        ║
      ║ START  ║   Начальное состояние
      ╚═══╤════╝
          │
         ─┼─level_low Уровень меньше (условие перехода
          │           - логическая переменная)
      ┌───┴────┐  ┌───┬────────────┐ Состояние активно пока не сработает 
      │ Motor  ├──┤ N │motor_on    │ условие уровень больше. Действие с  
      │   On   │  └───┴────────────┘ модификатором N - пока активно
      └───┬────┘                     
         ─┼─level_high Уровень больше (условие перехода
          │            - логическая переменная)
      ┌───┴────┐  ┌───┬────────────┐
      │ Motor  ├──┤ P │motor_off   │ Состояние активно пока не сработает 
      │  Off   │  └───┴────────────┘ условие уровень меньше. Действие с 
      └───┬────┘                     модификатором P - однократное
          │                          срабатывание
          ↓
        START Переход на начальное состояние

Основными элементами языка являются:

  • состояния, в которых выполняются определенные действия, одновременно могут быть активны несколько состояний, одно из состояний является начальным;
  • переходы из состояния в состояние, для каждого перехода задаются логическое условие перехода к следующему шагу
  • альтернативное ветвление алгоритма, когда из текущего состояния возможны переходы к нескольким состояниям, при этом каждому переходу соответствует своё логическое условие и при выполнении алгоритма производится только один из альтернативных переходов
  • параллельное ветвление, в отличие от альтернативного имеет общее условие перехода на несколько параллельно работающих веток
  • переход к заданному состоянию
  • остановка процесса

При программировании контроллеров семейства SIMATIC, используются две версии этого языка, разработанных в компании Siemens. Язык Graph 7 является дополнением к пакету STEP 7 и реализуем как для контроллеров SIMATIC S7-300, так и SIMATIC S7-400. Вторая версия этого языка под названием SFC, применяется только в рамках интегрированной среды разработки программ контроллеров и систем человеко-машинного интерфейса SIMATIC PCS 7.

Языки программирования стандарта IEC61131-3:

  • LD — Релейно-Контактные Схемы
  • FBD[1] — Функциональные Блоковые Диаграммы
  • IL — Список Инструкций
  • SFC — Последовательностные Функциональные Диаграммы
  • ST — Структурированный Текст
  • BS-88 Операторный аналог SFC

Примечания

[править | править код]
  1. Язык управления для биореактора. Дата обращения: 18 мая 2022. Архивировано 1 апреля 2022 года.