Logic (логический переключатель)
LOGIC_r(внутренний операнд) - логический переключатель.
Формат: LOGI[C]_rА
г - внутренний операнд:
I - переключить;
R - выключить;
S - включить.
А - имя логического переключателя.
Логический переключатель, заданный полем А, устанавливается в состояние, определяемое внутренним операндом. Логический переключатель находится в состоянии "ВЫКЛЮЧЕНО" по умолчанию.
Примеры
I. LOGIC_S 5
Включает логический переключатель 5.
3. LOGIC_I Р$4
Логический переключатель, указанный в параметре 4, меняет свое состояние:
- если был выключен, то включается;
- если был включен, то выключается.
См.также: INITIAL LINITIAL
LOOP (ОРГАНИЗОВАТЬ ЦИКЛ)
LOOP- осуществляет повторное прохождение транзактом цепочки блоков.
Формат: LOOP А,В
А - номер параметра, определяющего число циклов;
В - блок, на который переходит транзакт, если параметр А не равен нулю.
Значение параметра поля А уменьшается на единицу. Если оно не равно нулю, транзакт переходит в блок, имя которого указано в поле В. В противном случае транзакт проходит в следующий блок.
Пример:
LOOP 2,LABEL
Уменьшает на единицу значение параметра 2 и переходит к блоку с именем LABEL, если параметр 2 не равен нулю.
MARK (ОТМЕТИТЬ)
MARK- ставит отметку времени или записывает значение таймера.
Формат: MARK А
А - номер параметра, в который записывается значение таймера абсолютного времени.
Если поле А не используется, отметка времени (время создания транзакта) заменяется значением текущего таймера. Если поле А определено, то текущее значение таймера записывается в параметр, указанный в поле А.
Примеры
1. MARK
Заменяет время входа транзакта в модель на текущее значение таймера.
2. MARK 3
Записывает текущее значение таймера в параметр 3.
MATCH (СИНХРОНИЗИРОВАТЬ)
MATCH- синхронизирует дна транзакта одного семейства.
Формат: MATCH А
А - номер сопряженного блока MATCH.
Первый транзакт, достигнув блока MATCH, задерживается в нем до тех пор, пока другой транзакт семейства достигнет сопряженного блока MATCH, указанного в поле А. Во время задержки устанавливается индикатор синхронизации. Он сбрасывается, когда транзакт того же семейства входит в соответствующий блок MATCH.
Пример
АA MATCH ВВ
.
.
.
ВВ MATCH АА
Транзакты, которые поступают в АА или ВВ, задерживаются до поступления транзакта в другой блок MATCH. Оба транзакта выйдут одновременно из блоков MATCH.
См-также:
ASSEMBLE
GATHER
SPLIT
PREEMPT (ПРЕРВАТЬ)
PREEMPT - переводит устройство в прерванное состояние.
Формат: PREE[MPT] А
А - номер прерываемого устройства.
Транзакт получает в пользование устройство, указанное в поле А, если это устройство не было прервано другим транзактом. Если предыдущий транзакт захватил устройство через блок PREEMPT, текущий транзакт блокируется.
Пример
PREEMPT Р$1
Если устройство, номер которого задан параметром Р1, не было переведено в состояние прерывания, то транзакт, входящий в этот блок, захватывает его.
См.также:
SEIZE
RELEASE
RETURN
PRINT (НАПЕЧАТАТЬ)
PRINT- печатать АО семи значений СЧА.
Формат: PRIN[T] SNA1, SNA2,..., SNA7
SNA - любые допустимые стандартные числовые атрибуты.
Печатается список от 1 АО 7 СЧА при каждом входе транзакта в этот блок. Значения СЧА неи изменяются.
Примеры
1. PRINT P$l,P$2,P$3,P$4
Печать значений параметров 1, 2, 3, 4.
2.PRINT XH$3,XH$4,V$2,FR$8,P$9,P$10
Печать значений ячеек 3 и 4, переменной 2, коэффициента использования прибора 8 и
содержимого параметров 9 и 10.
PRIORITY (НАЗНАЧИТЬ ПРИОРИТЕТ)
PRIORITY- изменяет уровень приоритета транзакта.
Формат: PRIO[RITY] A,BUFFER
А - новый приоритет (целое число в диапазоне от О АО 127);
[BUFFER] - указывает возобновление процедуры просмотра списка текущих событий.
Устанавливает приоритет входящему транзакту в соответствии со значением поля А. Если операнд BUFFER отсутствует, продолжается обработка текущего транзакта. Если операнд BUFFER указан, то текущий транзакт помещается в список текущих событий и возобновляется просмотр списка.
Примеры
I. PRIORITY 4
Назначить транзакту уровень приоритета 4, попытка продвинуть транзакт в
следующий блок.
2. PRIORITY XF$l,BUFFER
Назначить транзакту приоритет, равный значению ячейки 1, поместить транзакт в
список текущих событий и возобновить его просмотр.
См.также:
BUFFER GENERATE
QUEUE (СТАТЬ В ОЧЕРЕДЬ)
QUEUE- помещает транзакт в конец очереди.
Формат: QUEU[E] А,В
А - номер очереди (числовое или символьное имя очереди);
В - число добавляемых к очереди элементов (по умолчанию 1).
Увеличивает текущее содержимое очереди, указанной в поле А, на значение в поле В. Если поле В не определено, увеличивает содержимое очереди на единицу. Транзакт может находиться в двух различных очередях одновременно.
Примеры
1. QUEUE 5
Присоединить транзакт к очереди 5.увеличив ее длину на единицу.
2. QUEUE Р$1,3
Стать в очередь, указанную в параметре 1, и увеличить ее длину на 3.
См.также: DEPART
RELEASE (ОСВОБОДИТЬ)
RELEASE- освобождает устройство.
Формат: RELE[ASE] А
А -номер устройства(числовое или символьное имя освобождаемого устройства) .
Устройство, указанное в поле А, освобождается и становится доступным для других транзактов. Освобождать устройство должен тот же транзакт, который его занимал.
Примеры
1. RELEASE 10
Освободить устройство 10.
2. RELEASE Р$2
Освободить устройство, указанное в параметре 2.
См-также:
PREEMPT
RETURN
SEIZE
RETURN (ВЕРНУТЬ)
RETURN- удаляет транзакт из прерванного устройства.
Формат: RETU[RN] А
При входе транзакта в блок RETURN снимается прерывание с устройства, которое было прервано этим транзактом. Снятие прерывания должно быть осуществлено тем же транзактом, который вызвал прерывание. Если устройство было занято АО прерывания, то прерванный транзакт возвращается на дообслуживание после снятия прерывания.
Примеры
1. RETURN 1
Транзакт снимает прерывание устройства 1.
2. RETURN XH$3
Отменяет прерывание устройства, номер которого определяется содержимым
полусловной ячейки 3.
См.также:
PREEMPT
RELEASE
SEIZE