Описание программной реализации имитационной модели сети 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Описание программной реализации имитационной модели сети



2.3.1 Программная модель участка травления

 

STORAGE – Объем памяти устанавливается равным 20, эта память представляет собой ванны для одновременного травления 20 листов.

TABLE – Определение таблицы WeitTime, с помощью которой будет устанавливаться гистограмма длительности ожидания рулонов перед прокаткой. Перед выходом транзакта из участка прокатки значение его СЧА QT представляющего длительность ожидания рулона перед прокаткой заносится в таблицу. Это число представляет период времени, который начинается с момента занятия рулоном очереди к прокатному стану, и продолжается до момента начала прокатки рулона.

QTABLE – Данный блок определяет таблицу WeitArt, с помощью которойв процессе прогона модели формируется гистограмма числа рулонов в очереди на прокатку в течение времени моделирования.

GENERATE – Транзакты представляют собой листы-заготовки металла, поступающие каждые 1,2 мин из цеха горячей прокатки. Для определения интервала между транзактами вызывается подпрограмма D[T(m)], которая рассчитывает его как случайную величину, распределенную по закону Пуассона и определяет момент поступления транзакта в следующий по порядку блок. До этого момента времени транзакт помещается в список будущих событий (СБС). Когда этот момент времени становится текущим, транзакт сразу же направляется в блок QUEUE, а блок GENERATE тут же генерирует следующий транзакт, также помещаемый в СБС.

QUEUE – Блок ОЧЕРЕДЬ с именем Ocher1 при входе транзакта регистрирует момент времени постановки транзакта (листа) в очередь на травление.

ENTER – Блок ВОЙТИ в память STORAGE с меткой Travlen регистрирует вход транзакта в многоканальное устройство для имитации операции травления.

DEPART – Блок ПОКИНУТЬ очередь 1 регистрирует момент времени окончания ожидания транзактом операции травления.

ADVANCE – Блок ЗАДЕРЖАТЬ помещает транзакт на время операции травления в СБС. Для определения длительности операции вызывается подпрограмма WORK[K(1,J)], которая рассчитывает длительность травления как случайную величину по равномерному закону распределения в интервале 18…26 мин.

LEAVE – Блок ВЫЙТИ регистрирует момент времени выхода транзакта из участка травления.

 

2.3.2 Программная модель участка сварки и намотки

 

ADOPT – Блок ADOPT присваивает всем прошедшим через него транзактам номер семейства, например 2000, что позволит в дальнейшем объединять несколько транзактов одного семейства в один транзакт с помощью блока ASSEMBLE.

QUEUE - Блок ОЧЕРЕДЬ с именем Ocher2 при входе транзакта регистрирует момент времени постановки транзакта (листа) в очередь на сварку.

TRANSFER ALL,Can1,Can3,6 – Блок ПЕРЕДАТЬ в режиме ВСЕ производит передачу транзакта в свободное из трех место сварки Can1…Can3. Если все места сварки заняты, то транзакт остается в блоке TRANSFER до тех пор, пока не освободится хотя бы одно место сварки.

SEIZE – Блок ЗАНЯТЬ с именем Svarka1 и меткой Can1 при поступлении в него транзакта проверяет, свободно ли место сварки 1, если оно свободно, то

занимает его с регистрацией момента времени начала обслуживания и уведомлением об этом блока RELEASE с именем Svarka1, а если оно занято, то ставит транзакт в очередь к нему.

DEPART - Блок ПОКИНУТЬ очередь с именем Ocher2 регистрирует момент времени окончания ожидания транзактом операции сварки.

ADVANCE - Блок ЗАДЕРЖАТЬ помещает транзакт на время операции сварки в СБС. Для определения длительности операции вызывается подпрограмма WORK[K(2,1)], которая рассчитывает длительность сварки как случайную величину по нормальному закону распределения с математическим ожиданием равным 2,4 мин и средним квадратичным отклонением равным 0,4 мин.

RELEASE – Блок ОСВОБОДИТЬ с именем Svarka1 при входе в него транзакта регистрирует момент окончания сварки и уведомляет об этом блок SEIZE с именем Svarka1.

ASSEMBLE – Блок ОБЬЕДИНИТЬ собирает 5 транзактов семейства 2000, ожидая их, и уничтожает четыре из них, этим имитируется соединение пяти листов в полосу.

