Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УП_Моделир сист_Зиновьев.doc
Скачиваний:
6
Добавлен:
28.10.2018
Размер:
2.22 Mб
Скачать

6.3. Чтение данных из внешнего файла

Оператор GETLIST – читает данные из внешнего файла или с клавиатуры (данные во внешнем файле должны быть в свободном формате, с входными значениями, отделяемыми одним или более пробелами или написанными на разных строках).

Формат оператора GETLIST:

GETLIST FILE=(логическое имя файла),(list),…

где FILE – опция, определяющая логическое имя файла, из которого должны читаться входные данные, а list – список переменных, которым будут присвоены числовые значения.

Например, в GPSS/H-модели значение переменной &I, обозначающей количество станков в цехе, должно читаться из внешнего файла «IN». Этого можно добиться, записав в модели строку:

GETLIST FILE=IN,(&I)

6.4. Пример связи анимации с имитационной моделью

Для демонстрации связи анимации с имитационной моделью воспользуемся примером имитационного моделирования, приведенным в п. 4.5, и примером анимации в п. 5.6 данного учебного пособия.

Свяжем имитационную и анимационную модели технологического процесса изготовления деталей, причем так, чтобы входные данные вводились из внешнего файла, а результаты моделирования выводились на монитор компьютера.

Метод построения модели

Создадим файл входных параметров под именем data, используя текстовый редактор, например, оболочки NC5.0. Текст этого файла приведен ниже.

***********************************************************

28 * Интервалы поступления заготовок, мин

32 * Время движения заготовок до станков типа А, мин

10 * Отклонение от среднего времени, мин

63 * Средняя прод-ть обработки заготовки на ст. типа А, мин

9 * Отклонение от средней прод-ти, мин

12 * Среднее время движения до станка типа В, мин

5 * Отклонение от среднего времени, мин

55 * Средняя прод-ть обработки детали на станке типа В, мин

5 * Отклонение от средней прод-ти, мин

50 * Кол-во деталей, которые необходимо изготовить, шт.

***********************************************************

Изменим GPSS/H-модель в соответствии с заданными требованиями:

- для ввода входных параметров модели из внешнего файла используем GPSS/H-переменные (с утверждениями INTEGER и REAL) и оператор GETLIST;

- для перенаправления заготовок к свободному станку группы А добавим в имитационную модель «внутрь» многоканального устройства STA1 два прибора STAN1 и STAN2;

- для формирования файла управления анимацией воспользуемся блоком BPUTPIC совместно с управляющим оператором FILEDEF;

- для вывода результатов моделирования на монитор компьютера используем стандартные числовые атрибуты;

- в места, где требуется анимация операций, введем команды файла управления Student Proof Animation.

После ввода изменений сохраним файл как primer.gps. Измененная программа модели компьютерной имитации и анимации представлена ниже:

SIMULATE

ATF FILEDEF 'PRIMER.ATF'

REAL &POST,&TDSA,&OTDSA,&TOSA,&OTOSA

REAL &TDSB,&OTDSB,&TOSB,&OTOSB

INTEGER &NDET

GETLIST FILE=DATA,(&POST)

GETLIST FILE=DATA,(&TDSA)

GETLIST FILE=DATA,(&OTDSA)

GETLIST FILE=DATA,(&TOSA)

GETLIST FILE=DATA,(&OTOSA)

GETLIST FILE=DATA,(&TDSB)

GETLIST FILE=DATA,(&OTDSB)

GETLIST FILE=DATA,(&TOSB)

GETLIST FILE=DATA,(&OTOSB)

GETLIST FILE=DATA,(&NDET)

STORAGE S(STA1),2

GENERATE RVEXPO(1,&POST)

BPUTPIC FILE=ATF,LINES=3,AC1,XID1,XID1

TIME *.**

CREATE det *

PLACE * ON p1

ADVANCE RVNORM(3,&TDSA,&OTDSA)

QUEUE LINE1

ENTER STA1

DEPART LINE1

TRANSFER BOTH,,DRUG

SEIZE STAN1

BPUTPIC FILE=ATF,LINES=3,AC1,XID1,QA(LINE1)

TIME *.**

PLACE * 29 35

WRITE QUEUE1 Average queue=*.*

ADVANCE &TOSA,&OTOSA

RELEASE STAN1

LEAVE STA1

BPUTPIC FILE=ATF,LINES=5,AC1,XID1,XID1,FR(STAN1)/10,SR(STA1)/10

TIME *.**

SET * COLOR YELLOW

PLACE * ON p2

WRITE UTIL1 Util=*%

WRITE UTIL Util=*%

ADVANCE RVNORM(5,&TDSB,&OTDSB)

TRANSFER ,OSP

DRUG SEIZE STAN2

BPUTPIC FILE=ATF,LINES=2,AC1,XID1

TIME *.**

PLACE * 29 15

ADVANCE &TOSA,&OTOSA

RELEASE STAN2

LEAVE STA1

BPUTPIC FILE=ATF,LINES=5,AC1,XID1,XID1,FR(STAN2)/10,SR(STA1)/10

TIME *.**

SET * COLOR YELLOW

PLACE * ON p2

WRITE UTIL2 Util=*%

WRITE UTIL Util=*%

ADVANCE RVNORM(5,&TDSB,&OTDSB)

OSP QUEUE LINE2

SEIZE STA2

DEPART LINE2

BPUTPIC FILE=ATF,LINES=3,AC1,XID1,QA(LINE2)

TIME *.**

PLACE * 55 25

WRITE QUEUE2 Average queue=*.*

ADVANCE &TOSB,&OTOSB

RELEASE STA2

BOX BPUTPIC FILE=ATF,LINES=5,AC1,XID1,XID1,FR(STAN2)/10,N(BOX)+1

TIME *.**

SET * COLOR RED

PLACE * ON p3

WRITE UTIL3 Util=*%

WRITE N *

TERMINATE 1

START &NDET

PUTPIC FILE=ATF

END

END

Запустим интерпретатор GPSS/H. В строке запроса имени файла указываем имя *.gps-файла нашей модели (primer.gps) и нажмем клавишу <Enter>. В результате сформируется файл управления анимацией (файл primer.atf) с результатами моделирования.

Примечание

В ходе анимации заявки, двигающиеся по путям и скапливающиеся перед графическими аналогами станков, будут накладываться друг на друга. Для того чтобы этого не происходило, необходимо войти в режим Path, выделить путь р1 и изменить опцию Non-Accum (ненакопляемый) на Accumulating (накопляемый). Затем тоже проделать с путем р2. После этого необходимо войти в режим Class, выбрать класс под именем det и изменить значения Fore Clr и Aft Clr (см. п. 5.4 Движение в Proof Animation).

На рис. 47 представлен фрагмент компьютерной анимации с результатами имитационного моделирования.

Рис. 47. Фрагмент анимации с результатами имитационного моделирования