Микропроцессорная техника систем автоматизации


ЯЗЫК СТРУКТУРИРОВАННЫХ ТЕКСТОВ (ST)



бет22/77
Дата27.11.2023
өлшемі4,68 Mb.
#128711
1   ...   18   19   20   21   22   23   24   25   ...   77
Байланысты:
mikroprocessornaya-tehnika-sistem-avtomatizacii

ЯЗЫК СТРУКТУРИРОВАННЫХ ТЕКСТОВ (ST).


СТРУКТУРА ПРОГРАММЫ. СТАНДАРТНЫЕ БИБЛИОТЕКИ. ОСНОВНЫЕ ОПЕРАТОРЫ. ТИПЫ ДАННЫХ

Язык программирования контроллеров ST относится к классу текстовых языков высокого уровня и является в настоящее время самым распространенным языком программирования промыш- ленных контроллеров. Этот язык уходит корнями в такие из- вестные языки программирования, как Pascal и C. Язык ST удобен для написания больших программ и работы с аналоговыми сигналами и числами с плавающей точкой.


Структурированный язык управления SCL (Structured Control Language) также является текстовым языком программирования и представляет собой язык структурированного текста ST, адаптиро- ванный для программирования контроллеров линейки моделей Simatic производства фирмы Siemens.


Синтаксис языка ST


Для начала рассмотрим простой пример: запрограммируем функцию ограничителя Delimiter, которая должна ограничивать входные величины, адаптируя их к заданному диапазону значений (между верхним и нижним пределами); кроме того, в примере мы запрограммируем вызов этой функции в организационном блоке. Ниже приведен текст программы:
FUNCTION Delimiter : INT VAR_INPUT
MAX : INT; //максимальное значение
IN : INT; //входное значение
MIN : INT; //минимальное значение
END_VAR BEGIN
IF IN>MAX THEN Delimiter:=MAX; //адаптация к верхнему зна- чению
ELSIF INELSE Delimiter:=IN; //допустимое входное значение
END_IF; END_FUNCTION
ORGANIZATION_BLOCK Mainjprogram VAR_TEMP SINFO : ARRAY [1..20] OF BYTE; END_VAR
BEGIN
Result:=Delimiter (MAX:=Maximum, IN:=INPUT_VALUE, MIN:=Minimum);
END_ORGANIZATION_BLOCK
Пример программы начинается с объявления типа блока огра- ничителя Delimiter (функция FC) и типа для значения функции (INT). Далее следует описание параметров блока: параметры MAX (максимальное значение, верхняя граница), IN (величина входного сигнала) и MAX (максимальное значение, нижняя граница) объяв- ляются входными параметрами (INPUT), относящимися к типу данных INT. Сама программа следует за разделом объявления пе- ременных. В соответствии с программой, если входная величина IN больше, чем заданная максимальная величина, то функция прини- мает значение, равное максимальной величине. Если это не так, и входная величина IN меньше, чем заданная минимальная величина, то функция принимает значение, равное минимальной величине. Если оба рассмотренных случая не дали положительного результа- та, то функция принимает значение, равное входной величине IN.
Теперь мы запрограммируем вызов этой функции в организаци- онном блоке Main Program. При вызове в организационном блоке Main Program функции ограничителя Delimiter ее значение при- сваивается глобальной переменной Result («Результат»); теперь эта переменная будет содержать в себе значение Input_value, ограни- ченное предельными значениями Maximum и Minimum.
Как видно из приведенного примера, ST-программа – это список ST-выражений. Выражения обеспечивают получение определен- ных значений. Выражение может включать в себя один адрес дан- ных (одну переменную) или несколько адресов данных (несколько переменных), которые объединяются с помощью операторов. Пример:
a + b;
здесь a и b – это адреса данных (то есть, переменные), «+» – это оператор.
Имена, используемые в исходном коде (имена переменных, кон- станты, ключевые слова), разделены неактивными разделителями (пробелами, символами окончания строки и табуляции) или актив- ными разделителями, которые имеют определенное значение (на- пример, разделитель «>» означает сравнение «больше чем»). В текст могут быть введены комментарии. Комментарий должен начинать- ся с символа «//» и заканчиваться в конце строки. Каждый оператор заканчивается точкой с запятой («;»). Основные операторы языка ST:

  • оператор присваивания (x := 5);

  • вызов подпрограммы или функции;

  • вызов функционального блока;

  • операторы выбора (IF, THEN, ELSE, CASE);

  • итеративные операторы (FOR, WHILE, REPEAT);

  • управляющие операторы (RETURN, EXIT);

  • специальные операторы для связи с такими языками как SFC.

Скобки используются для того, чтобы отделить подчасти выра- жения и явно определить приоритетность операций.




Достарыңызбен бөлісу:
1   ...   18   19   20   21   22   23   24   25   ...   77




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет