Sequential Function Chart | это... Что такое Sequential Function Chart? (original) (raw)

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

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

 ╔════════╗
 ║        ║
 ║ 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:

Просмотр этого шаблона Основные языки программирования (сравнениеIDEисторияхронология)
Используемыев разработке АдаAPLЯзык ассемблераActionScriptABAP/4AutoItAWKБейсикСиКоболC++C#ClarionClojureColdFusionCommon LispDdBaseDelphiEiffelErlangEuphoriaF#ФортФортранGambasGoGroovy • HAL/S • HaskellIconJavaJavaScriptLimboLuaМодула-3Object PascalObjective-COCamlOzParserПаскальКомпонентный ПаскальPerlPHPPowerBASICPythonПЛ/1ПрологRubyScalaSchemeSmalltalkSQLPL/SQLTclValaVisual Basic (.NET)
Академические AgdaCleanCurryЛогоMLРЕФАЛСимулаОберон
IEC 61131-3 Instruction ListSTFBDLadder Diagram (LD) • SFC
Прочие АлголАлгол 68Модула-2МирандаHope
Эзотерические HQ9+/HQ9++ • INTERCALBrainfuck • Brainfork • BefungeMalbolgePietSpoonUnlambdaWhitespaceFALSELOLCODE
Визуальные G (LabVIEW) • Microsoft VPLSikuliVisSimАлисаДРАКОНСкретч