Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Приложение. Блок TRANSFER изменяет маршрут движения транзактов в зависимости от значения первого операнда (в основном или альтернативном направлении) при определенном
Блок TRANSFER изменяет маршрут движения транзактов в зависимости от значения первого операнда (в основном или альтернативном направлении) при определенном состоянии оборудования: обслуживающих устройств, очереди, логических ключей и т.п.: TRANSFER [A], B, [C], [D] А - режим перехода; В - метка первого альтернативного блока; С - метка второго альтернативного блока; D - константа, используемая для относительной переадресации транзактов. Если операнд А блока TRANSFER отсутствует, то транзакт, поступивший в блок TRANSFER, безусловно отправляется в блок с меткой, указанной в операнде В. Если операнд А - число от 0 до 1, то он определяет вероятность перехода транзакта по адресу С. При этом операнд В определяет альтернативный адрес. Если операнд А равен «ВОТН», то транзакт делает попытку перемещения в блок с меткой В. При невозможности войти в блок с адресом В, транзакт перемещается в блок с меткой, указанной в операнде С. Если операнд А равен «ALL», то транзакт делает попытку перемещения в блок с меткой В. При невозможности войти в данный блок, транзакт делает попытку перемещения в блок, следующий за блоком с адресом В через D блоков, если и эта попытка безуспешна - то в блок, следующий за блоком с адресом В через 2D блоков. Адрес последнего блока, в который может перемещаться транзакт, записывается в операнде С.
Блок TEST определяет направление движения транзакта в зависимости от выполнения условия, заданного алгебраическим соотношением: TEST XX А, В, [С] Блок GATE разрешает движение транзактам (в основном или альтернативном направлении) при определенном состоянии оборудования: обслуживающих устройств, очереди, логических ключей и т. п. Блок имеет следующий формат: GATE XXX А, [В] XXX - логический указатель (определяется таблицей 2); А - имя или номер оборудования; В - метка альтернативного блока.
При выполнении условия, записанного в логическом указателе XXX, транзакт переходит в следующий за GATE блок. В противном случае он направляется в блок с меткой, содержащейся в операнде В. Если операнд В не задан, то транзакт задерживается в блоке GATE до выполнения условия, определяемого указателем XXX. Например: GATE SNF OTK, LABELl; транзакт переходит к следующему блоку, если многоканальное устройство ОТК не заполнено. В противном случае транзакт направляется в блок с меткой LABEL1; транзакт перемещается в блок с меткой KASSA2, если одноканальное устройство 0KN01 занято; транзакт переходит к следующему блоку, если логический ключ KEY1 установлен в единицу. В противном случае транзакт задерживается в блоке GATE Для изменения в ИМ значений логических ключей используется блок LOGIC, который имеет следующий формат: LOGIC X А X - указатель операции с логическим ключом: S - установить (единица), R - сбросить (обнулить), I - инвертировать; А - имя или номер логического ключа. Например: LOGIC S KEY1; установить единичное значение ключа с именем KEY1 LOGIC R 2; обнулить значение второго ключа, определенного в модели LOGIC I KEY2; инвертироватв значение ключа с именем KEY2 Для организации циклов перемещения транзактов используется блок LOOP А, В А - номер параметра транзакта, используемого в качестве счетчика цикла с указанием формата: «слово» (PF), «полуслово» (РН), «байт» (РВ); В - метка блока, являющегося начальным в повторяющейся группе блоков. При каждом вхождении транзакта в блок значение счетчика уменьшается на 1. Если оно становится равным нулю, транзакт переходит к следующему блоку. Допускается изменение параметра-счетчика внутри цикла. Например: ASSIGN 5, 3,, РН; присвоитв 5-му параметру текущего транзакта значение 3 и формат «полуслово» LABEL1 ADVANCE 15, 10; выполнение задержки транзакта на 15±10 единиц моделвного времени LOOP PH5, LABEL1; организация цикла (многократной задержки транзакта), число повторений равно 3 Для синхронизации движения двух транзактов из семейства используются два сопряженных блока MATCH, например: LABELl MATCH LABEL2; транзакт, вошедший в блок с меткой LABEL1, будет ожидатв в этом блоке прихода транзакта того же семейства в блок с меткой LABEL2 LABEL2 MATCH LABELl; транзакт, вошедший в блок с меткой LABEL2, будет ожидатв в этом блоке прихода транзакта того же семейства в блок с меткой LABELl
|