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 — Последовательностные функциональные диаграммы