Разделы сайта

Описание программной реализации модели на языке GPSS/PC

В соответствии с приведённым выше планом была реализована программа на языке GPSS (полная реализация приведена в Приложении А).

Выше была представлена программа, позволяющая смоделировать работу по сбору агрегатов в течение 8 часов. Опишем программу моделирования системы, созданную на основе блок-схемы моделирующего алгоритма, Q-схемы модели системы, а также описания работы в задании.

Оператор SIMULATE предназначен для инициализации процесса моделирования (в некоторых версиях не обязателен).

Выделяем память для приборов.

KNTRS STORAGE 2

PRIBOR STORAGE 1STORAGE 1- определяет емкость памяти. Форматы: num STOR[AGE] А num - номер памяти.А - емкость. STOR[AGE]A,B А - память (S) (стандартный числовой атрибут) В - емкость памяти (по умолчанию 32767). Устанавливает определенную емкость памяти. Если емкость не определена, то значением по умолчанию является 32767.

Затем мы генерируем транзакты (детали) которые в дальнейшем будут обслуживать филиалы А, В и С.5.5,2

В программе используется формат GENERATE [<A>],[<B>].

В поле А указывается время, которое определяет интервал между моментами генерации сообщений блоком GENERATE. В поле В задается модификатор, который изменяет значения интервала генерации сообщений по сравнению с интервалом, указанным в поле А. Задан модификатор-интервал, с помощью которого задается равномерный закон распределения времени между генерацией сообщений.QUEUE TYPE1- помещает транзакт в конец очереди. Формат: QUEU[E] А,В А - номер очереди (числовое или символьное имя очереди); В - число добавляемых к очереди элементов (по умолчанию 1). Увеличивает текущее содержимое очереди, указанной в поле А, на значение в поле В. Если поле В не определено, увеличивает содержимое очереди на единицу. Транзакт может находиться в двух различных очередях одновременно.

Работа с устройством.

ENTER KNTRSTYPE19,3

DEPART - удаляет транзакт из очереди. Формат: DEPA[RT] А,В А - номер (имя) очереди; В - число удаляемых из очереди элементов. Удаляет текущий транзакт из очереди, указанной в поле А, и уменьшает содержи-мое очереди на значение поля В. Транзакт может находиться одновременно в двух различных очередях.

Блок SEIZE имеет следующий формат: SEIZE <A>. Операнд А может быть именем, положительным целым, СЧА или СЧА*<параметр>. Свободный блок SEIZE позволяет вошедшему в него сообщению занять указанное устройство. Блок SEIZE задерживает сообщение, если устройство занято или находится в состоянии недоступности. В поле А задается номер занимаемого устройства. В нашем случае говорится о первом устройстве - устройстве погрузки изделий в филиале А.

Блок ADVANCE имеет следующий формат записи: ADVANCE <A>, [<B>]. Блок ADVANCE задерживает продвижение сообщения на заданный период времени. В поле А задается среднее время пребывания сообщения в блоке ADVANCE. В поле В указывается способ модификации среднего значения, заданного в поле А. Операнд В может быть именем, положительным целым числом, СЧА или СЧА*<параметр>. Интервал изменения среднего времени задержки может быть задан константой, значение которой не должно превосходить среднего времени задержки, вычисленного для данного сообщения. Эта константа определяет интервал, в котором времена задержки распределены равномерно. Все времена задержки выражаются целыми числами. Любое из (2В+1) целых чисел, заключенных в интервале (А-В, А+В), будет выбираться с вероятностью 1/(2B+1). В нашем случае мы в течении 20 единиц времени осуществляем погрузку изделий. Константа, определяющая интервал времени задержки, не должна превосходить среднего времени задержки, в противном случае может быть получено отрицательное время задержки в блоке ADVANCE. Отрицательное значение задержки всегда считается ошибкой.

LEAVE KNTRS

LEAVE - выводит транзакт из памяти. Формат: LEAV[E] А,В А - номер памяти; В - число освобождаемых единиц, памяти (по умолчанию 1). Транзакт удаляется из памяти, имя (номер) которой указано в поле А. Число осво-бождаемых при этом единиц памяти определяется полем В.

TRANSFER 0.15,SERVICEABLE,BROKEN

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 2

Самое читаемое:

Конструкторское проектирование усилителя мощности звуковой частоты
Разрабатываемое изделие - стереоусилтель УМ55-101С, далее просто стереоусилитель, предназначено для усиления сигнала звуковой частоты. Может агрегатироваться сразличными видами акустических систем, с максимальной выходной мощностью не менее 60 Вт на канал. Изделие может эксплуатироваться в условиях категории исполнения УХЛ 4.2. ...

www.techstages.ru : Все права защищены! 2019