TRANSFER - Блок ПЕРЕДАТЬ в режиме безусловного перехода производит передачу транзакта по метке Perexod в канал намотки полос на барабан.

SEIZE – Блок ЗАНЯТЬ с именем Svarka2 и меткой Can2 при поступлении в него транзакта проверяет, свободно ли место сварки 2, если оно свободно, то

занимает его с регистрацией момента времени начала обслуживания и уведомлением об этом блока RELEASE с именем Svarka2, а если оно занято, то ставит транзакт в очередь к нему.

DEPART - Блок ПОКИНУТЬ очередь с именем Ocher2 регистрирует момент времени окончания ожидания транзактом операции сварки.

ADVANCE - Блок ЗАДЕРЖАТЬ помещает транзакт на время операции сварки в СБС. Для определения длительности операции вызывается подпрограмма WORK[K(2,2)], которая рассчитывает длительность сварки как случайную величину по нормальному закону распределения с математическим ожиданием равным 2,4 мин и средним квадратичным отклонением равным 0,4 мин.

RELEASE – Блок ОСВОБОДИТЬ с именем Svarka2 при входе в него транзакта регистрирует момент окончания сварки и уведомляет об этом блок SEIZE с именем Svarka2.

ASSEMBLE – Блок ОБЬЕДИНИТЬ собирает 5 транзактов семейства 2000, ожидая их, и уничтожает четыре из них, этим имитируется соединение пяти листов в полосу.

TRANSFER - Блок ПЕРЕДАТЬ в режиме безусловного перехода производит передачу транзакта по метке Perexod в канал намотки полос на барабан.

SEIZE – Блок ЗАНЯТЬ с именем Svarka3 и меткой Can3 при поступлении в него транзакта проверяет, свободно ли место сварки 3, если оно свободно, то

занимает его с регистрацией момента времени начала обслуживания и уведомлением об этом блока RELEASE с именем Svarka3, а если оно занято, то ставит транзакт в очередь к нему.

DEPART - Блок ПОКИНУТЬ очередь с именем Ocher2 регистрирует момент времени окончания ожидания транзактом операции сварки.

ADVANCE - Блок ЗАДЕРЖАТЬ помещает транзакт на время операции сварки в СБС. Для определения длительности операции вызывается подпрограмма WORK[K(2,3)], которая рассчитывает длительность сварки как случайную величину по нормальному закону распределения с математическим ожиданием равным 2,4 мин и средним квадратичным отклонением равным 0,4 мин.

RELEASE – Блок ОСВОБОДИТЬ с именем Svarka3 при входе в него транзакта регистрирует момент окончания сварки и уведомляет об этом блок SEIZE с именем Svarka3.

ASSEMBLE – Блок ОБЬЕДИНИТЬ собирает 5 транзактов семейства 2000, ожидая их, и уничтожает четыре из них, этим имитируется соединение пяти листов в полосу.

SEIZE – Блок ЗАНЯТЬ с именем Namotka и меткой Perexod при поступлении в него транзакта проверяет, свободно ли место намотки, если оно свободно, то занимает его с регистрацией момента времени начала обслуживания и уведомлением об этом блока RELEASE с именем Namotka, а если оно занято, то ставит транзакт в очередь к нему.

ADVANCE - Блок ЗАДЕРЖАТЬ помещает транзакт на время операции намотки в СБС. Для определения длительности операции вызывается подпрограмма WORK[K(3,1)], которая рассчитывает длительность намотки как детерминированную величину.

RELEASE – Блок ОСВОБОДИТЬ с именем намотка при входе в него транзакта регистрирует момент окончания намотки и уведомляет об этом блок SEIZE с именем намотка.

 

2.3.3 Программная модель участка прокатки

 

QUEUE - Блок ОЧЕРЕДЬ с именем Ocher4 при входе транзакта регистрирует момент времени постановки транзакта (рулона) в очередь на прокатку.

SEIZE – Блок ЗАНЯТЬ с именем Prokatka при поступлении в него транзакта проверяет, свободно ли место прокатки, если оно свободно, то

