Structured Text
Structured Text (ST) — язык программирования стандарта IEC61131-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: