ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
- 51 -
(*объявляем копию блока в словаре*)
(*имя – trig_1, тип – r_trig – обнаружение
нарастающего фронта*)
(*активизация функционального блока из программы
на языке ST*)
trig_1(b1) (*b1 – входная аналоговая переменная*)
(*доступ к возвращаемым параметрам*)
if (trigb1.out) then t_1:=t_1+1.0; end_if; (*out –
возвращаемая локальная переменная функционального
блока, t_1 – выходная переменная*)
Основные операции языка ST.
Операциями языка ST являются арифметические, булевы
(логические) и операции сравнения.
Арифметическими операциями являются: «+» – сложение, «-» –
вычитание, «*» – умножение, «/» – деление. Рассмотрим фрагмент
программы на языке ST с арифметическими операциями:
(*операции над целыми аналоговыми переменными*)
ares:=(ax1+ax2)*(12/(scale-3));
a:=11/2; (*в результате а=5*)
(*операции над вещественными аналоговыми
переменными*)
rres:=(rx2+1.02E5)/(rx3-3.14)*rx8;
rrx:=rx1/rx2; (*ошибка, если rx2 равна 0.0*)
(*операции над таймерными переменными*)
timeprog:=10s+tm10-tm56;
tresult:=tm1-tm2; (*если tm2>tm1, произойдет ошибка
исполнения*)
На примере проиллюстрируем операции сравнения (>, <, >=, <=, <>
- не равно):
bt:=(123>17); (*bt – true*)
bt:=(1.0>=1.0); (*bt – true*)
bt:=(‘f’=’F’); (*bt – false*)
bt:=(1s<0s34); (*bt – false*)
bt:=(‘xyz’<=’x’); (*bt – false*)