занимает его с регистрацией момента времени начала обслуживания и уведомлением об этом блока RELEASE с именем Prokatka, а если оно занято, то ставит транзакт в очередь к нему.

DEPART - Блок ПОКИНУТЬ очередь с именем Ocher4 регистрирует момент времени окончания ожидания транзактом операции прокатки.

ADVANCE - Блок ЗАДЕРЖАТЬ помещает транзакт на время операции поркатки в СБС. Для определения длительности операции вызывается подпрограмма WORK[K(4,1)], которая рассчитывает длительность прокатки как случайную величину по нормальному закону распределения с математическим ожиданием равным 5,4 мин и средним квадратичным отклонением равным 1,4 мин.

RELEASE – Блок ОСВОБОДИТЬ с именем Prokatka при входе в него транзакта регистрирует момент окончания прокатки и уведомляет об этом блок SEIZE с именем Prokatka.

TABULATE Блок ТАБУЛИРОВАТЬ с именем WeitTime при входе в него транзакта заполняет одноименную таблицу для получения времени ожидания прокатки.

 

2.3.4 Программная модель участка отжига

 

QUEUE - Блок ОЧЕРЕДЬ с именем Ocher5 при входе транзакта регистрирует момент времени постановки транзакта (рулона) в очередь на отжиг. TRANSFER ALL,Kan1,Kan5,5 – Блок ПЕРЕДАТЬ в режиме ВСЕ производит передачу транзакта в свободное из пяти место отжига Kan1…Kan5. Если все места jn;buf заняты, то транзакт остается в блоке TRANSFER до тех пор, пока не освободится хотя бы одно место отжига.

SEIZE – Блок ЗАНЯТЬ с именем Otgig1 при поступлении в него транзакта проверяет, свободно ли место отжига, если оно свободно, то

занимает его с регистрацией момента времени начала обслуживания и уведомлением об этом блока RELEASE с именем Otgig1, а если оно занято, то ставит транзакт в очередь к нему.

DEPART - Блок ПОКИНУТЬ очередь с именем Ocher5 регистрирует момент времени окончания ожидания транзактом операции отжига.

ADVANCE - Блок ЗАДЕРЖАТЬ помещает транзакт на время операции отжига в СБС. Для определения длительности операции вызывается подпрограмма WORK[K(5,1)], которая рассчитывает длительность отжига как равномерно распределенную случайную величину в интервале 21…27 мин.

RELEASE – Блок ОСВОБОДИТЬ с именем Otgig1 при входе в него транзакта регистрирует момент окончания прокатки и уведомляет об этом блок SEIZE с именем Otgig1.

TRANSFER - Блок ПЕРЕДАТЬ в режиме безусловного перехода производит передачу транзакта по метке Out в на участок правки и раскроя.

SEIZE – Блок ЗАНЯТЬ с именем Otgig2 при поступлении в него транзакта проверяет, свободно ли место отжига, если оно свободно, то

занимает его с регистрацией момента времени начала обслуживания и уведомлением об этом блока RELEASE с именем Otgig2, а если оно занято, то ставит транзакт в очередь к нему.

DEPART - Блок ПОКИНУТЬ очередь с именем Ocher5 регистрирует момент времени окончания ожидания транзактом операции отжига.

ADVANCE - Блок ЗАДЕРЖАТЬ помещает транзакт на время операции отжига в СБС. Для определения длительности операции вызывается подпрограмма WORK[K(5,2)], которая рассчитывает длительность отжига как равномерно распределенную случайную величину в интервале 21…27 мин.

RELEASE – Блок ОСВОБОДИТЬ с именем Otgig2 при входе в него транзакта регистрирует момент окончания прокатки и уведомляет об этом блок SEIZE с именем Otgig2.

TRANSFER - Блок ПЕРЕДАТЬ в режиме безусловного перехода производит передачу транзакта по метке Out в на участок правки и раскроя.

SEIZE – Блок ЗАНЯТЬ с именем Otgig3 при поступлении в него транзакта проверяет, свободно ли место отжига, если оно свободно, то занимает его с регистрацией момента времени начала обслуживания и уведомлением об этом блока RELEASE с именем Otgig3, а если оно занято, то ставит транзакт в очередь к нему.

DEPART - Блок ПОКИНУТЬ очередь с именем Ocher5 регистрирует момент времени окончания ожидания транзактом операции отжига.

