Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 курс - Трояновский / ПИУС / Лаб_1_Программатор.doc
Скачиваний:
26
Добавлен:
30.04.2019
Размер:
56.32 Кб
Скачать

3. Средства моделирования.

В качестве программатора при моделировании используется IBM PC. В качестве пульта программатора применяется клавиатура ЭВМ, в качестве дисплея программатора - дисплей ЭВМ; программное обеспечение должно поддерживать как основные режимы работы программатора, так и обеспечивать необходимые функции по управлению ходом моделирования.

Полагая, что программатор строго ориентирован для указанной выше предметной области, выделим на клавиатуре следующие клавиши, как принадлежащие клавиатуре программатора:

  • цифровые клавиши (от 0 до 9) - для ввода численных значений

данных, запрашиваемых с клавиатуры программатора;

  • клавиша <ВК> или <Enter> - признак конца ввода;

  • клавиша <A> - переход на автоматический режим

  • клавиша <P> - переход на ручной режим;

  • клавиша <Н> - переход к настройке;

  • клавиша <П> - пуск программы;

  • клавиша <С> - “СТОП” - останов программы;

  • клавиша <Ш> - очередной шаг по программе в

ручном режиме и после останова

  • клавиша <К> - конец работы.

Экран ЭВМ разделим на условные поля отображения, представленные на рис.3.

МОДЕЛИРОВАНИЕ РАБОТЫ ПРОГРАММАТОРА

РЕЖИМ: (ручной) (стоп) МОДЕЛЬ СТРОГАНИЯ

НАСТРОЙКИ:

XMAX(от 3 до 20)= ? XX

YMAX(от 1 до 4) = X ЖЖЖЖЖЖЖЖЖЖЖЖЖ

ZMAX(от 1 до 2) = Х ЖЖЖЖЖЖЖЖЖЖЖЖЖ

TZAD(от 1 до 30000)=ХХХХХ ЖЖЖЖЖЖЖЖЖЖЖЖЖ

ЖЖЖЖЖЖЖЖЖЖЖЖЖ

ЖЖЖЖЖЖЖЖЖЖЖЖЖ

Xтек = ЖЖЖЖЖЖЖЖЖЖЖЖЖ

Yтек = ЖЖЖЖЖЖЖЖЖЖЖЖЖ

Zтек = ЖЖЖЖЖЖЖЖЖЖЖЖЖ

ЖЖЖЖЖЖЖЖЖЖЖЖЖ

Управляющие клавиши: <A>-автоформат, <Р>-ручной, <Н>-настройка

<П>-пуск, <Ш>-шаг, <С>- стоп,

<К>-конец работы

Рис.3. Распределение полей экрана при моделировании работы

программатора.

С учетом реальной очередности подач, используемых при строгании (подача вдоль Z, переход на очередную дорожку вдоль оси Y, строгание дорожки вдоль оси Х), укрепленная блок-схема центральной части программы в программаторе - обработка задания - естественным образом собирается в тройной цикл (рис.4.):

Очевидно, циклы по Z и Х рационально организуются (с учетом целочисленности моделирования) с помощью конструкции FOR..TO, а цикл Y - с помощью конструкции WHILE, либо двух ветвей с операторами FOR..TO или FOR..DOWNTO.

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

Организовать цикл по Z

Организовать цикл по Y (с учетом четности подачи Z)

от 1 до YMAX (или от YMAX до 1)

Организовать цикл по Х

Выдача управляющего кода на объект

Задержка на TZAD (с контролем и обработкой

управляющих символов)

Конец цикла по Х ? Нет

Да

Конец цикла по Y ?

Нет

Да

Конец цикла по Z ?

Нет

Да

Выход

Рис.4. Блок-схема обработки задания в программаторе.

Процедура выдачи управляющего кода на объект в данном случае (когда моделирование всего процесса идет в одной ЭВМ и все переменные могут быть доступны любой части программы) может использоваться в целях фактического вызова процедуры моделирования отработки заданных кодов строгальным станком.

Моделирование строгания сводится к стиранию изображения ножа в старой позиции (с восстановлением открывающегося вида обработанной поверхности на месте исчезнувшего ножа) и прорисовкой изображения ножа во вновь заданной позиции. Здесь, очевидно, должна работать процедура прямой адресации маркера, процедуры стирания ножа в заданной позиции (в двух проекциях), а также должны осуществляться проверки на границы контура заготовки. Украшением этой процедуры может стать изображение отлетающей стружки с элементами случайности, формулируемой, например, с задействованием таймера.

Остается позаботиться о приеме и отработке управляющих сигналов с клавиатуры. Здесь возникают следующие проблемы:

  • проводить опрос клавиатуры необходимо достаточно часто, но в моменты, удобные программе (чтобы избежать необходимости диспетчерования процессов);

  • погасить отображение символа на экране;

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

Логика процедуры приема и отработки управляющих символов должна учитывать возможность появления сдвоенных кодов при нажатии некоторых клавиш. Эта процедура в общей программе должна использоваться дважды; вначале для получения настроек и пуска программы; затем - для получения указаний об изменении режима продолжения работы.

При запуске программы на экране должна отображаться картинка, представленная на рис.3. После этого программа должна реагировать на переключение режима “Автомат”/”Ручной” и “Настройка”, а также на “Конец работы”. После введения настроек допустимыми являются команды “Пуск”, “Стоп”; переход в пошаговый режим исполнения по команде “Шаг” должен быть доступен в любой момент времени. По окончании выполнения задания должно выводиться соответствующее сообщение. Программа должна быть готова к повторному выполнению того же задания.

ЛАБОРАТОРНОЕ ЗАДАНИЕ

  1. Заранее изучить данное описание.

  2. Каждая бригада (2-3 человека) разрабатывает в качестве предварительного домашнего задания исходные тексты следующих модулей и текстов для них:

БРИГАДА 1:

RAMKA (X,Y,DX,DY: INTEGER; S:CHAR);{прорисовка контура рамки символом S}

POLE (X,Y,DX,DY: INTEGER; S:CHAR);{засев поля символом S}

UPR_CODE; {прием и отработка управляющих кодов “А”,”Р”,“Н”}

БРИГАДА 2:

MODEL; {прорисовка заготовки в исходном состоянии}

ZADANIE; {отработка задания по текущим координатам XTEK, YTEK,ZTEK}

БРИГАДА 3 (здесь - старший по группе):

UPR_COD1; {прием и отработка управляющих кодов “П”,”С”,“Ш”,”К”}

LOGIKA; {общая структура работы программатора}

  1. В лаборатории каждая бригада набирает свой исходный текст, транслирует его, устраняет синтаксические ошибки и проверяет работу модуля на заранее разработанных тестах.

  2. Все бригады получают от соседей другие модули (без тестов для отладки), собирают всю программу целиком, транслируют и отлаживают ее.

  3. Результат (действующая программа) предъявляется преподавателю вместе с листингом исходных текстов.

Соседние файлы в папке ПИУС