Sequential Function Chart

Материал из ТХАБ.РФ
Версия от 06:19, 30 апреля 2016; Админ (обсуждение | вклад) (1 версия импортирована)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

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 — Структурированный Текст