Моделирование процесса контроля и настройки телевизоров
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
ьная, или функциональная схема позволяет в общих чертах определить будущий вид программной реализации, расставить акценты, выявить возможные сложные места (рисунок 2.1).
Рисунок 2.1 - Концептуальная схема процесса контроля и настройки телевизоров
В данной схеме телевизоры проходят стадию контроля, на которой отсеиваются телевизоры с браком. После замены неисправных блоков телевизоры отправляются на упаковку.
2.2 Модель системы (Q-схема)
Объекты GPSS подразделяются на 7 категорий и 14 типов и позволяют описать их взаимодействие сравнительно несложными наборами операций. Для разработки алгоритма и для формализации процессов поступления требований в систему применим структурную схему модели в символике Q-схем (рис.2.2), наглядно изображающую работу процесса передачи цифрового сигнала речи.
Рисунок 2.2 - Q-схема модели
И1 - источник данных 1
КЛ1 - ключ, в соответствии с которыми телевизор отправляется на повторную наладку
H1- очередь обработки
К1 - упаковка
3. Моделирование и анализ результатов моделирования
.1 Порядок работы программы
Построение алгоритма является последним шагом перед написанием программной реализации модели. Алгоритм отображает структуру программы в целом (рисунок 3.1).
Рисунок 3.1- План работы программы
3.2 Описание программной реализации модели на языке 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 [].
В поле А указывается время, которое определяет интервал между моментами генерации сообщений блоком GENERATE. В поле В задается модификатор, который изменяет значения интервала генерации сообщений по сравнению с интервалом, указанным в поле А. Задан модификатор-интервал, с помощью которого задается равномерный закон распределения времени между генерацией сообщений.QUEUE TYPE1- помещает транзакт в конец очереди. Формат: QUEU[E] А,В А - номер очереди (числовое или символьное имя очереди); В - число добавляемых к очереди элементов (по умолчанию 1). Увеличивает текущее содержимое очереди, указанной в поле А, на значение в поле В. Если поле В не определено, увеличивает содержимое очереди на единицу. Транзакт может находиться в двух различных очередях одновременно.
Работа с устройством.
ENTER KNTRSTYPE19,3
DEPART - удаляет транзакт из очереди. Формат: DEPA[RT] А,В А - номер (имя) очереди; В - число удаляемых из очереди элементов. Удаляет текущий транзакт из очереди, указанной в поле А, и уменьшает содержи-мое очереди на значение поля В. Транзакт может находиться одновременно в двух различных очередях.
Блок SEIZE имеет следующий формат: SEIZE . Свободный блок SEIZE позволяет вошедшему в него сообщению занять указанное устройство. Блок SEIZE задерживает сообщение, если устройство занято или находится в состоянии недоступности. В поле А задается номер занимаемого устройства. В нашем случае говорится о первом устройстве - устройстве погрузки изделий в филиале А.
Блок ADVANCE имеет следующий формат записи: ADVANCE . Интервал изменения среднего времени задержки может быть задан константой, значение которой не должно превосходить среднего времени задержки, вычисленного для данного сообщения. Эта константа определяет интервал, в котором времена задержки распределены равномерно. Все времена задержки выражаются целыми числами. Любое из (2В+1) целых чисел, заключенных в интервале (А-В, А+В), будет выбираться с вероятностью 1/(2B+1). В нашем случае мы в течении 20 единиц времени осуществляем погрузку изделий. Константа, определяющая интервал времени задержки, не должна превосходить среднего времени задержки, в противном случае может быть получено отрицательное время задержки в блоке ADVANCE. Отрицательное значение задержки всегда считается ошибкой.
LEAVE KNTRS
LEAVE - выводит транзакт из памяти. Формат: LEAV[E] А,В А - номер памяти; В - число освобождаемых единиц, памяти (по умолчанию 1). Транзакт удаляется из памяти, имя (номер) которой указано в поле А. Число осво-бождаемых при этом единиц памяти определяется полем В.
TRANSFER 0.15,SERVICEABLE,BROKEN
TRANSFER - изменяет движение транзакта в модели. Формат: TRAN[SFER] А,В,С,D А - ре