Моделирование процесса контроля и настройки телевизоров

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

ьная, или функциональная схема позволяет в общих чертах определить будущий вид программной реализации, расставить акценты, выявить возможные сложные места (рисунок 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 А - ре