Assign p2-,7

От значения параметра, номер которого задан параметром Р вычитается 7.

Отметка времени. При каждом входе транзакта в модель ин­терпретатор фиксирует для него текущее значение времени. Это зна­чение времени называется отметкой времени. Она может быть ин­терпретирована как время «рождения» транзакта или время входа транзакта в модель. В явном виде отметка времени недоступна. Од­нако существует СЧА, который тесно связан со значением времени входа транзакта в модель. Его имя Ml, а значение определяется так:

Значение Ml для каждого транзакта изменяется в процессе мо­делирования. Сразу после входа транзакта в модель М1 =0, через 10 единиц модельного времени М1 =10 и т.д.

Пример 4.29

Пусть в устройстве, номер которого хранится в параметре CLR_1 транзакта, продолжительность обслуживания зависит от вре­мени, которое прошло с момента входа транзакта в модель. Предпо­лагается, что это время не может превышать 1000 ед. времени. Для этого в модели можно использовать такие блоки:

ZATR FUNCTION M1,C2

1,4/1000,80

SEIZE P$CLR_1

ADVANCE FN$ZATR

RELEASE P$CLR_1

Транзитное время. Блок MARK (ОТМЕТИТЬ). Стандартный числовой атрибут Ml измеряет время, которое прошло с момента входа транзакта в модель. Однако очень часто требуется знать время, затраченное на перемещение транзакта между двумя произвольными точками модели. Для этого используется блок MARK.

При входе транзакта в блок MARK значение таймера абсолют­ного времени записывается в качестве одного из его параметров. Та­кую запись называют отметкой транзакта. Формат блока MARK:

MARK A

Таблица 4.30

Операнд Значение Результат по умолчанию
А Номер параметра, в кото­рый записывается значе­ние абсолютного времени (целое число, СЧА) При отсутствии операнда А от­метка времени заменяется те­кущим значением абсолютного времени

Пусть необходимо определить интервал времени, на протяже­нии которого транзакт проходит от точки T1 к точке Т2. Для этого нужно выполнить два действия:

1) в точку Т1 поместить блок MARKj, где j - номер параметра, в который записывается значение абсолютного времени в момент за­писи;

2) в точке Т2 обратиться к СЧА с именем MPj, где j - номер па­раметра, в котором сделана отметка времени транзакта; СЧА MPj будет иметь такое значение:

Организация циклов. Блок LOOP (ЦИКЛ). С помощью пара­метров транзактов в программе можно организовать циклы. Для этого используется блок LOOP. Он управляет количеством повторных прохождений транзактом определенной последовательности блоков модели.

Формат блока:

LOOP A[,B]

Таблица 4.31

Операнд Значение Результат по умолча­нию
А Параметр транзакта, используемый для органи­зации цикла (переменная цикла). Он может быть именем, положительным целым числом, СЧА, СЧА*СЧА (косвенная адресация). Ошибка
B Метка (имя блока) начального блока цикла Ошибка

Когда транзакт входит в блок LOOP, параметр, указанный в операнде А, уменьшается на единицу, а затем проверяется его значе­ние на равенство нулю. Если значение не равно нулю, то транзакт пе­реходит в блок, указанный в операнде В. Если значение параметра равно нулю, транзакт переходит в следующий блок.

Переменная блока LOOP может только уменьшаться. Пример 4.30




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