Structured Text

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Structured Text (ST) — язык программирования стандарта IEC 61131-3. Предназначен для программирования промышленных контроллеров и операторских станций. Широко используется в SCADA/HMI/SoftLogic-пакетах. По структуре и синтаксису ближе всего к языку программирования Паскаль. Удобен для написания больших программ и работы с аналоговыми сигналами и числами с плавающей точкой.

Существует расширенный стандарт IEC 61131-3, который вносит элементы объектно-ориентированного программирования путём расширения возможностей функциональных блоков (наследование, свойства, методы, интерфейсы). Также расширенный стандарт предполагает введение новых типов данных, таких как указатели, объединения, строки с двумя байтами на символ, ссылки и прочее.

Некоторые производители дополняют свои реализации собственными нестандартными расширениями. Примером могут служить операции динамического выделения и освобождения памяти в TwinCAT 3.1 компании Beckhoff ( __NEW и __DELETE соответственно). Эти расширения открывают много новых возможностей при написании программ.

Пример[править | править код]

Вычисление максимума из массива

VAR_CONSTANT
   Array_Sz: BYTE := 4;
END_VAR
VAR
   Iter: BYTE;
   arr: ARRAY [1..Array_Sz] of real:=3.2, 4.2 ,1.4, 7.8;
   fnd_max:REAL := -1.2E38;
END_VAR
     FOR Iter := 1 TO Array_Sz DO
         fnd_max := MAX(fnd_max, arr[Iter]);
     END_FOR

См. также[править | править код]

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

  • LD — Релейно-контактные схемы
  • FBD — Функциональные блоковые диаграммы
  • IL — Список инструкций
  • SFC — Последовательностные функциональные диаграммы