ВУЗ:
Составители:
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
- 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*)
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ (*объявляем копию блока в словаре*) (*имя – 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*) - 51 -
Страницы
- « первая
- ‹ предыдущая
- …
- 52
- 53
- 54
- 55
- 56
- …
- следующая ›
- последняя »