Разделы

Авто
Бизнес
Болезни
Дом
Защита
Здоровье
Интернет
Компьютеры
Медицина
Науки
Обучение
Общество
Питание
Политика
Производство
Промышленность
Спорт
Техника
Экономика

SELECT A,B,C,D,E,F

Выбор элементов по их состояниям

Лекция №6

 

 

Транзакт ,входящий в систему обслуживания с несколькими приборами и очередями в простейшем случае осуществляет одно из двух действий :

1. Если один из приборов свободен ,то транзакт его занимает .

2.Если все приборы заняты ,то транзакт поступает в наиболее короткую очередь .Итак ,транзакт должен выбрать очередь .

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

Блок SELECT используется для просмотра множества элементов определенной группы с целью выяснения удовлетворяет ли хотя бы один элемент этого множества задаваемому условию .При входе транзакта в блок SELECT выполняется просмотр состояния элементов заданной группы .Элементы группы пронумерованы(например,с 5 по 9) и просматриваются в порядке возрастания номера на предмет удовлетворения условию .Если найден элемент ,удовлетворяющий условию ,то просмотр прекращается и номер элемента запоминается .

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

B,С - задают наименьший и наибольший номера из множества членов просматриваемой группы

E - групповое имя стандартного числового атрибута(сокращенно СЧА)

F - для приборов

Q - для очередей

D - значение с которым должен сравниваться СЧА.

F - необязательный операнд ;здесь указывается имя блока, в который поступает транзакт, если ни один из элементов множества не отвечает заданному условию и при этом не изменяется значение параметра транзакта.Если операнд F не используется и ни один из элементов множества не отвечает заданному условию, то значением параметра транзакта становится ноль, и транзакт переходит из блока SELECT в следующий блок.

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

G - больше

GE - больше либо равно

E - равно

NE - не равно

LE - меньше или равно

L - меньше

Приведем несколько примеров, где может использоваться блок SELECT :

Пр.:Просмотреть приборы 1,2,3 для определения ,который из них (первый по просмотру) свободен (то есть необходимо определить есть ли прибор ,для которого СЧА F равен 0) .

SELECT E 7,1,3,0,F

Пусть F2=0 ,тогда номер 2-го устройства становится значением 7-го параметра. Если все устройства заняты ,то параметр 7 получит значение 0 .

 

Пр.:Просмотреть многоканальные устройства с 5-го по 8-ое для определения ,есть ли хотя бы одно устройство в данное время ,у которого нагрузка ниже 25%(то есть надо определить ,есть ли хотя бы одно устройство ,СЧА которого SR меньше 250) .

SELECT L P3,5,8,250,SR

Здесь P3 используется для косвенной адресации . Пусть P3 равно 6 ,тогда 6-ой параметр получит значение номера устройства ,у которого загруженность меньше 25%.

 

Пр.:Просмотреть очереди с 13-й по 17-ую для определения номера очереди, у которой среднее время нахождения в очереди больше 3( то есть надо определить, есть ли хотя бы одна очередь, СЧА QX которой был бы больше 3) .

SELECT G 5,13,17,3,QX,TR

TR - метка блока

 

Существует разновидность блока SELECT. Этот блок может работать в режиме поиска элемента, у которого значение СЧА является минимальным или максимальным. Тогда операнд D отсутствует.

Вместо операнда X пишется MIN или MAX. Операнды A,B,C и E имеют тот же самый смысл, что и в общем случае, но в результате выполнения блока SELECT параметр A получит значение элемента, имеющего минимальное или максимальное значение параметра .

Пр.:Определить какая из очередей имеет наименьшее значение текущего содержимого.

SELECT MIN 6,5,8,,Q

 

Пр.:Определить какой из приборов имеет наименьшую нагрузку .

SELECT MAX 5,9,14,,FR

 

Пример № 6.1 :Есть три устройства, и у каждого из устройств есть своя очередь. Транзакт должен занять свободный прибор, если свободного прибора нет, то транзакт должен поступить в минимальную очередь.

 

 

  SELECT E 1,1,3,0,F,TR
L QUEUE P1
  SEIZE P1
DEPART P1
  ADVANCE FN$AB
  RELEASE P1
  TRANSFER ,D
TR SELECT MIN 1,1,3,,Q
  TRANSFER ,L

 

Дата публикации:2014-01-23

Просмотров:154

Вернуться в оглавление:

Комментария пока нет...


Имя* (по-русски):
Почта* (e-mail):Не публикуется
Ответить (до 1000 символов):







...

 

2012-2017 lekcion.ru. За поставленную ссылку спасибо.