LOOP Krosh,Start1

Коли транзакт, пройшовши ділянку моделі, що починається блоком з міткою Startl, увійде в блок LOOP, значення його параметра з назвою Krosh зменшується на 1. Початкове значення цього параметра дорівнює 5. Якщо це значення не дорівнює нулю, транзакт переходить до блоку з міткою Startl, тобто цикл повторюється. Якщо ж значення параметра циклу дорівнює нулю, тоді задане число повторень виконано. Транзакт переходить до наступного блоку.

Якщо з входом транзакта в блок LOOP виявиться, що транзакта з назвою Krosh немає, тоді відбудеться зупинка процесу моделювання через помилку “Звертання до неіснуючого параметра”.

Блок DISPLACE призначений для знаходження будь-якого транзакта й переміщення його до нового блоку. Блок DISPLACE має формат:

DISPLACE А,В,[С],[D]

Операнд А – номер транзакта, який необхідно перемістити. Операнд В – мітка блоку, до якого переміщається транзакт, зазначений операндом А. Операнд С – номер параметра транзакта, що переміщується, у який записується час, що залишився до кінця його обслуговування, якщо він перебував у списку майбутніх подій. Операнд D – мітка альтернативного блоку для активного транзакта. Операнди А, В, С і D можуть бути назвою, додатним цілим числом, виразом у дужках, СЧА або СЧА*параметр. Наприклад:

DISPLACE (Р5+20),Теm3,Zalushok,Mit1

Операнд А зазначений виразом у дужках. Цей вираз обчислюється й заокруглюється до цілого. Отриманий результат є номером транзакта, який варто перемістити. Далі блок DISPLACE відшукує цей транзакт. При цьому можливі випадки:

· транзакт є в моделі й не перебуває в списку майбутніх подій;

· транзакт є в моделі й перебуває в списку майбутніх подій;

· транзакта з потрібним номером немає в моделі.

У першому випадку транзакт переміщується до блоку з міткою Теm3. У другому випадку визначається час, що залишився до його повторного введення у процес моделювання. Він записується в параметр із назвою Zalushok. Якщо параметра з такою назвою немає, він створюється. Транзакт також переміщується до блоку з міткою Теm3. У третьому випадку активний транзакт, що ввійшов у блок DISPLACE, направляється до блоку з міткою Mit1. Якщо операнда D нема, активний транзакт переходить до наступного блоку.


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



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