Variable

Оператор имеет следующий формат:

а) поле метки, содержащее имя переменной;

б) поле операции, слово VARIABLE;

в) поле операндов, содержащее выражение для вычисления значения переменной.

Например,

VADD VARIABLE P10+25

Значение переменной VADD вычисляется как P10+25.

Или

COMP VARIABLE X1*P4/10

Арифметические переменные с фиксированной точкой вычисляются следующим образом:

а) сначала берется целая, часть от входящих в выражение значений и производится вычисление;

б) затем выделяется целая часть результата.

Арифметические переменные с плавающей точкой отличаются лишь тем, что только окончательный результат преобразуется к целому числу.

В булевых переменных допускаются три типа операторов: логические, булевы и операторы отношений. Когда задается булева переменная, то перед словом VARIABLE пишется буква В.

Логические операторы используются в блоке GATE:

SFj, SMFj, SNEj, LRj, LSj

SFj= 1, если МКУj заполнено, иначе 0;

SNFj=1, если МКУj не заполнено, иначе 0;

Sej = 1, если МКУj пусто, иначе 0;

SNEj = 1, если МКУj не пусто, иначе 0;

LRj = 1, если логический ключ j выключен, иначе 0;

LSj = 1, если логический ключ j включен, иначе 0.

Имеются следующие операторы отношений “G”- больше, “L” – меньше, “E” – равно, “NE” – не равно, “LE” – меньше или равно, “GE” – больше или равно

ATEST BVARIABLE X4 “G” P6

ATEST = 1, если значение ячейки 4 больше значения параметра 6 текущего транзакта.

Булевы операторы OR и AND.

BVAR1 BVARIABLE (X4 “G” P6) OR AxB

Блок TEST – осуществляется сравнение СЧА.

Формат блока

TEST X A, B, [C],

здесь X один из символов G, L, GE, LE, E, NE; A и B – стандартные числовые атрибуты, числа или имена; C – номер или имя блока, переход к которому осуществляется.

Например,

TEST E BV3,1,PRIM

Если значение Булевой переменной BV3 = 1, то переход к следующему блоку, если нет, то к блоку PRIM.

Блок TEST может работать в двух режимах:

а) в режиме безусловного входа;

б) в режиме условного входа.

В режиме безусловного входа, если в поле С задан номер следующего блока, транзакты не задерживаются на входе блока.

В режиме условного входа, если поле С пусто, транзакты не могут войти в блок TEST, пока не выполнятся проверяемые блоком условия.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: