Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

LINE EQU 4

4.4.2. Обработка одновременных событий

Так как при моделировании в GPSS используются временные интервалы, то оказывается вполне вероятным одновременное наступление двух или более событий, причем вероятность этого тем больше, чем крупнее выбранная единица модельного времени. В некоторых случаях одновременное наступление нескольких событий, или так называемый временной узел, может существенно нарушить логику модели.

Рассмотрим, например, еще раз модель на рис. 4.14. Здесь может образоваться временной узел между событиями "поступление транзакт на вход модели" и "завершение обслуживания в МКУ". Если непосредственно перед завершением обслуживания были заняты оба канала МКУ, то обработка временного узла зависит от последовательности транзактов, соответствующих событиям, в списке текущих событий.

Предположим, что первым в списке расположен транзакт, освобождающий канал МКУ. Тогда вначале будет обработан этот транзакт, т. е.событие "завершение обслуживания в МКУ", причем условие "МКУ STO2 не заполнено", проверяемое в блоке GATE, станет истинным. Затем будет обработан транзакт, поступивший на вход модели, в блок GATE с именем ENT1, из блока GENERATE или из блока TRANSFER в безусловном режиме. При этом транзакт будет впущен в блок ENTER, и МКУ в тот же момент модельного времени снова окажется заполненным. Такая ситуация при обработке временного узла представляется естественной.

Предположим теперь, что первым в списке текущих событий расположен транзакт, поступающий на вход модели. Так как условие "МКУ STO2 не заполнено" ложно, то блок GATE направит этот транзакт в блок с именем REFUS. Таким образом, в модели будет зафиксирован отказ в обслуживании, хотя в этот же момент модельного времени, после обработки транзакта, освобождающего канал, МКУ станет доступным.

Порядок расположения транзактов, соответствующих рассматриваемым событиям, в списке текущих событий случаен, и в среднем в половине случаев временной узел будет обрабатываться не так как нужно. В результате статистика, связанная с отказами, окажется искаженной.

Для правильной обработки временного узла надо обеспечить такой порядок расположения транзактов в списке текущих событий, чтобы транзакт, освобождающий МКУ, всегда располагался первым. Этого можно добиться, управляя приоритетами транзактов (рис. 4.22).

STO2 STORAGE 2

EXP FUNCTION RN1,C24

0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915

.7,1.2/.75,1.38/.8,1.6/.84,1.85/.88,2.12/.9,2.3

.92,2.52/.94,2.81/.95,2.99/.96,3.2/.97,3.5/.98,3.9

.99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8

GENERATE 100,FN$EXP

ENT1 GATE SNF STO2,REFUS

ENTER STO2

PRIORITY 1

ADVANCE 160,FN$EXP

LEAVE STO2

TERMINATE 1

REFUS TRANSFER.1,,OUT

ADVANCE 250,FN$EXP

TRANSFER, ENT1

OUT TERMINATE 1

Рис. 4.22. Обработка временных узлов

Транзакты, поступающие в модель через блок GENERATE, имеют нулевой приоритет. Такой же приоритет имеют транзакты, получившие отказ в обслуживании, направленные в блок с именем REFUS и затем повторно поступающие в блок с именем ENT1. Те же транзакты, что поступают на обслуживание, повышают приоритет до 1 в блоке PRIORITY, и после выхода из блока ADVANCE возвращаются из списка будущих в список текущих событий, располагаясь в начале списка. Таким образом, нужный порядок транзактов обеспечивается, и временной узел будет обработан правильно.

Опасность неверной обработки временных узлов характерна для моделей со списками пользователя. Рассмотрим, например, еще раз модель на рис. 4.18. Здесь также возможен временной узел между событиями "приход транзакта" и "завершение обслуживания транзакта".

Пусть первым в списке текущих событий располагается вновь пришедший транзакт. Так как устройство с именем SYSTEM занято, то блок GATE направит этот транзакт в блок LINK, и он будет введен в список пользователя с именем LINE. Затем будет обработан транзакт, освобождающий устройство. Проходя через блок UNLINK, он выведет транзакт с начала списка пользователя и направит его в список текущих событий, где тот продвинется в блок SEIZE, занимая устройство SYSTEM.

Если же первым в списке текущих событий располагается транзакт, освобождающий устройство, то он выведет первый из ожидающих транзактов из списка пользователя в список текущих событий, где тот расположится после вновь пришедшего транзакта. Поэтому первым будет обработан вновь пришедший транзакт, который пройдет через блок GATE и займет устройство "без очереди". Транзакт-очередник, который был выведен из списка пользователя, "застрянет" перед блоком SEIZE и после очередного освобождения устройства займет его, нарушая, в свою очередь, логику работы модели.

Проведенный анализ показывает, что для правильной обработки временного узла необходимо обеспечить такой порядок расположения транзактов в списке текущих событий, чтобы первым всегда располагался вновь пришедший транзакт. В рассматриваемом случае этого можно добиться, используя блок PRIORITY с операндом BU (рис. 4.23).

НЕ нашли? Не то? Что вы ищете?

Перед освобождением устройства обслуженный транзакт проходит через блок PRIORITY, который, оставляя неизменным приоритет транзакта PR, переводит его в конец списка текущих событий. При новом просмотре списка в случае наличия временного узла начинает обрабатываться вновь поступивший транзакт. Так как устройство еще занято, он направляется блоком GATE в список пользователя. При повторной обработке обслуженного транзакта тот освобождает устройство и выводит очередной транзакт из списка пользователя. Таким образом, правильная обработка временного узла обеспечивается и в этом случае.

EXP FUNCTION RN1,C24

0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915

.7,1.2/.75,1.38/.8,1.6/.84,1.85/.88,2.12/.9,2.3

.92,2.52/.94,2.81/.95,2.99/.96,3.2/.97,3.5/.98,3.9

.99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8

GENERATE 100,FN$EXP

ASSIGN TSRV,80,EXP

GATE NU SYSTEM, WAIT

SFAC SEIZE SYSTEM

ADVANCE P$TSRV

PRIORITY PR, BU

RELEASE SYSTEM

UNLINK LINE, SFAC,1

TERMINATE 1

WAIT LINK LINE, P$TSRV

Рис. 4.23. Развязывание временных узлов с помощью списков пользователя

4.5. Команды GPSS/ WORLD и технология работы с пакетом

4.5.1. Загрузка интегрированной среды, введение в систему GPSS – программы и ее запуск [4]

GPSS World – это общецелевая система моделирования, значительно облегчаю­щая процесс создания и выполнения программ имитационного моделирования.

Мы пользуемся студенческой версией системы GPSS World, которую можно бесплатно скачать с сайта фирмы Minuteman Software по адресу: www. minutemansoftware /download.

Студенческая версия системы GPSS World так же эффективна, как и коммер­ческая, и на сегодняшних персональных компьютерах выполняется в тысячу раз быстрее, чем работала оригинальная версия GPSS/PC в 1984 году. В процессе инсталляции система GPSSW по умолчанию устанавливается в ка­талог C:\Program Files\Minuteman Software\GPSS World Student Version. Для системы GPSSW требуется IBM – совместимый компьютер с ОС Windows 95, 98 и выше. Целесообразно использовать процессоры типа Pentium II и выше. Желательно иметь мышь. Требуется, по меньшей мере, 32 Мбайт оперативной памяти и 10 Мбайт свободного пространства на жестком диске (винчестере).

Запуск системы GPSSW можно выполнить несколькими способами.

Первый способ: дважды щелкните мышью по файлу GPSSW. exe в каталоге, в котором была установлена система. Появится главное окно системы GPSS World.

Второй способ:

•  щелкните мышью по кнопке Пуск ОС Windows. Появится всплывающее меню;

•  щелкните по пункту Программы во всплывающем меню. Появится

следующее всплывающее меню.

•  щелкните по пункту GPSS World Student Version. Откроется главное окно системы GPSSW (рис.4.24)


Рис. 4.24. Главное окно системы GPSS/ World

В первой строке (строке заголовка) главного окна указано название окна -GPSS World. Во второй строке располагаются пункты главного меню, в третьей – стандартная панель инструментов. Нижняя строка главного окна – строка состо­яния системы, в которой дается краткое описание выделенной команды.

Система GPSSW имеет иерархическую систему меню, состоящую из главного меню, систем выпадающих и всплывающих меню (подменю).

Главное меню служит для вызова выпадающих меню. Набор пунктов главного меню располагается во второй строке главного окна системы GPSS.

Выпадающее меню предназначено для вызова всплывающего меню, диалогово­го окна или соответствующей команды. Выпадающее меню располагается под со­ответствующим пунктом главного меню.

Всплывающее меню позволяет вызывать другое всплывающее меню, диалоговое окно или соответствующую команду. Всплывающее меню располагается справа от выбранного пункта выпадающего меню. Для выбора пункта всплывающего меню достаточно щелкнуть по нему левой кнопкой мыши.

4.5.2 Создание новой модели и ее запуск

Для создания новой модели необходимо выбрать пункт File главного окна. Далее выбираем пункт New. Раскрывается окно, показанное на рис. 4.25.

Рис. 4.25. Окно «Новый документ»

Выбрав пункт Model, получим раскрывшееся окно Untitled Model, в котором набираем текст GPSS – программы (если необходимо выполнить ранее созданную программу, нужно открыть соответствующий файл File -> open). На рис. 4.26 приведен текст простейшей программы, содержащей два сегмента: основной сегмент и сегмент, задающий время моделирования.

RMULT 221

EXPON1 FUNCTION RN1,C24 EXPONENTIAL DISTRIBUTION

0,0/.100,.104/.200,.222/.300,.355/.400,.509/.500,.690/.600,.915/.700,1.200/.750,1.380/.800,1.600/

.840,1.830/.880,2.120/.900,2.300/.920,2.520/.940,2.810/.950,2.990/.960,3.200/.970,3.500/.980,3.900/

.990,4.600/.995,5.300/.998,6.200/.999,7/1,8

GENERATE 2000,FN$EXPON1

Lab1 QUEUE LINE

SEIZE COMP

DEPART LINE

ADVANCE 1500,FN$EXPON1

RELEASE COMP

TERMINATE

GENERATE 500000

TERMINATE 1

start 1

Рис.4.26. Простейшая GPSS – программа

Для запуска программы следует выполнить команду Command главного окна (рис. 4.24). В выпавшем подменю выполняем пункт Create Simulation. Производится компиляция программы, а при наличии в ней управляющего оператора Start программа выполняется и выдается стандартный отчет о ее выполнении.

4.5.3. Прогон модели и стандартный отчет о выполнении программы

После того как исходная программа модели введена с клавиатуры или считана с диска и оттранслирована, в памяти ПК создалась текущая модель, и теперь можно выполнить ее прогон. Для этого в командную строку необходимо ввести управляющий оператор START (если он отсутствует в тексте программы), указав в поле A соответствующее начальное значение счетчика завершений. После нажатия клавиши Enter оператор START переносится в окно данных и прогон модели начинается. Об этом сигнализирует сообщение

Simulation in Progress 

Если процесс моделирования длится достаточно долго, за ним можно наблюдать, раскрывая последовательно окна: Window -> Simulation Window и далее какое – либо из интересующих нас окон. Вид окна Block Window, полученный при выполнении программы, представленной выше, приведен на рис. 4.27.

Рис. 4.27. Окно « Block Window»

Если процесс моделирования длится слишком долго, его можно прервать, нажав клавишу HALT.

По результатам проведённого моделирования система GPSS выдаёт отчёт (файл статистики), содержащий следующую информацию:

1.  Дату и время проведения эксперимента.

2.  Время начала и окончания моделирования.

3.  Информацию об основных блоках (тип, число входов, текущее содержание).

4.  Информацию об устройствах, очередях, логических ключах.

Файл статистики

Строка, содержащая основную информацию о ре­зультатах работы модели:

START TIME END TIME BLOCKS FACILITIES STORAGES

0. 1 0

Элементы статистики, представленные в этой строке, имеют сле­дующее содержание:

START TIME – абсолютное системное время в момент начала мо­делирования. Оно эквивалентно абсолютному системному времени, после последнего применения операторов RESET или CLEAR;

END TIME – абсолютное время, когда счетчик завершений при­нимает значение 0;

BLOCKS – количество блоков, использованных в текущей моде­ли, к моменту завершения моделирования;

FACILITIES – количество устройств, использованных в модели, к моменту завершения моделирования;

STORAGES – количество многоканальных устройств, использо­ванных в текущей модели к моменту завершения моделирования.

Затем в файле статистики следует информация об именах, кото­рые просматривает GPSS/World в ходе моделирования. Необходимость в по­лучении такой информации устанавливается в файле SETTINGS. GPS. Ин­формация об именах имеет для нашей программы следующий вид:

