Savevalue (сохранить величину)
SAVEVALUE - сохраняет значение.
Формат: SAVE[VALUE] А,В,С
А - номер ячейки;
В - присваиваемое значение;
С - тип ячейки: XF, ХН, XL (по умолчанию XF).
Если за полем А стоит знак " + " или знак " - ", значение поля В, соответственно, прибавляется или вычитается из текущего содержимого ячейки. Если знаки + " или " - " не указаны, то значение поля В записывается в ячейку. Поле С определяет тип ячейки (ХН - полусловная; XF - полнословная; XL - с плавающей точкой).
Примеры
1. SAVEVALUE 4,5
Поместить значение 5 в полнословную ячейку 4.
2. SAVEVALUE 2+,Р$3,Н
Прибавить содержимое параметра 3 к содержимому полусловной ячейки 2.
См.также:
SDECREMENT
SINCREMENT
SDECREMENT (УМЕНЬШИТЬ СОХРАНЯЕМУЮ ВЕЛИЧИНУ)
SDECREMENT - уменьшает значение, сохраняемое в ячейке.
Формат: SDEC[REMENT] А,В,С
А - номер ячейки;
В - вычитаемая величина;
С - тип ячейки: XF, ХН, XL (по умолчанию XF).
Вычитается значение поля В из содержимого ячейки, указанной в поле А. Поле С определяет тип ячейки: XF - полнословная, ХН - полусловная, XL - с плавающей точкой.
Примеры
I. SDEC 1,2
Вычитает 2 из содержимого полнословной ячейки 1.
2. SDECREMENT Р$2,ХН$3,Н
Вычитает содержимое полусловной ячейки 3 из содержимого полусловной ячейки,
номер которой указан в параметре 2.
См.также:
SAVEVALUE
SINCREMENT
SEIZE (ЗАНЯТЬ)
SEIZE- занимает устройство.
Формат: SEIZ[E] А
А -номер устройства.
Транзакт пытается занять устройство, определенное полем А. Если прервано, транзакт задерживается в предыдущем блоке.
Примеры
1. SEIZ 5
Попытка занять прибор 5.
2. SEIZ Р$3
Попытка занять прибор, указанный в параметре 3.
См.также:
PREEMPT
RELEASE
RETURN
SINCREMENT (УВЕЛИЧИТЬ СОХРАНЯЕМУЮ ВЕЛИЧИНУ)
SINCREMENT- увеличивает значение, сохраняемое в ячейке.
Формат: SINC[REMENT] А,В,С
А - номер ячейки;
В - добавляемая величина;
С - тип ячейки: XF, ХН, XL (по умолчанию XF).
Значение поля В прибавляется к содержимому ячейки, указанной в поле А. Поле С определяет тип: XF - полнословная, ХН - полусловная, XL - с плавающей точкой.
Примеры
1. SINCREMENT 1,10
Прибавляет 10 к содержимому полнословной ячейки 1.
2. SINCREMENT P$4,V$5,H
Прибавляет значение переменной 5 к содержимому полусловной сохраняемой ячейки,
указанной в параметре 4.
См.также:
SAVEVALUE
SDECREMENT
SPLIT (РАСЩЕПИТЬ)
SPLIT - создает копии текущего транзакта.
Формат: SPLIT A,B,C,D
А - число создаваемых копий;
В - следующий блок для копий;
С - параметр для хранения порядкового номера копии;
D - число параметров у каждой копии.
Поле А определяет число копий, которые образуются при входе текущего транзакта. Эти вновь созданные транзакты по умолчанию идентичны исходному транзакту. Копии входят в блок, указанный в поле В. Исходный транзакт поступает на следующий блок. Параметр поля С используется для задания порядковых номеров копий. Нумерация осуществляется следующим образом. Порядковый номер исходного транзакта увеличивается первым. Если он был равен нулю, при входе транзакта в блок он станет равным единице. Порядковый номер первой копии станет на единицу больше, чем у исходного транзакта Ломера последующих копий также увеличиваются на единицу. Если поле D не задано, копии имеют такое же, как у исходного транзакта число и тип параметров.
Примеры
1. SPLIT 4.THERE
Создает 4 копии вошедшего транзакта и посылает в блок с именем THERE. Исходный
транзакт идет на следующий блок.
2. SPLIT 3,Р$1,1,4
Создает три копии текущего транзакта. Каждая копия будет иметь четыре параметра;
порядковый номер указан в параметре 1. Параметр 1 будет определять номер следующего
блока.
См.также:
ASSEMBLE
GATHER
MATCH
TABULATE (ЗАНЕСТИ В ТАБЛИЦУ)
TABULATE -заносит значение в таблицу.
Формат: TABU[LATE] А,В
А - номер таблицы;
В - вес, указывающий сколько раз значение должно быть занесено в таблицу (по
умолчанию1).
Транзакты, входящие в блок TABULATE, осуществляют занесение данных в таблицу, указанную в поле А. Поле В определяет весовой фактор, который используется, если данные заносятся во взвешенную таблицу. Описание структуры таблицы осуществляется картой TABLE.
Примеры
1. TABULATE 4
Занести значение в таблицу 4 с весом 1 (т.е один раз).
2. TABULATE Р$3,5
Занести наблюдаемую величину с весом 5, т.е 5 раз, во взвешенную таблицу, указанную в
параметре .
TERMINATE (ЗАВЕРШИТЬ)
TERMINATE- удаляет транзакт.
Формат: TERMI[NATE] А
А -величина, вычитаемая из содержимого счетчика завершений(поле А карты START).
Транзакт удаляется из модели и поступает в пассивный буфер. Если в поле А пробел, воздействия на счетчик завершений не происходит, в противном случае его значение уменьшается на величину, указанную в поле А.
Примеры
I. TERMINATE
Транзакт удален, но значение счетчика завершений не изменяется.
3. TERMINATE 2
Значение счетчика завершений уменьшается на 2.
См.также: GENERATE
TEST (ПРОВЕРИТЬ)
TEST- сравнивает два стандартных числовых атрибута.
Формат: TEST_r А,В,С
r - внутренний операнд, принимающий значения:
Е - равно;
NE - не равно;
L - меньше чем;
LE - меньше чем или равно;
G - больше чем;
GE - больше чем или равно;
А - стандартный числовой атрибут;
В - стандартный числовой атрибут;
С - номер альтернативного блока.
Значения стандартных числовых атрибутов, указанных в поле А и В, сравниваются отношением, определяемым операндом г. Если условие выполняется, транзакт вводится в блек. Если условие не выполняется и определено поле С, транзакт переходит в указанный блок, если же С не задано, транзакт задерживается в предыдущем блоке.
Примеры
1. TEST_E P$1,2,LABEL
Если значение первого параметра равно двум, транзакт войдет в блок TEST и продолжит
движение в следующий блок. Если значения не равны, транзакт перейдет в блок с меткой
LABEL.
2. TEST_L FN$2,P$2
Если функция 2 меньше, чем параметр 2, транзакт входит в блок TEST, в противном
случае он становится заблокированным.
TRACE (НАЧАТЬ ТРАССИРОВКУ)
TRACE- прослеживает движение транзактов.
Формат: TRAC[E] Неимеет операндов.
Устанавливает индикатор (бит трассировки), вызывающий печать каждого шага при движении транзакта через модель.
Пример
TRACE
Будет прослежено движение транзактов в модели, начиная с блока TRACE.
См.также: UNTRACE
TRANSFER (ПЕРЕДАТЬ)
TRANSFER- изменяет движение транзакта в модели.
Формат: TRAN[SFER] А,В,С,D
А - режим передачи (пробел,.,ALL,BOTH,FN,P,PICK,SBR,SIM);
В - следующий блок;
С - следующий блок;
D - значение индекса, используемое в режиме ALL.
Транзакт направляется в блок, определяемый в соответствии с режимом передачи, указанным в поле А.
Режимы передачи поля А:
1. Пробел - транзакт передается в блок, определяемый полем В.
2. "."- статистический режим; в поле А указано десятичное число, выражающее
вероятность перехода в блок С; его дополнение до единицы указывает
вероятность перехода в блок В.
3. ALL - транзакт последовательно пытается перейти в блоки, определяемые
значениями В, B+D,B+2D.....C.
4. BOTH- транзакт последовательно пытается войти в блок В, затем в блок С, до тех
пор, пока один из них станет доступным.
5. FN- функциональный режим: поле В является номером функции; следующий блок
определяется суммой значения этой функции поля С.
6. Р - параметрический режим: поле В является номером параметра; следующий
блок определяется суммой значения этого параметра и поля С.
7. PICK - выборочный режим: блок выбирается с равной вероятностью из блоков с
номерами: В,B+l,..., С.
8. SBR - режим перехода к подпрограмме: номер текущего блока помещается в
параметр, указанный в поле С, а транзакт передается в блок, номер которого
указан в поле В.
9. SIM - одновременный режим: проверяется одновременное выполнение условий
беспрепятственного движения транзактов в задерживающих блоках . Если
условие выполняется, транзакт передается в следующий блок, в противном
случае транзакт переходит на блок С.
Примеры
1. TRANSFER , NEXT
Безусловная передача в блок с меткой NEXT.
2. TRANSFER .400, FACI.FAC2
С вероятностью 0.6 транзакты будут переданы в блок FAC1 и с вероятностью 0.4 в блок
FAC2.
UNLINK (ВЫВЕСТИ ИЗ СПИСКА)
UNLINK - удаляет транзакт из списка пользователя.
Формат: UNLI[NK] A,B,C,D,E,F
А - номер списка;
В - следующий блок для выводимых из списка транзактов;
С - число выводимых транзактов;
D - номер параметра или БАСК (с конца списка);
Е - значение, сравниваемое с величиной параметра;
F - следующий блок для выведенного из блока UNLINK транзакта.
Если поля D и Е не указаны, транзакты безусловным образом выводятся из списка и отправляются в блок В. Если в поле D указан БАСК, транзакты выводятся из конца списка. Если поле D определяет номер параметра, а в поле Е пробел, то параметр вводимого транзакта сравнивается с тем же параметром транзактов в списке пользователя и если обнаруживается равенство, то соответствующие транзакты выводятся из списка. Если в поле Е указан СЧА, то параметр D находящихся в списке транзактов сравнивается с этим СЧА и выводятся те транзакты, для которых обнаруживается равенство.
Примеры
1. UNLINK 4.МЕТ,1,ВАСК
Один транзакт выводится из конца списка и направляется в МЕТ.
2. UNLINK STO,BEG,3,l,V$l,END
Выводятся из списка STO три транзакта, у которых значение первого параметра равно
переменной 1. Транзакты направляются в блок BEG. Если транзакты не могут быть
выведены, то текущий транзакт направляется из блока UNLINK в блок END.
См.также: LINK
USING (ИСПОЛЬЗОВАТЬ ДОСТУП)
USING - доступ к параметрам другого транзакта.
Формат: USING A,B,C,D,E
А - номер транзакта для доступа;
В - номер параметра для доступа (может иметь суффиксРВ, РР или РН);
С - тип объекта для хранения информации (ячейки или параметра: X, ХН, Р, РВ, PF, РН);
D - номер объекта для хранения информации;
Е - альтернативный выход, если транзакта нет в модели.
Через этот блок текущий транзакт может иметь доступ к информации, связанной с другими транзактами в модели. Параметр, определяемый полем В, номер которого задан в поле А, копируется в ячейку или параметр, заданные в поле С. Если указанный транзакт в поле А не активен, то поле Е указывает переход на альтернативный блок. Если поле Е не определено и требуемый транзакт не является активным, происходит ошибка.
Пример
USING X$STR,l,P,3,PASS
Если транзакт, номер которого определен ячейкой STR, является активным, то копируется содержимое параметра 1 в параметр 3 текущего транзакта. Если транзакт не активен, то текущий транзакт передается в PASS.
См.также: LOCATE