
Лабораторная работа № 2
Тема: Основы технологии программирования функций управления и контроля состояния мехатронных модулей робота УРТК.
Цель работы. Изучить основы и средства программного управления роботом: средства сопряжения ПЭВМ и БУ через параллельный интерфейс (порт); принципы и схема обмена данными при их записи и чтении в соответствующие регистры.
Время выполнения работы: 4 академических часа.
Задание к лабораторной работе.
Изучить:
Схему блока управления (БУ) УРТК, проанализировать функции всех датчиков и исполнительных элементов БУ, функции элементов пульта управления и системы его индикации.
Адреса порта Centronics, функции его регистров; функции и форматы данных регистров устройств сопряжения на основе микросхемы I 8255 (в базовой версии УРТК) и регистров эмулятора ее функций в блоке управления используемого УРТК.
Принципы, схему и режимы диалога (обмена данными) ПЭВМ с блоком управления УРТК, порядок выполнения действий по записи (чтению) данных в регистры (из регистров).
средства управления виртуальной модели – симулятора УРТК и описать ее в отчете;
функции записи/чтения данных регистров outportb()/inportb() операционной системы DOS.
Дать анализ структуры и назначения временных диаграмм изменения значений записываемых и читаемых битов.
Проанализировать библиотеку подпрограмм и обосновать возможность (или невозможность) их использования для управления двигателями и чтения состояния датчиков.
Выполнив работу, составить отчет по пунктам задания лабораторной работы. Изучить все контрольные вопросы. Защитить отчет.
Примечания.
По пункту 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-й лабораторных работ будут использованы в ней?