NAME VALUE

COMP 10008.000

EXPON1 10006.000

LAB1 2.000

LINE 10007.000

Поле NAME отмечает имена, содержащиеся в программе модели.

Поле VALUE определяет числовое значение, соответствующее име­ни. Система устанавливает начальный номер равным 10000, если только в файле SETTINGS. GPS не указан другой номер.

Далее приводятся сведения о количестве транзактов, прошедших через каждый из блоков, в процессе выполнения программы:

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE

LAB1 2 QUEUE

3 SEIZE

4 DEPART

5 ADVANCE

6 RELEASE

7 TERMINATE

8 GENERATE 1 0 0

9 TERMINATE 1 0 0

Поле LABEL определяет номер строки в рабочей модели, связанный с блоком GPSS/World.

Поле LOC определяет имя или номер этого блока.

Поле BLOCK TYPE определяет тип блока GPSS/World.

Поле ENTRY COUNT определяет количество транзактов, вошедших в данный блок, после последнего выполнения блоков RESET или CLEAR, или с начала работы программы.

Поле CURRENT COUNT определяет количество транзактов, находя­щихся в данном блоке в конце моделирования.

Поле RETRY определяет количество транзактов, ожидающих специ­альных условий, зависящих от состояния данного блока.

Затем в файле статистики указывается информация об устройствах, используемых при моделировании:

FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

COMP2

QUEUE MAX CONT. ENTRY ENTRY(0) AVE. CONT. AVE. TIME AVE.(-0) RETRY

LINE 98..900 0

Поле FACILITY определяет имя или номер устройств, используемых при моделировании.

Поле ENTRIES определяет количество транзактов, прошедших через данное устройство за время моделирования.

Поле UTIL. определяет коэффициент использования.

Поле AVE. TIME показывает среднее время на одно занятие транзактом.

Если в модели использовались объекты типа "многоканальное ус­тройство", то далее в файле статистики идет информация об этих объ­ектах:

Поле STORAGE определяет имя или номер объекта типа "многока­нальное устройство".

Поле CAP. определяет емкость многоканального устройства, за­данную оператором STORAGE.

Поле REMAIN определяет число единиц свободной емкости много­канального устройства в конце периода моделирования.

Поле MIN определяет минимальное количество используемой ем­кости многоканального устройства за период моделирования.

Поле MAX определяет максимальное количество используемой ем­кости многоканального устройства за период моделирования.

Поле ENTRIES определяет количество входов в многоканальное устройство за период моделирования.

Поле AVL. определяет состояние готовности многоканального ус­тройства в конце периода моделирования. 1 – означает, что в многока­нальном устройстве хотя бы один канал свободен, 0 – означает, что многоканальное устройство занято.

Поле AVE. C определяет среднее значение занятой емкости за пе­риод моделирования.

Поле UTIL. определяет часть периода моделирования в течение которого многоканальное устройство использовалось.

Поле RETRY определяет количество сообщений, ожидающих специ­альных условий, зависящих от состояния многоканального устройства.

Поле DELAY определяет количество сообщений, ожидающих возмож­ности входа в блок ENTER.

Далее идут сведения о статистических таблицах, если они использовались в программе.

Поле MEAN определяет среднее значение табулируемой величины в этой таблице.

Поле STD. DEV. определяет среднеквадратическое отклонение величины.

Поле RANGE определяет границы частотных интервалов.

Поле FREQUENCY определяет частоты попадания наблюдений в интервалы.

Поле CUM.% определяет накопленные частоты в процентах.

И, наконец, следует информация о цепи будущих событий:

FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE

3

20

2

2

244

Поле FEC XN определяет номер сообщения в списке будущих событий.

Поле PRI определяет приоритет сообщения.

Поле BDT определяет момент абсолютного системного времени, когда сообщение покинет список будущих событий.

Поле CURRENT определяет номер блока, в котором сообщение на­ходится в конце моделирования.

Поле NEXT определяет номер следующего блока, в который должно войти сообщение.

Поле PARAMETER определяет имена или номера параметров сообще­ний.

0 – означает, что у сообщения нет параметров.

Поле VALUE определяет значение параметра.

Графическое представление результатов моделирования

