От значения параметра, номер которого задан параметром Р вычитается 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






