ИНФОРМАТИКА
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
ПО ЛАБОРАТОРНЫМ РАБОТАМ
ЧАСТЬ II
МОСКВА
Министерство образования И НАУКИ
Российской Федерации
государственнОЕ образовательное бюджетное учреждение
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
“МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ технический университет
РАДИОТЕХНИКИ, ЭЛЕКТРОНИКИ И АВТОМАТИКИ”
Подлежит возврату
№
ИНФОРМАТИКА
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
ПО ЛАБОРАТОРНЫМ РАБОТАМ
ЧАСТЬ II
МОСКВА
Составители: Ю.Г. Ионов, М.В. Кадочников
Редактор И.Б. Гарцеев
Методические указания по лабораторным работам предназначены для обучающихся по направлению 221000.62 – “Мехатроника и робототехника” и направлению 220400.62 – “Управление в технических системах”, изучающих дисциплину “Информатика”. Лабораторные работы выполняются с использованием интегрированной среды программирования Microsoft Visual Studio (или Borland C++),аппаратно-программного учебного робототехнического комплекса (УРТК) и его виртуальной компьютерной модели (компьютерного тренажера).
Печатаются по решению редакционно-издательского совета университета.
Рецензенты: Д.М. Анисимов
С.Н. Ковалев
Литературный редактор
Подписано в печать Формат 60?84 1/16.
Бумага офсетная. Печать офсетная.
Усл. печ. л. Усл.кр.-отт. Уч.-изд.л.
Тираж 150. Заказ . Бесплатно.
Государственное образовательное бюджетное учреждение
высшего профессионального образования
“Московский государственный технический университет радиотехники,
электроники и автоматики”
119454, Москва, просп. Вернадского, 78
Введение.
Методические указания по программированию робота на алгоритмическом языке Си относятся к лабораторному практикуму[1] учебного курса “Информатика”. Практикум включает 8 лабораторных работ, выполняемых на учебном робототехническом комплексе (УРТК) [1] и на симуляторе УРТК [4]. Лабораторная установка на базе робототехнического комплекса УРТК включает конструкцию манипуляционного робота из мехатронных модулей вращения и линейного перемещения, рабочий орган робота, блок управления (БУ) и персональную ЭВМ. Сопряжение ЭВМ и БУ осуществлено средствами параллельного интерфейса. Программное обеспечение, входящее в комплект УРТК, кратко описано [1, 4] для того, чтобы показать, какие объекты (программные модули) может содержать разрабатываемая студентом программа.
В методических указаниях приведены основные требования и методические рекомендации по выполнению лабораторных работ, которые обязательны для изучения. Проработку указаний по каждой лабораторной работе необходимо выполнять с изучением рекомендуемых к ней материалов. Все рекомендации направлены на то, чтобы создавать хорошо написанную, работающую и “читабельную” программу. Хорошая программа отличается не только наименьшим объемом занимаемой памяти и наивысшим быстродействием, но и тем, что имеет понятную блочно-модульную структуру и описанные комментариями объекты (препроцессорные директивы, макросы, модули, функции, операторы). Также в программе должны быть согласованы разные по темпу (разнотемповые) процессы системы управления роботом.
Представленный цикл лабораторных работ охватывает практически все возможные варианты работы с роботом УРТК. Выполнение первых четырех лабораторных работ дает понимание задач управления движением робота по отдельным степеням подвижности и основ программирования движением. Остальные лабораторные работы посвящены отработке основ технологии программирования роботом в разных режимах управления: цикловом и позиционном.
Конечным итогом практикума является демонстрация студентом полученных знаний, умений и навыков по созданию, отладке, применению алгоритмов и программ управления роботом. Программно управляемый робот всегда ведет себя согласно предписанным программой действиям. По характеру этих действий можно судить о работоспособности разработанной программы. Это ее тест.
Существенной особенностью лабораторного практикума является возможность применения в нем симулятора[2] — виртуальной модели УРТК (компьютерного тренажера), которая предоставляется каждому студенту в индивидуальное пользование и позволяет создавать программу по теме лабораторной работы не используя для этого реальный УРТК.
Библиографический список
1. Техническое описание и инструкция по эксплуатации.Учебный модульный робот УМР-2.Учебный интеллектуальный роботизированный центр УИРЦ-1.Учебная гибкая производственная система УГПС-1. Роботизированный сборочный центр ДОСЦ-1. Разработчики А.В. Штыков, П.Э. Трипольский, И.Б. Гарцеев и др., М.: РосУчПрибор-МИРЭА, 2002.
2. Ионов Ю.Г. Методические указания по выполнению лабораторных работ (часть II). Составитель Ю.Г. Ионов, М.: МИРЭА, 2006.
3. Ионов Ю.Г. Экспериментальный электронный учебник по курсу “Информатика” для студентов, обучающихся по направлению 221000.62 “Мехатроника и робототехника” и по направлению 220400.62. М.: МИРЭА, 2004-2005гг., сайт кафедры “Проблемы управления” МГТУ МИРЭА www.cpd-sdo.ru
4. Ионов Ю.Г., Смирнов М.Ю., Карпов С.А, Новосельский А.К., Слащев Б.В. Интерактивное учебное пособие “Программирование на алгоритмическом языке Си в среде симулятора УРТК”. М.: МИРЭА, 2009г.- www.cpd-sdo.ru
5. Смит Дж. Сопряжение компьютеров с внешними устройствами. Уроки реализации: Пер. с англ.- М.: Мир, 2000.
6. Новиков Ю.В., Калашников О.А., Гуляев С.Э. Разработка устройств сопряжения для персонального компьютера типа IBM РС. Под общей ред. Ю.В. Новикова. Практическое пособие – М.: ЭКОМ., 1997.
7. Ан Пей. Сопряжение ПК с внешними устройствами. Пер. с англ.- М.: ДМК Пресс, 2003.
8. Ослэндер Д.М. Управляющие программы для механических систем: объектно-ориентированное проектирование систем реального времени/ Д.М. Ослэндер, Дж. Риджли, Дж. Д. Ринггенберг; Пер. с англ.- М.: БИНОМ, Лаборатория знаний, 2004.
Лабораторная работа № 1
Тема:Изучение устройства и принципа действия учебного робототехнического комплекса (УРТК) с программируемыми функциями робота.
Цель работы.Ознакомление с реальным роботом УРТК, структурой и устройством его элементов, а также с виртуальными моделями УРТК. Получение навыков управления роботом.
Время выполнения работы: 4 академических часа.
Задание к лабораторной работе.
1.Изучите УРТК и, в том числе, состав элементов, устройство и принцип действия робота и блока управления. Изучите особенности мехатронных модулей (ММ) с элементами системы управления (двигатели мехатронных модулей, датчики положений платформы).
2.Загрузите исполняемый файл (тестовую программу urtk.exe) управления реальным роботом. После запуска[3] программы, ознакомьтесь с ее интерфейсом.
2.После появления на экране приглашения, выберите двигатель и, следуя инструкции (в окне приглашения), включите выбранную степень линейного или вращательного[4] перемещения ММ. Измерительным прибором, например линейкой, определите, какое расстояние прошла каждая степень в зависимости от пройденных меток. Определите масштаб меток. Поочередно для всех степеней определите рабочую зону и скорость перемещения ММ. Полученные данные опишите в отчете.
3.На основе полученных в п. 2 данных постройте рабочую зону выбранного робота.
4.Изучите модели виртуального робота. В режиме ручного управления заставьте виртуальных роботов совершать те же действия, которые совершал реальный робот согласно п. 2.
5.Оформите отчет по лабораторной работе, и защитите его в установленные сроки.
6.Все контрольные вопросы необходимо проработать, ответив мысленно на них с помощью (при необходимости) рекомендуемой литературы.
Порядок выполнения работы.
1.В порядке подготовки к данной лабораторной работе[5] в часы самостоятельной работы студент должен изучить тему и цель лабораторной работы, а также задание по ее выполнению. При этом он должен изучить в полном объеме сведения, относящиеся к теме. По результатам изучения каждому студенту необходимо разработать протокол[6] к отчету. В часы, установленные расписанием занятий по дисциплине “Информатика”, практическая часть лабораторной работы выполняется в лаборатории. В начале практического занятия студент должен представить протокол по выполнению работы и получить допуск.
2.Получив допуск, студент должен занять свое рабочее место в лаборатории. Затем он должен включить компьютер и, следуя заданию, практически выполнять лабораторную работу. Результаты выполненной работы, которые будут включены в отчет, необходимо показать руководителю лабораторных занятий.
3.У руководителя необходимо подписать отчет по завершенной работе.
Примечания:
1) при управлении реальным роботом необходимо учесть следующее:
- выполняя п.2 задания, для перемещения платформы ММ нажмите одну из клавиш 0-5, задав тем самым степень, которую вы хотите перемещать. Далее нажимая соответствующие клавиши, вы сможете запустить выбранную степень ММ в прямом или обратном направлении. Для остановки степени необходимо нажать клавишу Enter. В программе также показана скорость (меток/секунду) перемещения и количество пройденных меток выбранной степени. Для выхода из программы необходимо нажать Esc.
2) при управлении виртуальным роботом необходимо учесть следующее:
· предварительно изучить инструкцию ручного управления используемым роботом.
3) выбранная степень может не двигаться по следующим причинам:
- платформа степени ММ находится в одном из конечных положений. Она блокируется из-за того, что сработал конечный датчик. В этом случае попробуйте запустить степень в противоположном направлении;
- к выбранному каналу не подключен ММ – выберите другой канал;
- вышел из строя ММ или вышла из строя система управления ММ. Об этом немедленно сообщите руководителю занятий.
4) в [1] описана базовая версия УРТК. В модернизированной версии, которая используется в настоящее время, БУ существенно изменен.
Отчетдолжен содержать:
— номер, название и цель лабораторной работы;
— задание;
— описание рабочей зоны выбранного робота;
— масштабный коэффициент для каждой степени выбранного робота;
— выводы.
Контрольные вопросы.
1.Назовите все известные Вам типы роботов.
2.Какого типа ММ могут быть использованы в конструкции робота УРТК?
4.Как Вы понимаете, что такое привод ММ?
5.Назовите все исполнительные элементы системы управления УРТК.
Покажите, где в конструкции реального и виртуального УРТК они
находятся?
6.Назовите все датчики УРТК. Покажите, где в конструкции реального и
виртуального УРТК они находятся? Охарактеризуйте функции датчиков.
7.Для решения каких задач предназначен блок управления (БУ)
УРТК?
8.Какую роль при управлении роботом играет программное обеспечение
системы? Дайте ответ на примере программы urtk.exe
9.Как рассчитать расстояние, пройденное платформой ММ от некоторой
исходной (начальной) точки до конечной точки?
10.Как измеряется и определяется средняя скорость движения ММ?
11.Какова точность позиционирования ММ?
12.Опишите интерфейс пользователя программы urtk.exe.
13.Проделайте или опишите все действия оператора при управлении
роботом (реальным или виртуальным) в ручном режиме.
14.Назовите тему следующей лабораторной работы. Скажите, какие
данные 1-й лабораторной работы будут использованы в ней?
Лабораторная работа № 2
Тема:Основы технологии программирования функций управления и контроля состояния мехатронных модулей робота УРТК.
Цель работы.Изучить основы и средства программного управления роботом: средства сопряжения ПЭВМ и БУ через параллельный интерфейс (порт); принципы и схема обмена данными при их записи и чтении в соответствующие регистры.
Время выполнения работы: 4 академических часа.
Задание к лабораторной работе.
1. Изучить:
- Схему блока управления (БУ) УРТК, проанализировать функции всех датчиков и исполнительных элементов БУ, функции элементов пульта управления и системы его индикации.
- Адреса порта Centronics, функции его регистров; функции и форматы данных регистров устройств сопряжения на основе микросхемы I 8255 (в базовой версии УРТК) и регистров эмулятора ее функций в блоке управления используемого УРТК.
- Принципы, схему и режимы диалога (обмена данными) ПЭВМ с блоком управления УРТК, порядок выполнения действий по записи (чтению) данных в регистры (из регистров).
- средства управления виртуальной модели – симулятора УРТК и описать ее в отчете;
- функции записи/чтения данных регистров outportb()/inportb() операционной системы DOS.
2. Дать анализ структуры и назначения временных диаграмм изменения значений записываемых и читаемых битов.
3. Проанализировать библиотеку подпрограмм и обосновать возможность (или невозможность) их использования для управления двигателями и чтения состояния датчиков.
4. Выполнив работу, составить отчет по пунктам задания лабораторной работы. Изучить все контрольные вопросы. Защитить отчет.
Примечания.
По пункту 1 задания работа должна быть выполнена в порядке, точно определяемом заданием. По каждому его пункту использовать материал методических указаний, описывать выполняемые действия в лабораторной тетради, давать ответы на контрольные вопросы. Ход выполнения работы подвергается контролю, по результатам которого преподаватель выставляет или не выставляет зачет по работе.
По пункту 3 задания необходимо иметь в виду библиотеку готовых подпрограмм, реализующих базовые функции чтения и записи в регистры БУ УРТК:
void writeRC( char data )
{
outportb( 0x37A, 0x04 );
outportb( 0x378, data );
outportb( 0x37A, 0x00 );
delay(1);
outportb( 0x37A, 0x04 );
}
void writeRD( char data )
{
outportb( 0x37A, 0x0E );
outportb( 0x378, data );
outportb( 0x37A, 0x0A );
delay(1);
outportb( 0x37A, 0x04 );
}
char readRD()
{
static char ans=0;
outportb( 0x37A, 0x2E );
outportb( 0x378, 0xFF );
outportb( 0x37A, 0x2F );
delay(1);
ans = inportb( 0x378 );
outportb( 0x37A, 0x04 );
return( ans );
}
Отчетдолжен содержать:
— номер, название и цель лабораторной работы;
— задание;
— краткое описание БУ УРТК и его симулятора;
— алгоритм обмена данными между ПЭВМ и БУ УРТК;
— графическое изображение временных диаграмм;
— распечатку или рукописный текст подпрограмм чтения/записи данных;
— выводы.
Контрольные вопросы к работе.
1. Назвать функции модулей БУ УРТК.
2. Что такое интерфейс?
3. Что такое регистр? Назовите его функции? Каковы функции портов и
линий интерфейса и, в частности схемы I 8255?
4. Как используются регистры эмулятора параллельного интерфейса? Каков
формат данных этих регистров? Приведите пример байта данных для
этого регистра.
5. Назвать адреса портов параллельного интерфейса Centronics .
6. Как Вы понимаете процесс записи и чтения информации о командах и
данных?
7.Каков алгоритм действий при установке исполнительных механизмов
робота УРТК? Привести пример.
8.Каков алгоритм действий при получении информации о состоянии
датчиков ММ робота УРТК? Привести пример.
9.Сколько всего регистров в микропроцессорном модуле БУ?
10.Как включить двигатель степени Х или У, или Z? Пример.
11.Как прочитать данные о состоянии концевого и инкрементного датчика?
12.Каково назначение временных диаграмм?
13.Перечислите функции симулятора УРТК, охарактеризуйте его интерфейс.
14.Какие действия, на Ваш взгляд, нужно выполнить для того, чтобы
записать данные в некоторый регистр?
15.Какие действия, на Ваш взгляд, нужно выполнить для того, чтобы
прочитать данные из некоторого регистра?
16.Используются ли регистры симулятором УРТК? Можно ли показать
какой-то из них?
17.Назовите тему следующей лабораторной работы. Скажите, какие данные
1-й и 2-й лабораторных работ будут использованы в ней?
Лабораторная работа № 3
Тема: Программа записи данных в регистры системы управления УРТК
Цель работысостоит в ознакомлении с работой параллельного интерфейса ПЭВМ, в разработке программы записи данных в регистры управления двигателями блока управления УРТК и в определении времени ее выполнения.
Время работы в лаборатории:4академических часа.
Задание к лабораторной работе.
1.Изучить:
- алгоритм записи данных через параллельный интерфейс LPT0 в регистры DRV0 и DRV1 процессорного модуля БУ УРТК;
- алгоритм формирования байтов, записываемых в регистры данных. Для этого необходимо использовать данные из Табл. 1, в которых указано назначение разрядов этих регистров.
2. Разработать для реального УРТК и симулятора:
- функцию (подпрограмму) управления двигателями ММ путем передачи в БУ УРТК двух байт в регистры DRV0 и DRV1, используя библиотеку подпрограмм, указанную в лабораторной работе № 2.
- программу, которая использует названную выше подпрограмму. Программа должна включить привод одного из ММ на несколько секунд, что будет являться простейшим тестом функции записи. Варианты по выбору степени подвижности и продолжительности движения задает преподаватель.
Табл. 1.
Номер разряда | Разряды DRV0 | Разряды DRV1 |
M0– | M4– | |
M0+ | M4+ | |
M1– | M5– | |
M1+ | M5+ | |
M2– | D0 | |
M2+ | D1 | |
M3– | D2 | |
M3+ | Ew |
3.Отладить разработанную программу на симуляторе и реальном УРТК, а затем
выполнить задание по использованию программы. В завершенном виде
предъявить ее преподавателю.
4.Выполнив работу, составить отчет по пунктам задания лабораторной
работы. Изучить все контрольные вопросы. Защитить отчет.
Порядок выполнения работы.
По пункту 1 задания работу необходимо выполнить в процессе подготовки протокола в часы самостоятельной работы. По пунктам 2-3 работа должна быть выполнена в порядке, точно определяемом заданием. В первую очередь, написанную программу следует отладить на симуляторе. По каждому пункту задания при необходимости следует использовать рекомендуемую литературу.
Отчетдолжен содержать:
— номер, название и цель лабораторной работы;
— задание;
— описание алгоритмов формирования байтов данных для их записи в регистры данных (управления) БУ УРТК и его симулятора;
— алгоритм записи данных;
— Результаты тестирования разработанной программы на УРТК и симуляторе по заданному варианту;
— распечатку или рукописный текст программы;
— выводы.
Контрольные вопросы к работе[7]:
1. Чему равен период T импульсной последовательности от датчика положения ММ?
2. В регистре управления Centronics записано число 0xE. Какое назначение бит записанного в регистре числа?
3. Какие регистры БУ УРТК могут быть использованы как для чтения, так и для записи данных?
4. Перечислите режимы диалога ПЭВМ с БУ. Что записывается в регистр RC в каждом из них?
5. Сколько регистров определены для управления исполнительными элементами БУ УРТК?
6. Что произойдет в режиме управления двигателем, если в регистр DRV0 было записано число 0x0C?
7. Почему, если во время движения ММ записать в регистры DRV0 и DRV1 значения 0x0, то степень останавливается не сразу? Что необходимо предпринять, чтобы это устранить?
8. Сколько байт информации нужно передать через регистры RC и RD при установке состояния двигателей?
9. С какой целью используется функция delay()? Проверьте, будет ли работать программа записи данных в регистр без этой функции.
10. Для чего в регистре DRV1 служит бит Ew?
11. Что может произойти с БУ, если будет нарушен предписанный порядок выполнения действий?
12. Что можно сказать о семантике и синтаксисе функции записи в регистр?
13. В чем отличие записи данных в регистры RD и RC?
14. У Вас есть программа записи данных в регистр. Как используются при записи биты А0 и А1?
15. Изменяются ли в процессе записи биты регистра RD на интервале от до ?
16. Каким образом можно проверить правильность разработанной программы записи?
17. Назовите тему следующей лабораторной работы. Скажите, какие данные первых трех лабораторных работ будут использованы в ней?
Лабораторная работа № 4
Тема: Программа чтения данных из регистров БУ УРТК.
Цель работысостоит в ознакомлении с работой параллельного интерфейса ПЭВМ, в разработке программы чтения данных из регистров блока управления УРТК и в определении времени выполнения программы.
Время работы в лаборатории:4академических часа.
Задание к лабораторной работе:
1. Изучить:
- алгоритм чтения данных через параллельный интерфейс LPTO из регистров процессорного модуля БУ УРТК;
- алгоритм извлечения данных из байтов, прочитанных их регистров данных SNS0, SNS1 и SNS2. Для этого необходимо использовать данные из Табл. 2, в которых указано назначение разрядов этих регистров.
Табл. 2
Номер разряда | Разряды SNS0 | Разряды SNS1 | Разряды SNS2 |
M0 нач | M2 нач | M4 нач | |
M0 кон | M2 кон | M4 кон | |
M0 имп | M2 имп | M4 имп | |
M1 нач | M3 нач | M5 нач | |
M1 кон | M3 кон | M5 кон | |
M1 имп | M3 имп | M5 имп | |
Резерв0 | Резерв2 | Резерв4 | |
Резерв1 | Резерв3 | Резерв5 |
2. Разработать для реального УРТК и симулятора:
- функцию (подпрограмму) получения данных с датчиков ММ путем чтения из БУ УРТК трех байтов SNS0, SNS1 и SNS2 используя библиотеку подпрограмм, указанную в лабораторной работе № 2.
- функцию (подпрограмму) извлечения информации о состоянии датчиков из прочитанных данных. Информация должна помещаться в три массива из 6 элементов каждый: состояние начальных датчиков, состояние конечных датчиков, состояние импульсных датчиков. Номера ячеек массивов должны соответствовать номеру степени.
- программу, которая использует названные выше подпрограммы. Программа должна включить привод одного из ММ на несколько секунд и во время движения ММ считывать информацию. На экран должен выводиться двоичный код прочитанных данных и информация по каждому датчику с указанием номера степени и типа датчика. Варианты по выбору степени подвижности и продолжительности движения задает преподаватель.
3.Отладить разработанную программу на симуляторе и реальном УРТК, а затем
выполнить задание по использованию программы. В завершенном виде
предъявить ее преподавателю.
4.Выполнив работу, составить отчет по пунктам задания лабораторной
работы. Изучить все контрольные вопросы. Защитить отчет.
Порядок выполнения работы.
По пункту 1 задания работу необходимо выполнить в процессе подготовки протокола в часы самостоятельной работы. По пунктам 2-3 работа должна быть выполнена в порядке, точно определяемом заданием. В первую очередь, написанную программу следует отладить на симуляторе. По каждому пункту задания при необходимости следует использовать рекомендуемую литературу.
Отчетдолжен содержать:
— номер, название и цель лабораторной работы;
— задание;
— алгоритм чтения данных из регистров БУ УРТК и его симулятора;
— результаты тестирования разработанной программы на УРТК и симуляторе по заданному варианту;
— распечатку или рукописный текст программы;
— выводы.
Контрольные вопросы к работе:
1. Почему первой командой в функции чтения является команда outportb()?
2. Сколько регистров БУ задействовано при чтении данных состояния датчиков?
3. Описать алгоритм опроса датчиков.
4. К каким двигателям модулей ММ может относиться считываемая информация из регистра SNS0?
5. К каким двигателям модулей ММ может относиться считываемая информация из регистра SNS1?
6. К каким двигателям модулей ММ может относиться считываемая информация из регистра SNS2?
7. В каком виде определен порядок чтения (обмена) данных по параллельному интерфейсу?
8. Как осуществить извлечение конкретного бита из прочитанного байта данных? Приведите пример.
9. Какая информация определена на каждом интервале временной диаграммы чтения данных из СУ?
10. Что представляет собой диаграмма сигнала Data?
11. Что можно сказать о семантике и синтаксисе функций записи и чтения?
12. Используется ли функция записи данных в регистр в разработанной программе? С какой целью?
13. Назовите тему следующей лабораторной работы. Скажите, какие данные первых лабораторных работ будут использованы в ней?
Лабораторная работа № 5
Тема: Программа управления всеми степенями робота УРТК в ручном режиме
Цель работы состоит в реализации программы с пользовательским интерфейсом, обеспечивающей управление всеми степенями робота УРТК в ручном режиме с автоматическим подсчетом показаний датчиков.
Время выполнения работы: 4 академических часа.
Задание на выполнение лабораторной работы:
1.Изучить:
- алгоритмы обмена данными между ПЭВМ и БУ УРТК;
- принцип работы импульсного датчика;
- принципы чтения кодов клавиш с клавиатуры;
- принципы реализации пользовательского интерфейса в текстовом режиме.
2. Разработать:
- функцию (подпрограмму) подсчета пройденных меток каждой степени, использую подпрограммы, реализованные в лабораторной работе №4. Данные должны помещаться в массив из 6 элементов, где номер каждой ячейки соответствует номеру степени.
- функцию (подпрограмму) формирования управляющих команд для запуска двигателей. На вход подпрограммы должно поступать целое число с указанием номера степени в диапазоне [1; 6], а его знак указывает на направление движения. На выходе подпрограмма должна формировать данные для записи в регистры DRV0 и DRV1.
- программу, которая использует названные выше подпрограммы. Программа должна считывать данные с клавиатуры и формировать задание на двигатели. В процессе движения степени должны автоматически подсчитываться пройденные метки, а значения должны быть выведены на экран. Нажатие клавиши 1-6 должно приводить к выбору степени робота. Нажатие на клавиши Вверх или Вниз должно приводить к движению выбранной степени в соответствующем направлении. При нажатии на Пробел, все степени робота должны остановиться.
3.Отладить разработанную программу на симуляторе и реальном УРТК, а затем
выполнить задание по использованию программы. В завершенном виде
предъявить ее преподавателю.
4.Выполнив работу, составить отчет по пунктам задания лабораторной
работы. Изучить все контрольные вопросы. Защитить отчет.
Порядок выполнения работы.
По пункту 1 задания работу необходимо выполнить в процессе подготовки протокола в часы самостоятельной работы. По пунктам 2-3 работа должна быть выполнена в порядке, точно определяемом заданием. В первую очередь, написанную программу следует отладить на симуляторе. По каждому пункту задания при необходимости следует использовать рекомендуемую литературу.
Отчетдолжен содержать:
— номер, название и цель лабораторной работы;
— задание;
— алгоритм подсчета меток с импульсного датчика;
— результаты тестирования разработанной программы;
— распечатку или рукописный текст программы;
— выводы.
Контрольные вопросы к работе:
1. По какому принципу работают датчики начального и конечного положения?
2. По какому принципу работает импульсный датчик ММ УРТК?
3. Каким образом необходимо осуществлять подсчет меток в процессе движения степени УРТК?
4. Как определить скорость движения степени УРТК?
5. Каким образом осуществляется формирование управляющих байтов для запуска указанной степени УРТК?
6. Назовите тему следующей лабораторной работы. Скажите, какие данные первых лабораторных работ будут использованы в ней?
Лабораторная работа № 6
Тема: Программа управления мехатронным модулем робота в цикловом и позиционном режимах.
Цель работысостоит в освоении технологии программирования робота УРТК и принципов циклового и позиционного управления его мехатронным модулем, а также обработки сигналов от датчиков обратной связи модуля.
Время выполнения работы: 4 академических часа.
Задание на выполнение лабораторной работы:
1.Изучить:
- особенности циклового и позиционного режима управления роботом;
- описание УРТК, где рассматриваются принципы программирования функций обмена данными между регистрами ЭВМ и БУ, функций включения/выключения двигателей, а также опроса датчиков.
2.Разработать:
- подпрограмму циклового управления движением подвижной платформы ММ, съема и обработки сигналов от датчиков обратной связи. ММ должен быть подключен к каналу X (или по заданию преподавателя — к каналу Y или Z) так, чтобы:
— при нажатии пользователем клавишиклавиатуры или при достижении модулем любого из концевых датчиков модуль остановился на время 0,5 с; после чего продолжил движение в противоположном направлении;
— при нажатии пользователем клавишимодуль остановился, а при повторном нажатии на эту клавишу — продолжил движение в том же направлении;
— при нажатии пользователем клавишимодуль остановился, а подпрограмма завершила работу;
- подпрограмму позиционного управления движением подвижной платформы ММ, съема и обработки сигналов от датчиков обратной связи. ММ должен быть подключен к каналу X (или по заданию преподавателя — к каналу Y или Z). В качестве фактических параметров подпрограмма должна получать два значения:
— номер степени робота (0 для степени X, 1 для степени Y или 2 для Z);
— изменение обобщенной координаты степени. Если изменение обобщенной координаты положительно, то движение степени должно осуществляться в направлении к концевому датчику конечного положения, а если отрицательно, то движение должно осуществляться в направлении к концевому датчику начального положения. Подпрограмма должна завершать работу в следующих случаях:
— если степень закончила движение в заданном направлении и расстояние пройдено полностью (подпрограмма возвращает 0);
— если в процессе управления движением степени обнаружилось, что сработал какой-либо из концевых датчиков (подпрограмма возвращает количество импульсов от инкрементного датчика, которое осталось не пройденным);
— если пользователь нажал на клавишу ESC клавиатуры (возвращаемое значение -1).
О возвращаемых значениях во всех этих случаях подпрограмма должна выдавать сообщение (информацию).
- подпрограммы, созданные по алгоритмам циклового и позиционного управления ММ;
- программу, в которой созданные подпрограммы должны выполняться поочередно, демонстрируя принципы циклового, а затем позиционного управления движением подвижной платформы мехатронного модуля (ММ) робота. Разрабатываемая программа должна иметь пользовательский интерфейс и отображать на экране монитора текущий режим, а также параметры движения платформы ММ и состояние датчиков, используемых при управлении. При этом сообщения программы должны быть согласованы с текущим алгоритмом управления и контроля. К сообщениям программы должна относиться информация о теме лабораторной работы и исполнителе задания.
3.Отладить разработанную программу на симуляторе и реальном УРТК,
определить время работы программы. В завершенном виде предъявить ее
преподавателю.
4.Выполнив работу, составить отчет по пунктам задания лабораторной
работы. Изучить все контрольные вопросы. Защитить отчет.
Порядок выполнения работы:
1. Изучить материалы, указанные в задании;
2. Уточнить у преподавателя задание относительно управляемого модуля, а затем приступить к написанию программы;
3. Отладить[8] программу и продемонстрировать ее работоспособность в цикловом, а затем позиционном режиме программного управления (с исходными данными по заданному варианту);
4. Оформить отчет.
Отчетдолжен содержать:
— номер, название и цель лабораторной работы;
— задание;
— все разработанные по индивидуальному заданию алгоритмы (в виде блок-схемы);
— руководство пользователя;
— результаты тестирования разработанной программы;
— распечатку или рукописный текст программы;
— выводы.
Контрольные вопросы:
1) Что такое цикловое управление приводом робота? Используется ли в этом режиме управления принцип обратной связи по положению?
2) Каковы функции программы при цикловом управлении роботом?
3) Какие датчики ММ используются в режиме циклового управления? Как в процессе управления программа использует информацию датчиков: а) концевых, б) инкрементных.
4) Что такое позиционное управление приводом робота? Используется ли в этом режиме управления принцип обратной связи по положению?
5) Каковы функции программы при позиционном управлении роботом?
6) Какие датчики ММ используются в режиме циклового управления? Как в процессе управления программа использует информацию датчиков: а) концевых, б) инкрементных.
7) Какие элементы робота УРТК и СУ задействованы в цикловом режиме управления;
8) Какие элементы робота УРТК и СУ задействованы в позиционном режиме управления;
9) Приведите блок – схему алгоритма управления приводом в:
а) цикловом режиме;
б) позиционном режиме;
10) Какую информацию для оператора должна представлять на экране программа в:
а) цикловом режиме управления;
б) позиционном режиме управления;
11) C какой целью в задании требуется привести все ММ робота в исходное состояние?
12) Назовите тему следующей лабораторной работы. Скажите, какие данные первых лабораторных работ в ней будут использованы?
Лабораторная работа № 7
Тема: Программа согласованного управления роботом УРТК по нескольким степеням подвижности в позиционном режиме.
Цель работы: освоение технологии программирования робота УРТК при согласованном управлении мехатронными модулями.
Время выполнения работы: 4 академических часа.
Задание на выполнение лабораторной работы:
1.Изучить:
- особенности позиционного режима управления роботом по нескольким степеням подвижности;
- основы программирования функций обмена данными между регистрами ЭВМ и БУ, функций включения/выключения (в том числе одновременного) двигателей нескольких ММ, а также опроса датчиков соответствующих степеней подвижности;
- принципы разработки интерфейса пользователя для варианта управления несколькими степенями подвижности.
2.Разработать:
- подпрограмму позиционного управления движением трех подвижных платформ ММ, а в частном случае, двумя или одной платформой ММ, съема и обработки сигналов от датчиков обратной связи соответствующих ММ. В качестве фактических параметров подпрограмма должна получать следующие данные:
— число степеней подвижности, т.е. 1, 2 или 3;
— изменения обобщенных координат степеней. Если изменения обобщенных координат положительно, то движение любой степени должно осуществляться в направлении к концевому датчику конечного положения, а если отрицательно, то движение должно осуществляться в направлении к концевому датчику начального положения.
Подпрограмма[9] должна завершать работу в следующих случаях:
— если любая степень закончила движение в заданном направлении и расстояние пройдено полностью (подпрограмма возвращает 0);
— если в процессе управления движением степеней обнаружилось, что сработал какой-либо из концевых датчиков (подпрограмма возвращает количество импульсов от того инкрементного датчика, который находится на платформе максимально удаленной от концевого датчика этой степени);
— если пользователь нажал на клавишу ESC клавиатуры (возвращаемое значение -1).
О возвращаемых значениях во всех этих случаях подпрограмма должна выдавать сообщение на экран.
- программу, в которой созданная подпрограмма демонстрирует принцип позиционного управления движением подвижных платформ ММ робота. Разрабатываемая программа должна иметь пользовательский интерфейс и отображать на экране монитора текущий режим, а также параметры движения платформ ММ и состояние датчиков, используемых при управлении. При этом сообщения программы должны быть согласованы с текущим алгоритмом управления и контроля. К сообщениям программы должна относиться информация о теме лабораторной работы и исполнителе задания.
3.Отладить разработанную программу на симуляторе и реальном УРТК. При этом определить время работы программы. В завершенном виде предъявить ее преподавателю.
4.Выполнив работу, составить отчет по пунктам задания лабораторной работы. Изучить все контрольные вопросы. Защитить отчет.
Порядок выполнения работы:
1. Изучить материалы, указанные в задании;
2. Согласовать с преподавателем задание относительно управляемых ММ, а затем приступить к написанию программы;
3. Отладить программу и продемонстрировать ее работоспособность в позиционном режиме управления (с исходными данными, согласованными с преподавателем);
4. Оформить отчет.
Отчетдолжен содержать:
— номер, название и цель лабораторной работы;
— задание;
— разработанный общий алгоритм (в виде блок-схемы) позиционного управления;
— руководство пользователя;
— результаты тестирования разработанной программы;
— распечатку или рукописный текст программы;
— выводы.
Контрольные вопросы:
1) Каковы функции программы при позиционном согласованном управлении роботом?
2) Какие элементы робота УРТК и СУ задействованы в позиционном режиме управления несколькими ММ?
3) Приведите и дайте анализ блок – схемы алгоритма управления приводами в позиционном режиме.
Примечание: при защите данной лабораторной работы приведенный список вопросов может быть расширен за счет контрольных вопросов предшествующих работ.
Лабораторная работа № 8
Тема: Программа тестирования элементов робота УРТК и состояния его СУ
Цель работы: освоение технологии разработки, отладки и применения программы, позволяющей проверить работоспособность всех элементов робота УРТК и состояние СУ.
Время выполнения работы: 4 академических часа.
Задание на выполнение лабораторной работы:
1.Изучить:
- пример программы TESTER.EXE, акцентировав внимание на интерфейсе пользователя этой программы и на ее функциях;
- алгоритм проверки работоспособности функций записи байта в порт и чтения байта из порта, который был реализован в лабораторных работах № 2-4.
2.Разработать:
- алгоритм тестирования, в котором должна быть описана проверка всех основных элементов (рабочего органа, двигателей ММ, датчиков, индикаторов пульта управления БУ), функций робота УРТК, состояния системы управления;
- программу по разработанному алгоритму тестирования. Предусмотреть тестирование в ручном (с остановкой, прерываниями с помощью клавиатуры) и автоматическом режиме (без прерываний);
3.Отладить разработанную программу на симуляторе и реальном УРТК. При
этом определить время работы программы тестирования в автоматическом
режиме. В завершенном виде предъявить ее преподавателю.
4.Выполнив работу, составить отчет по пунктам задания лабораторной
работы. Изучить все контрольные вопросы. Защитить отчет.
Порядок выполнения работы:
1) перед выполнением основного задания по работе следует проверить работоспособность СУ с помощью программы, которая называется
TESTER.EXE. Для правильного запуска программы следует:
— убедиться, что СУ находится в режиме ручного управления;
— включить тумблер Сеть на передней панели СУ;
— включить ПЭВМ и загрузить операционную систему;
— установить диск и каталог, в котором записана программа TESTER.EXE;
— запустить эту программу.
После запуска программы, на экране будут показаны окна: “Клавиатура”, “Датчики”, “Двигатели”, “Индикаторы”, “Сигналы”.
В ручном режиме двигатели, а также датчики проверяются по отдельности. Допустим необходимо проверить работу двигателя по степени X (двигатель М0, см. в табл. 2 разряды “0” и “1” DRV0). На экране в окне “Двигатели” эти разряды соответственно обозначены через X1(0) и Xr(0). Они отображают состояние двигателя (включен в положительном направлении – от двигателя, если активизирован бит X1(0); включен в отрицательном направлении – к двигателю, если активизирован бит Xr(0)). Когда двигатель остановлен, оба отображаемых бита находятся в сброшенном состоянии (серого цвета).
Для включения двигателя в отрицательном направлении движения (-1) нужно установить курсор (синее поле) на индикатор X1(0) и нажать на клавиатуре клавишу SpaceBar. Поле изменит свой цвет и подвижная платформа ММ степени Х робота придет в движение. Одновременно загорается лампочка , что свидетельствует о включении обмотки возбуждения двигателя. Произошло включение канала , индикатора на передней панели блока управления. Двигатель будет вращаться в выбранную сторону только тогда, когда бит Xr(0) сброшен. В процессе движения степени робота на экране можно наблюдать работу инкрементного датчика. Если этот датчик работает, то в окне “Датчики” бит SNS0, обозначенный как ,будет освещен красным цветом. В противном случае – серым. Для остановки двигателя необходимо нажать повторно на клавишу SpaceBar. В положительном направлении (+1) управление осуществляется точно также, только курсор устанавливается на индикатор Xr(0).
Аналогично может быть проверена работоспособность всех остальных двигателей и датчиков. Для проверки регистра управления светодиодными индикаторами нужно с помощью клавиши Tab сделать активным окно “Индикаторы” и работать с битами регистра LEDO. Для завершения работы с программой TESTER.EXE необходимо нажать на клавишу ESC.
По результатам тестирования системы управления необходимо представить в отчете те данные тестирования, которые будут использованы при выполнении задания к данной работе.
2) выполнить основное задание к лабораторной работе. При этом следует начать с разработки алгоритма тестирования, в котором в соответствии с темой данной работы должна быть описана проверка всех основных функций робота и системы управления им. В качестве контрольного примера можно использовать[10] данные, выводимые на экран монитора программой TESTER.EXE. После этого необходимо уточнить задание у преподавателя, а затем приступить к написанию и отладке программы. Разработанную программу студент предъявляет преподавателю, а затем, если программа принята, через локальную сеть копирует в рабочую папку бригады на ПЭВМ УРТК, где выполняется окончательная ее отладка.
Для проверки работоспособности двигателей робота необходимо перевести СУ УРТК в режим автоматического управления (тумблер на передней панели СУ) и нажать кнопку “Сброс”. После этого запустить созданную Вами программу тестирования. Это должно привести к включению/выключению двигателей робота, перемещению в пространстве и работе схвата и (или) фрезы – рабочих органов робота.
Для проверки работоспособности датчиков робота необходимо привести в движение указанные в Вашем варианте ММ робота, наблюдая изменение бит регистров DRV0 и DRV1, а также регистров SNS0 – SNS1 блока управления с помощью интерфейсной части своей программы. Эта часть должна изображать окнона экране монитора, в которое выводятся результаты побитовой печати состояния регистров.
Изменение режима работы робота (пуск, останов, выбор степени ММ, изменение направления движения, другие операции) должно происходить с помощью клавиатуры, т.е. при ручном режиме управления.
Программа тестирования, которую Вы должны разработать в ходе выполнения данной лабораторной работы может работать аналогично программе TESTER.EXE.
Для завершения работы с программой нужно сначала перевести СУ УРТК в режим ручного управления (если она работала в автоматическом режиме), затем остановить двигатели и другие исполнительные механизмы. После предъявления отлаженной программы преподавателю необходимо все ММ робота перевести в исходное состояние. Если программа принята, и дано разрешение на отключение системы, то после этого нажатием на клавишу ESC клавиатуры ПЭВМ отключить систему.
Примечания: подпрограммы, разработанные в ходе выполнения лабораторных работ № 2-4, должны быть включены в исходный текст программы тестирования с помощью директивы «#include».
Отчетдолжен содержать:
— номер, название и цель лабораторной работы;
— задание;
— алгоритм[11] (в виде блок-схемы) тестирования работоспособности элементов робота УРТК (рабочего органа, двигателей ММ, датчиков) и состояния СУ (индикаторов пульта БУ);
— описание особенностей алгоритма тестирования программы TESTER.EXE;
— результаты тестирования разработанной для УРТК и симулятора программы по заданному варианту;
— результаты тестирования разработанной программы;
— руководство пользователя;
— распечатку или рукописный текст программы;
— реквизиты (имя, путь доступа к программе, сведения об авторах) отлаженной программы;
— выводы.
Контрольные вопросы:
1) Как проверить работоспособность подпрограммы – функций записи данных в некоторый регистр блока управления и (или) чтения из регистра?
2) Разъясните, что означает термин “работоспособность” СУ УРТК и для чего используется тестирование процедур чтения и записи.
3) Как и с какой целью используется программа TESTER.EXE .
4) Какие варианты отображения значений бита можно использовать в программном интерфейсе при тестировании состояния регистров?
5) Как включить и выключить светодиод № 5 на панели управления? Как называется этот элемент системы управления?
6) Как включить и выключить двигатель №2 средствами Вашей программы?
7) Как включить и выключить нереверсивный двигатель? Загорится ли при включении какая-либо лампочка?
8) Что обозначают на передней панели управления светодиодные индикаторы М0-М5, а также М6-М9 при их включении и выключении?
9) Что обозначает светодиодный индикатор, находящийся на пересечении мысленно проведенных линий от “М2” вниз и от “Датчик1” влево передней панели БУ?
10) Объясните, каковы возможные состояния индикатора в позиции на пересечении мысленно проведенных линий от “М2” вниз и от “НК” влево?
11) Как определяется положение подвижной части ММ и с какой точностью?
12) Какую помощь оператору оказывает интерфейсная часть Вашей программы?
13) Каков порядок экстренного выключения УРТК?
14) Каковы требования Вашей программы к ресурсам ЭВМ?
Приложение 1.Основные требования и методические рекомендации
Статьи к прочтению:
Новый сервис по оформлению ссылок по ГОСТу
Похожие статьи:
-
Основные требования к контроллерам
1. Низкая стоимость; 2. Высокая надежность; 3. Высокая степень миниатюризации; 4. Малое энергопотребление; 5. Работоспособность в различных температурных…
-
Основные операции в приложении excel
Создание документа, его открытие и сохранение.Для создания документа надо выполнить команду Создать из пункта меню Файл или нажать кнопку Создать в…