При желании можно воспользоваться графическими средствами отображения результатов моделирования. Одним из таких средств являются гистограммы, которые можно строить, если в программе используются оператор TABLE или QTABLE. Для построения гистограммы необходимо выбрать в главном меню команды Window->Simulation Window->Table Window. После этого необходимо выбрать таблицу, по данным которой будет построена гистограмма:

Рис. 4.28. Окно «Выбор таблицы для построения гистограммы»

Кроме гистограмм можно использовать графики, которые показывают количество транзактов, пришедших в систему за период моделирования либо находящихся в очереди или устройстве системы. Для создания графиков необходимо выбрать команды в меню Window->Simulation Window->Plot Window, появится окно определения параметров графика (рис. 4.29):

Рис. 4.29. Окно «Определение параметров графика»

После заполнения данного окна выполняется построение соответствующего графика.

5.  Некоторые приемы программирования в системе GPSS, используемые при выполнении курсовых и лабораторных работ

. Отказ заявке в обслуживании при отсутствии свободных мест в очереди

Если число мест в очереди ограничено, то может оказаться, что очередная заявка приходит в момент, когда вся очередь занята. Такой заявке отказывается в обслуживании, и она покидает систему. При аналитическом моделировании вероятность данного события рассчитывается весьма просто. Не составляет особого труда рассчитать эту вероятность и при имитационном моделировании. Для этого используется следующие приемы.

Очередь представляется многоканальным устройством, емкость которого равна числу мест в очереди. Транзакт, поступивший в систему, занимает один канал в этом устройстве, если устройство не занято полностью. В противном случае транзакт покидает систему. Дальнейшее продвижение транзакта по системе осуществляется стандартным образом: поступление в прибор или многоканальное устройство для обслуживания, освобождение очереди – многоканального устройства и т. д.

Можно ставить транзакт в очередь обычным способом и проверять число занятых мест с помощью системного атрибута Q$LINE, где LINE – идентификатор очереди.

Таким образом, в программе, реализующей данную ситуацию, должны содержаться описанные выше элементы. Проверка наличия свободных мест в многоканальном устройстве (очереди) может осуществляться разными способами.

5.1.1. Использование блока TEST

Сравнивается число занятых мест в очереди с некоторым допустимым значением. Фрагмент GPSS – программы может иметь следующий вид:

TEST L Q$LINE,4,LAB LAB – адрес, по которому

QUEUE LINE отправляется транзакт, если число

транзактов в очереди не меньше

. четырех

LAB TERMINATE

Чтобы оценить вероятность отказа заявке в обслуживании, достаточно разделить число транзактов, прошедших через блок LAB, на общее число транзактов, прошедших через систему.

Возможно построение других конструкций GPSS – программы с использованием блока TEST.

5.1.2. Использование блока TRANSFER в режиме BOTH

Транзакт, входящий в блок TRANSFER в режиме BOTH, немедленно пытается войти в блок, имя которого указано в операнде В. Если вход невозможен, транзакт входит в блок, имя которого указано в операнде С. Если в операнде В не указывать никакого имени, то подразумевается следующий по порядку блок. Если следующий по порядку блок – многоканальное устройство – очередь занята (нет свободных мест), то транзакт покидает систему не обслуженным. Таким образом имеет место следующая конструкция программы.

LINE STORAGE 4

. .

TRANSFER BOTH,,LAB

.

.LAB TERMINATE

Возможны и другие способы решения рассмотренной задачи.

5.2. Завершение конца обслуживания

Время моделирования чаще всего задается с помощью таймера – транзакта. При этом в указанное время таймер-транзакт входит в систему и тут же покидает ее, сбрасывая счетчик завершений в нуль. Процесс моделирования прекращается. Такой подход возможен не всегда. В частности, это не приемлемо при моделировании реальных систем, связанных с обслуживанием клиентов. Клиент, пришедший в парикмахерскую, не покинет ее обслуженным не до конца. Более того, парикмахерская не закроется, пока не будут обслужены все клиенты, вошедшие в нее до момента закрытия. В GPSS – программе процедура завершения обслуживания реализуется следующим образом.

В заданное время таймер – транзакт входит в систему. Он сразу же устанавливает в 1 логический переключатель, который блокирует поступление заявок в систему (с помощью блока GATE). Затем таймер – транзакт задерживается в системе с помощью блока TEST до тех пор, пока количество заявок, поступивших на обслуживание, не сравняется с числом обслуженных заявок, т. е. пока не будет обслужена вся очередь. Описанной процедуре может соответствовать такая конструкция GPSS – программы:

