От значения параметра, номер которого задан параметром Р2, вычитается 7.
Отметка времени. При каждом входе транзакта в модель интерпретатор фиксирует для него текущее значение времени. Это значение времени называется отметкой времени. Она может быть интерпретирована как время «рождения» транзакта или время входа транзакта в модель. В явном виде отметка времени недоступна. Однако существует СЧА, который тесно связан со значением времени входа транзакта в модель. Его имя М1, а значение определяется так:
Значение М1 для каждого транзакта изменяется в процессе моделирования. Сразу после входа транзакта в модель М1= 0, через 10 единиц модельного времени М1= 10 и т.д.
Пример 4.29
Пусть в устройстве, номер которого хранится в параметре СLR_1 транзакта, продолжительность обслуживания зависит от времени, которое прошло с момента входа транзакта в модель. Предполагается, что это время не может превышать 1000 ед. времени. Для этого в модели можно использовать такие блоки:
ZATR FUNСТIОN М1,С2
|
|
1,4/1000,80
…
SЕIZE Р$CLR_1
АDVАNCE FN$ZATR
RЕLЕАSЕ Р$СLR_1
…
Транзитное время. Блок МАRК (ОТМЕТИТЬ). Стандартный числовой атрибут М1 измеряет время, которое прошло с момента входа транзакта в модель. Однако очень часто требуется знать время, затраченное на перемещение транзакта между двумя произвольными точками модели. Для этого используется блок МАRК.
При входе транзакта в блок МАRК значение таймера абсолютного времени записывается в качестве одного из его параметров. Такую запись называют отметкой транзакта. Формат блока МАRК:
МАRК А
Таблица 4.30
Операнд | Значение | Результат по умолчанию |
А | Номер параметра, в который записывается значение абсолютного времени (целое число, СЧА) | При отсутствии операнда Аотметка времени заменяется текущим значением абсолютного времени |
Пусть необходимо определить интервал времени, на протяжении которого транзакт проходит от точки Т1 к точке T2. Для этого нужно выполнить два действия:
1) в точку Т1 поместить блок МАRК j, где j – номер параметра, в который записывается значение абсолютного времени в момент записи;
2) в точке T2 обратиться к СЧА с именем MPj, где j – номер параметра, в котором сделана отметка времени транзакта; СЧА MPj будет иметь такое значение:
Организация циклов. Блок LOOP (ЦИКЛ). С помощью параметров транзактов в программе можно организовать циклы. Для этого используется блок LOOP. Он управляет количеством повторных прохождений транзактом определенной последовательности блоков модели.
Формат блока:
LOOP А[,В]
Таблица 4.31
Операнд | Значение | Результат по умолчанию |
А | Параметр транзакта, используемый для организации цикла (переменная цикла). Он может быть именем, положительным целым числом, СЧА, СЧА*СЧА (косвенная адресация). | Ошибка |
В | Метка (имя блока) начального блока цикла | Ошибка |
Когда транзакт входит в блок LOOP, параметр, указанный в операнде А, уменьшается на единицу, а затем проверяется его значение на равенство нулю. Если значение не равно нулю, то транзакт переходит в блок, указанный в операнде В. Если значение параметра равно нулю, транзакт переходит в следующий блок.
|
|
Переменная блока LOOP может только уменьшаться.