Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Лекции по имитационному моделированию и анимации - файл Учебное пособие_Компьютерная имитация и анимация.doc


Лекции по имитационному моделированию и анимации
скачать (282.3 kb.)

Доступные файлы (1):

Учебное пособие_Компьютерная имитация и анимация.doc1403kb.17.03.2003 14:00скачать

содержание
Загрузка...

Учебное пособие_Компьютерная имитация и анимация.doc

1   2   3   4   5   6   7   8   9   10   11
Реклама MarketGid:
Загрузка...
^

PLACE <номер объекта> AT x у


Например: PLACE 52 AT 12.5 25

PLACE ... AT заставляет Object появляться в системе координат Proof Animation, но не заставляет его двигаться.

Удаление объекта

Удаление объектов с экрана осуществляется командой DESTROY. При этом объект удаляется только с экрана, а на класс объектов данная команда не воздействует.

Синтаксис для DESTROY:

^ DESTROY <имя объекта>

Установка и изменение цвета объекта

Если объект уже видим на экране, можно изменить его цвет при помощи команды SET COLOR в файле следа.

Синтаксис команды SET COLOR:

^ SET <имя объекта> COLOR

В Proof Animation используются цвета двух типов:

- Цвета фона:

BACKDROP (Black)

LAYOUT (Lay)

- Цвета активного слоя:

BLUE или F1

RED - F2

WHITE - F3

YELLOW - F4

PINK - F5

TAN - F6

GREEN - F7

Для определения цвета, используется соответствующий номер с буквой F или английское название цвета. Например,

^ SET 3 COLOR F2

SET ВОХ COLOR RED

Объекты фоновых цветов двигаются без интерференции через другие объекты. Если два объекта цвета активного слоя соприкоснуться друг с другом, то область перекрытия будет показана в третьем отличном цвете. Если произойдет наложение двух одинаковых объектов одного активного цвета, то появится цвет самого нижнего слоя BACKDROP (объекты станут невидимы).

Перемещение объектов между двумя точками

Движение по прямой между двумя точками. Применяется для перемещения объектов в точку, координаты которой известны или могут быть вычислены в ходе выполнения имитационной модели. Для такого перемещения используется команда MOVE.

Синтаксис команды MOVE:

^ MOVE <имя объекта> (скорость движения) (x) (у) [RELATIVE]

При выполнении этой команды объекты двигаются по прямой линии между двумя точками. Объект сразу начинает движение из текущих координат к точке с координатами (x, y) с заданной скоростью. Достигнув заданных координат, он останется в этой точке на время, соответствующее модулю времени, определенному в команде TIME. Если используется ключевое слово RELATIVE, то объект начнет перемещаться из текущих координат на заданное количество модулей в направлении х и y. Например, по команде: MOVE 21 10 4 6 RELATIVE объект 21 начнет перемещаться из текущих координат на 4 единицы в направлении х и на 6 единиц в направлении у со скоростью 10.

Рассмотрим еще один пример. Допустим, что объект робокар "rob" создан. Тогда в результате выполнения подпрограммы:

TIME 50

MOVE rob 10 40 50

TIME 60

по достижении текущего времени TIME 50 объект «rob” начнет перемещаться со скоростью 10 в точку с координатами х=40, у=50. Его перемещение будет продолжаться 60-50=10 единиц времени.

Перемещение объектов по пути

Если Object помещен на Path и быстродействие Path-и или Object-а больше чем ноль, Object автоматически будет двигаться по Path-и, пока не достигнет конца, если некоторая другая команда файла следа компьютерной анимации (например, DESTROY или END) не прервет движение.

Команда для использования Paths - PLACE ... ON. Синтаксис для PLACE ... ON:
^

PLACE <номер объекта> ON <имя пути>


Например: PLACE Box ON Conveyor

Вращение Объектов

Если объект помещен на экран, его можно вращать. Причем это вращение, не зависит от действий над объектами, т.е. во время вращения можно изменять цвет объекта, перемещать его командой MOVE или помещать на путь. Для вращения объектов используется команда ROTATE.

Синтаксис команды:

^ ROTATE <имя объекта> [TO] <угол> TIME <время> <шаг>

ROTATE <имя объекта> TO <угол> SPEED <скорость> <шаг>

Угол поворота и шаг измеряются в градусах, продолжительность поворота в единицах времени Proof Animation, скорость поворота в градусах на единицу времени. Положительный угол - против часовой стрелки, а отрицательный - по часовой. Если задать угол, но не задавать продолжительность и скорость поворота, то вращение произойдет мгновенно. Если определить скорость поворота, но не определять угол, то объект будет вращаться с этой скоростью, до выполнения другой команды ROTATE или до отмены этой команды. Использование ROTATE со скоростью 0, остановит вращение. Плавность вращательного движения управляется величиной шага. По умолчанию Proof Аnimation вращает объект с приращением 30 градусов.

Вращение может быть абсолютным и относительным. При абсолютном вращении в команде ROTATE перед углом ставиться опция «TO». Если опустить опцию «ТО» в команде ROTATE, то вращение будет относительным.

Пример абсолютного вращения:

ROTATE 1 TO 90

... мгновенно вращает объект 1 на угол 90 градусов против часовой стрелки.


Рис. 40. Пример абсолютного вращения
^ ROTATE 1 120

... мгновенно вращает объект 1 на 120 градусов против часовой стрелки относительно положения, в которое его поместили командой PLACE ... ON (см. рис. 40).

Пример относительного вращения:

ROTATE 1 90

... мгновенно вращает объект 1 на угол 90 градусов против часовой стрелки (см. рис. 41).

Рис. 41. Пример относительного вращения
^ ROTATE 1 120

... мгновенно вращает объект 1 на 120 градусов против часовой стрелки относительно текущей позиции.

Другие примеры команды ROTATE:

ROTATE 1 SPEED -90

... непрерывно вращает объект 1 по часовой стрелке относительно горячей точки на 360 градусов (четыре единицы времени Proof Animation). Другая команда ROTATE с определенным углом остановит непрерывное вращение.

ROTATE 1 90 TIME 10

ROTATE 1 90 SPEED 9

... эквивалентные команды вращают объект 1 в три шага (т.к. по умолчанию 30 градусов) за 10 единиц времени Proof Animation. Вращение заканчивается, когда объект повернется на 90 градусов против часовой стрелки относительно текущей ориентации.

^ ROTATE 1 90 TIME 10 STEP 5

... то же, что и предыдущем примере, но объект будет делать 18 шагов вместо трех, для поворота на 90 градусов (здесь отменяется заданный по умолчанию размер шага - 30 градусов).

Изменение содержания сообщения

Прежде чем вывести динамическое сообщение, необходимо его создать и определить его прототип в цвете Backdrop режиме Draw Mode по команде Message. Изменить сообщение (его цвет и содержание) можно по команде WRITE.

Синтаксис команды WRITE:

^ WRITE <имя сообщения> <текст сообщения>

Например, по команде:

WRITE line1 Control of robocar

- в линию line1 (должна быть определена в разметке) помещается надпись "Control of robocar" (Управление робокаром).

Завершение анимации

Файл следа обязательно должен заканчиваться командой END.

Синтаксис команды END:

^ END.
5.6. Пример анимационного моделирования
Процедуру создания анимационной модели покажем на примере изготовления деталей разными типами станков.

Заготовка последовательно обрабатывается двумя типами станков (типом А и В). Группа станков А включает два станка. В начале процесса заготовка в течение 15 единиц времени транспортируется до станков типа А откуда поступает на обработку на первый станок группы. Здесь происходит ее обработка в течение 10 единиц времени. После этого, полуфабрикат, в течение 5 единиц времени, поступает на обработку на станок типа В. Окончательная обработка детали занимает 20 единиц времени. Готовая деталь транспортируется, в течении 5 единиц в накопитель. После этого к станкам группы А поступает вторая заготовка и процесс повторяется за исключением того, что в группе А заготовка обрабатывается вторым станком. Необходимо создать анимационную модель технологического процесса.

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

Войдем в Student Proof Animation путем загрузки файла spa.exe. Выберем в верхнем меню пункт Mode, а в нем режим Draw Mode. С помощью набора команд Student Proof Animation нарисуем статические элементы технологии станки, траектории движения деталей (в невидимом цвете Backdrop) и необходимый текст (рис. 42).


Рис. 42. Статические элементы технологии

(пунктиром показаны траектории движения динамических элементов,

в режиме Draw они не видимы)
В режиме Class Mode выберем опцию «New class» и нарисуем динамический объект (класс) – деталь (под именем det) (рис. 43).


Рис. 43. Динамический объект технологии
В режиме Path Mode выберем опцию «New Path» и создадим пути на основе уже нарисованных (в режиме Draw) траекторий движения деталей и назовем их р1, р2 и р3. Выберем в меню опцию «Time» и впишем время движения по пути, равное 15 для р1 и 5 для р2 и р3 (рис. 44).

Рис. 44. Пути движения динамических объектов
Сохраним файл разметки как primera.lay и выйдем из Proof Animation.

При помощи текстового редактора (Far, NC, VC, Блокнот, WordPad и т.п.), формирующего ASCII файлы, используя команды Student Proof Animation для управления динамическими объектами, создадим файл трассировки с тем же названием, что и файл разметки (*.lay файл), но с расширением *.atf – primera.atf. Листинг файла трассировки приведен ниже:
TIME 0

