Инструкция по эксплуатации (962033), страница 2
Текст из файла (страница 2)
Рис 5
Соответственно направляющие косинусы:
Оставшийся третий орт находится как векторное произведение: Z1 = X1 x Y1
Таким образом команды, использующие фреймы переходят от координат локальной системы координат к глобальной.
Команды движения.
MOVEJOINT(JOINT, ANGLE) – Поворачивает степень JOINT манипулятора на угол ANGLE
GO(A) – A – это точка POINT. Выводит манипулятор в точку A. Без планирования траекторий степеней подвижности.
GOS(A) – A – это точка POINT. Выводит манипулятор в точку A. Движение выполняется от текущей точки к точке A по прямой.
GONEAR (A, B) – здесь A – это точка POINT, В – это расстояние до точки А. Выводит манипулятор в точку с координатами X, Y, (Z – B)
GOSNEAR( A, B) – здесь A – это точка POINT, В – это расстояние до точки А. Выводит манипулятор в точку с координатами X, Y, (Z – B). Движение выполняется по прямой.
MOVE (X, Y, Z) – X, Y, Z – координаты схвата в глобальной декартовой СК. Перемещает манипулятор из текущего положения на X, Y, Z мм по осям системы координат
Для того чтобы добавить пользовательскую команду в язык необходимо воспользоваться библиотекой типов (Type Library) и добавить в интерфейс IControl новый метод стандартным способом, учитывая что типы данных переменных не должны быть привязаны к платформе и архитектуре.
Модуль драйвера порта
Для того, чтобы осуществить связь между компьютером и контроллером по последовательному порту, используется подпрограмма драйвера COM порта.
Необходимо использование следующих функций:
-
Открыть порт
-
Сконфигурировать порт, то есть определить скорость передачи, контроль четности, количество бит данных.
-
Установить тайм-ауты передачи.
-
Записать данные в порт
-
Прочитать данные из порта
-
Закрыть порт.
Функции для работы с COM-портом находятся в файле Ms.h. В этом файле определен класс драйвера порта содержащий следующие методы:
boolean Open(char port[], DWORD BaudRate, BYTE ByteSize,BYTE Parity, BYTE StopBits) - функция открытия порта. Возвращает TRUE, если порт открылся нормально.
Close(void) - закрытие порта.
ResetRB(void) - очистка буфера приема.
ResetWB(void) - очистка буфера передачи.
unsigned short Read(BYTE *buffer, unsigned short numbytes) - возвращает количество считанных байт.
unsigned short Write(BYTE *buffer, unsigned short numbytes) - возвращает количество переданных байт.
unsigned short MSerial::GetRBSize(void) - возвращает число принятых символов в буфере приема (еще не считанных функцией Read).
unsigned short GetWBSize(void) - возвращает число еще не переданных символов в буфере передачи.
Открытие файла COM-порта может осуществляться как в оверлейной так и в неоверлейной системе. В нашем случае использовалась неоверлейная, однако в целях оптимизации использования ресурсов процессора планируется реализовать оверлейную систему. Для этого нужно будет отредактировать одну строку функции Open.
Пульт ручного управления
По нажатию пункта меню “Ручное управление” появляется следующее окно:
Рис 6
С помощью этого модуля пользователь может вручную, путем поворота или линейного перемещения звеньев вывести схват в определенную точку. Далее запоминаются(заносятся в массив данных) координаты данной точки. Для удобства работы сделана кнопка Calibrate, которая позволяет запустить процедуру калибровки прямо с пульта, не прибегаю к интерпретатору. После этого можно в основном окне программы добавить текущее положение в память системы управления.
Рис 7
Демонстрационная программа (ckamko-demo.exe).
Рис 8
Программа предназначена для управления двигателями манипулятора. Позволяет задавать желаемую скорость перемещения, направление и скорость вращения, а также режим работы шаговых двигателей манипулятора.
После выбора COM-порта и нажатии кнопки «Подключить» программа отправляет на центральный контроллер команду запуска. В случае успешного запуска получает ответ и разрешает пользователю изменять значения всех основных полей программы. В случае ошибки – на экран выводится соответствующее сообщение. Программа позволяет работать как со всеми степенями одновременно, так и только с 1 степенью. Переключение режимов осуществляется с помощью кнопки «Одна степень».
Инструкция пользователя программного обеспечения
Для управления 5 степенями одновременно необходимо выполнить следующие действия.
1. Запустить файл ckamdemo.exe
2. Выбрать COM-порт из выпадающего списка.
3. Нажать кнопку «Подключить»
4. Ввести желаемые скорости и количество шагов для всех степеней.
5. Выбрать направления для каждого из двигателей. Пока все направления не будут указаны, группа контрольных кнопок, расположенных внизу окна будет недоступна!
6. Нажать кнопку «Выполнить». Манипулятор начнет движение. Кнопки «Выполнить» и «Снять управление» будут недоступны, пока двигатели не отработают заданное перемещение.
Однако прервать движение можно с помощью кнопки «Остановить», которая станет активной.
При нажатии кнопки «Остановить» двигатели переходят в режим удержание и блокируют перемещение манипулятора. Режим удержания снимается нажатием кнопки «Снять управление». При нажатии кнопки «Снять управление» снимается напряжение с двигателей и снимается контроль с драйверов на приводных контроллерах. Манипулятор можно свободно перемещать вручную. Для того чтобы вновь осуществить какое-либо перемещение робота, необходимо нажать кнопку «Вернуть управление», которая появится на месте кнопки «Снять управление». После нажатия подаются сигналы на контроллеры приводов. Они переходят в режим ожидания команды на перемещение.
Для начала работы с основной программой необходимо:
-
Запустить файл ckamko.exe
-
Выбрать пункт меню настройка. Появится следующее окно.
Рис 1.15
-
Выбрать COM-порт, к которому подключен контроллер управления.
-
Нажать кнопку «Установить соединение». В случае успешного отклика системы окно закроется.
-
Набрать текст программы или загрузить ранее сохраненный текст с помощью меню Файл -> Открыть
-
Нажать кнопку «Выполнить». Манипулятор начнет движение. Кнопка «Выполнить» будет недоступна, пока программа не будет выполнена. Промежуточная информация будет выводиться в окне «Журнал событий».