Сегмент 1 Сегмент 2

.

GENERATE 250,50 GENERATE

GATE LR LOCK LOGIC S LOCK

L1 QUEUE LINE TEST E N$L1,N$L2

. TERMINATE 1

L2 TERMINATE

5.3. Выбор из группы обслуживающих приборов первого свободного

Если все обслуживающие приборы равноценные, то их удобно описывать с помощью многоканального устройства. В этом случае вопросы поиска свободного канала, постановки заявок в очередь и т. д. решаются автоматически управляющей системой без вмешательства исследователя. Если же приборы не равноценные, таким приемом пользоваться нельзя. Поэтому возникает необходимость в решении таких задач, как поиск свободного прибора из группы или поиск прибора, очередь к которому минимальна, если все приборы заняты.

Наиболее простое решение поставленной задачи достигается с помощью блока SELECT и использования параметров транзактов.

Блок SELECT может использоваться в двух режимах:

В режиме отношения и в режиме MIN/MAX .

Работа оператора в режиме отношения

Структура оператора: SELECT X A,B,C,D,E,F

Значения операндов:

Операнд

Значение

Значение по

умолчанию

Е

Групповое имя стандартного числового атрибута

Ошибка

ВиС

Наименьший и наибольший номера (имена) из множества членов просматриваемой группы

Ошибка

D

Значение, с которым должен сравниваться атрибут, указанный в операнде Е

Ошибка

X

Вспомогательный операнд - оператор отношения, определяющий способ сравнения СЧА, указанного операндом Е и значением операнда D. X может принимать следующие значения:

Ошибка

Оператор отношения

Интерпретация в смысле блока SELECT

G

Больше ли Е, чем D?

GE

Больше или равны Е и D?

Е

Равны ли Е и D?

NE

Точно ли не равны Е и D?

LE

Меньше или равны Е и D?

L

Меньше ли Е, чем D?

А

Имя или номер параметра, в который записывается номер члена группы, отвечающего установленному условию атрибута

Ошибка

F

Необязательный операнд; указывает номер блока, в который передается транзакт, если ни один член группы не отвечает установленному условию

Транзакт переходит в следующий по порядку блок

Примеры использования оператора:

1) SELECT Е Pro,1,1, О, F; при поступлении транзакта в этот блок проверяется равен ли нулю стандартный числовой атрибут F (Facility - прибор) устройства с номером 1, т. е. свободно ли устройство; если устройство свободно, то его номер заносится в параметр с именем Pro данного транзакта и транзакт переходит к следующему блоку; в противном случае номер устройства не заносится в параметр транзакта.

Далее в тексте программы следует постановка транзакта в очередь и занятие прибора с номером, занесенным в параметр с именем Pro данного транзакта

. . .

QUEUE P$Pro

SEIZE P$Pro

. . .

2) SELECT L Packet, 2,6,25, SM, EXIT2;

проверяется меньше ли 25 стандартный числовой атрибут SM (Storage) устройств с номерами от 2 до 6, т. е. меньше ли 25 максимально занятая емкость многоканального устройства: номер первого многоканального устройства, для которого выполняется заданное условие, заносится в параметр с именем Packet данного транзакта, и транзакт переходит к следующему блоку; в противном случае, если ни для одного из проверяемых многоканальных устройств не выполняется заданное условие, транзакт переходит к блоку с именем ЕХ1Т2.

Если в примере 1) не найдено требуемое устройство (прибор), транзакт передается в блок с именем ЕХ1Т2 , в котором происходит поиск наименьшей очереди (режим MIN/MAX)

Работа оператора SELECT в режиме MIN/MAX.

SELECT X А, В, С„ Е

Значения операндов:

Операнд

Значение

Значение

по

умолчанию

Е

Групповое имя стандартного числового атрибута

Ошибка

ВиС

Нижняя и верхняя граница номеров членов соответствующей группы

Ошибка

А

Номер параметра, значением которого становится номер соответствующего элемента, имеющего минимальное или максимальное значение атрибута

Ошибка

X

Вспомогательный операнд. Он является оператором MIN или МАХ в зависимости от того, определяется ли элемент, имеющий минимальное или максимальное значение атрибута

Ошибка

Примеры: SELECT MIN 6, 5, 8„ FR

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9