Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Описание программной реализации имитационной модели сети
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; просмотров: 105; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.137.181.52 (0.025 с.) |