ADVANCE - Блок ЗАДЕРЖАТЬ помещает транзакт на время операции отжига в СБС. Для определения длительности операции вызывается подпрограмма WORK[K(5,3)], которая рассчитывает длительность отжига как равномерно распределенную случайную величину в интервале 21…27 мин.

RELEASE – Блок ОСВОБОДИТЬ с именем Otgig3 при входе в него транзакта регистрирует момент окончания прокатки и уведомляет об этом блок SEIZE с именем Otgig3.

TRANSFER - Блок ПЕРЕДАТЬ в режиме безусловного перехода производит передачу транзакта по метке Out в на участок правки и раскроя.

SEIZE – Блок ЗАНЯТЬ с именем Otgig4 при поступлении в него транзакта проверяет, свободно ли место отжига, если оно свободно, то занимает его с регистрацией момента времени начала обслуживания и уведомлением об этом блока RELEASE с именем Otgig4, а если оно занято, то ставит транзакт в очередь к нему.

DEPART - Блок ПОКИНУТЬ очередь с именем Ocher5 регистрирует момент времени окончания ожидания транзактом операции отжига.

ADVANCE - Блок ЗАДЕРЖАТЬ помещает транзакт на время операции отжига в СБС. Для определения длительности операции вызывается подпрограмма WORK[K(5,4)], которая рассчитывает длительность отжига как равномерно распределенную случайную величину в интервале 21…27 мин.

RELEASE – Блок ОСВОБОДИТЬ с именем Otgig4 при входе в него транзакта регистрирует момент окончания прокатки и уведомляет об этом блок SEIZE с именем Otgig4.

TRANSFER - Блок ПЕРЕДАТЬ в режиме безусловного перехода производит передачу транзакта по метке Out в на участок правки и раскроя.

SEIZE – Блок ЗАНЯТЬ с именем Otgig5 при поступлении в него транзакта проверяет, свободно ли место отжига, если оно свободно, то занимает его с регистрацией момента времени начала обслуживания и уведомлением об этом блока RELEASE с именем Otgig5, а если оно занято, то ставит транзакт в очередь к нему.

DEPART - Блок ПОКИНУТЬ очередь с именем Ocher5 регистрирует момент времени окончания ожидания транзактом операции отжига.

ADVANCE - Блок ЗАДЕРЖАТЬ помещает транзакт на время операции отжига в СБС. Для определения длительности операции вызывается подпрограмма WORK[K(5,5)], которая рассчитывает длительность отжига как равномерно распределенную случайную величину в интервале 21…27 мин.

RELEASE – Блок ОСВОБОДИТЬ с именем Otgig5 при входе в него транзакта регистрирует момент окончания прокатки и уведомляет об этом блок SEIZE с именем Otgig5.

 

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

 

QUEUE - Блок ОЧЕРЕДЬ с именем Ocher6 и меткой Out при входе транзакта регистрирует момент времени постановки транзакта (рулона) в очередь на правку и раскрой рулона.

SEIZE – Блок ЗАНЯТЬ с именем Pravka при поступлении в него транзакта проверяет, свободно ли место правки, если оно свободно, то занимает его с регистрацией момента времени начала обслуживания и уведомлением об этом блока RELEASE с именем Pravka, а если оно занято, то ставит транзакт в очередь к нему.

DEPART - Блок ПОКИНУТЬ очередь с именем Ocher6 регистрирует момент времени окончания ожидания транзактом операции правки.

ADVANCE - Блок ЗАДЕРЖАТЬ помещает транзакт на время операции Pravka в СБС. Для определения длительности операции вызывается подпрограмма WORK[K(6,1)], которая рассчитывает длительность правки и раскроя как случайную величину с показательным распределением и средней длительностью в 5 мин.

RELEASE – Блок ОСВОБОДИТЬ с именем Pravka при входе в него транзакта регистрирует момент окончания операций правки и раскроя и уведомляет об этом блок SEIZE с именем Pravka.

TERMINATE – Блок УНИЧТОЖИТЬ при входе в него транзакта ликвидирует его как структуру данных.

 



Поделиться:


Последнее изменение этой страницы: 2017-02-10; просмотров: 104; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.193.232 (0.038 с.)