Structured Text

Материал из Википедии — свободной энциклопедии
Это текущая версия страницы, сохранённая РобоСтася (обсуждение | вклад) в 12:41, 13 сентября 2024 (checkwiki fixes (1, 2, 9, 17, 22, 26, 38, 48, 50, 52, 54, 64, 65, 66, 76, 81, 86, 88, 89, 101)). Вы просматриваете постоянную ссылку на эту версию.
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

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