CREATE det 1

PLACE 1 ON p1

TIME 15

PLACE 1 29 15

TIME 25

SET 1 COLOR YELLOW

PLACE 1 ON p2

TIME 30

PLACE 1 55 25

TIME 50

SET 1 COLOR RED

PLACE 1 ON p3

TIME 55

CREATE det 2

PLACE 2 ON p1

TIME 70

PLACE 2 29 35

TIME 80

SET 2 COLOR YELLOW

PLACE 2 ON p2

TIME 85

PLACE 2 55 25

TIME 105

SET 2 COLOR RED

PLACE 2 ON p3

TIME 110

END
Сохраним этот файл в той же директории, что и файл разметки.

После сохранения файла управления (как primera.atf) запустим анимацию, выбрав файл spa.exe и нажав клавишу <Enter>. Выведем на экран анимационную модель технологии путем входа с помощью мыши в пункт “File” верхнего горизонтального меню, подпункт “Open Layout&Trace”. В появившемся вертикальном меню выберем пункт primera путем нажатия на нем клавиши мыши. В режиме "RUN" командой "Go" запустим программу на выполнение.

На рис. 45 представлен фрагмент анимации технологии изготовления деталей.



Рис. 45. Фрагмент анимации технологии изготовления деталей

6. связь анимации с имитационной моделью
^ 6.1. Генерирование файла трассировки (.atf) имитационной моделью
Управляющим оператором и блоком, создающим линии файла трассировки, являются оператор PUTPIC и блок BPUTPIC.

Формат:

^ PUTPIC opt,..., (list)

BPUTPIC opt,..., (list)

где opt - опция, а list - список чисел, числовых выражений, переменных, стандартных числовых атрибутов, которые GPSS/H записывает во внешний файл (файл .atf).

Опции, связанные с оператором PUTPIC и блоком BPUTPIC:

FILE=log

LINES=unt

где log - логическое имя внешнего файла, в который будут записываться данные (по умолчанию данные будут выводиться на экран), а unt - число строк отображаемых после блока BPUTPIC.

Для создания GPSS/H-моделью файла управления анимацией, сначала его необходимо связать с логическим именем, которое будет использоваться в GPSS/H-программе. Для такой связи используется специальный оператор FILEDEF.

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

^ LOG FILEDEF 'NAME'

где NAME - имя .atf-файла, а LOG - логическое имя файла.

Например,

...

ATF FILEDEF "TIME.ATF"

...

BPUTPIC FILE=ATF,LINES=3,АС1

TIME *.**

CREATE rob rob

PLACE rob at 12 18
В приведенном примере файл «TIME.ATF» будет автоматически создан в текущей директории, связан с логическим именем «ATF» и в него будут записаны три строки, расположенные ниже блока BPUTPIC. При этом вместо звездочек (*.**) запишется значение текущего времени моделирования (значение стандартного числового атрибута АС1).

Для записи в файл управления команды END используется управляющий оператор PUTPIC:

PUTPIC FILE=ATF

END

Такая запись обязательна, она используется для завершения анимации и обычно записывается после оператора START.
^ 6.2. Переменные в GPSS/H-моделях
При связи GPSS/H-модели с внешними файлами используют переменные. Переменные позволяют читать из внешнего файла входные параметры и записывать во внешний файл (.atf) результаты моделирования.

Для определения переменных в GPSS/H-моделях используются утверждения INTEGER (целая) и REAL (действительная).

Формат INTEGER и REAL:

^ INTEGER &v, . . .

REAL &v, . . .

где v - имя переменной.

При объявлении переменных их начальные значения равны 0. Для присвоения численных значений отличных от нуля используются оператор LET и блок BLET.

Формат блока BLET и оператора LET:

^ LET &v=var

BLET &v=var

где v - имя переменной, а var – числовое значение или математическое выражение.

Предположим, что переменные &TIME, &V и &S – определены в модели как действительные

REAL &TIME,&V,&S

и обозначают соответственно время движения транспортного средства от склада до рабочего места, скорость движения и расстояние доставки соответственно. Тогда, для присвоения переменной &TIME числового значения можно использовать строку

LET &TIME=&V/&S

Примечание

Для получения нецелого результата, например в выражении 3/2 необходимо значения числителя и знаменателя записывать через десятичную точку, то есть 3.0/2.0. В противном случае из результата выражения будет отброшена дробная часть.
^ 6.3. Чтение данных из внешнего файла
Оператор GETLIST - читает данные из внешнего файла или с клавиатуры (данные во внешнем файле дожны быть в свободном формате, с входными значениями, отделяемыми одним или более пробелами, либо написанные на разных строках.

Формат оператора GETLIST:
1   2   3   4   5   6   7   8   9   10   11



Скачать файл (282.3 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации