Информационно-управляющая оболочка для системы ЧПУ
Информационно-управляющая оболочка для системы ЧПУ
В качестве объекта управления выбрана система ЧПУ фрезерно-токарного станка с четырёхосевым приводом постоянного тока. На рисунке 1 представлена структурная схема подобной системы УЧПУ. На схеме приняты следующие обозначения:
ДП - датчик положения;
ЭПр - электропривод;
ЭАС - электроавтоматика;
РУ - ручное управление;
УП - управляющая программа.
Приведенная схема отличается от классической отсутствием в структуре ЧПУ интерпретатора УП, и её функции возложены на CAM-систему информационно-управляющей оболочки ЭВМ верхнего уровня.
Таким образом, для работы с представленной системой ЧПУ информационно-управляющая оболочка ЭВМ верхнего уровня должна решать следующий круг задач:
реализовать пользовательский интерфейс;
осуществлять функции интерпретатора для определённых языков УП;
осуществлять загрузку УП и её рабочих параметров в УЧПУ;
иметь возможность оперативного управления и контроля работы оборудования;
иметь возможность тестирования состояния и настройки режимов основных узлов системы управления станком (система ЧПУ, электроприводы осей, электроавтоматика).
Рис.1. Структура системы ЧПУ четырёхосевым электроприводом
Разрабатываемая оболочка работает с четырьмя разновидностями УП обработки изделий:
файлом геометрических описаний в стандарте HPGL фирмы Hewlett Packard (файл с расширением PLT);
монохромный черно-белый растровый файл с расширением ВМР;
монохромный полутоновый файл с расширением ВМР;
текстовый файл в стандарте ISO аналог УП для стойки ЧПУ 2С85 или ей подобной.
В первых трех случаях для получения файла геометрических описаний изображения изделия вполне достаточно использование стандартных графических векторных и растровых редакторов, например Corel Draw для векторных рисунков и Photo Shop или Paint для растровых.
Применение этих редакторов позволяет существенно снизить стоимость САПР УП для систем ЧПУ. Технические характеристики графических редакторов позволяют практически полностью перекрыть потребности в подготовке УП для четырёхкоординатного фрезерного деревообрабатывающего станка. В этом случае интерпретатор управляющей программной оболочки системы управления станка берет на себя некоторые функции постпроцессора.
Регулирование положения комплектных электроприводов с ДПТ (рис.1) требует минимального количества дополнительного оборудования для реализации системы управления. На рисунке 2 приведена структурная схема системы управления с использованием комплектных тиристорных электроприводов постоянного тока. На рисунке приняты следующие обозначения:
A/Ii, А/Оi - входные и выходные бинарные сигналы управления или состояния оборудования (i - номер канала);
Ui - сигнал задания скорости i-той оси;
i - сигнал углового положения i-той оси;
Кi - сигнал нажатия i-той клавиши пульта ручного управления.
Рис.2. Структурная схема системы ЧПУ
Система управления формирует 4 сигнала задания скорости для электроприводов, представленных в виде ШИМ последовательности или двухполярного аналогового сигнала в зависимости от исполнения привода. Задает состояние 24 входных (A/I) и 24 выходных (А/О) бинарных сигналов, 4 входных и 4 выходных, из которых используются для контроля состояния и разрешения работы комплектных электроприводов соответственно. Для ввода информации от датчика углового (линейного) положения по каждой из 4 координат, требуется по две линии ввода информации. Помимо этого к адаптеру подключен пульт управления станком, который в зависимости от схемотехнической реализации может потребовать от 3 до 20 линий ввода/вывода. Здесь предполагается, что регулятор положения электропривода формирует выходной сигнал (сигнал задания скорости на комплектный электропривод) в виде 16-разрядного параллельного кода, который аппаратным способом адаптером преобразуется в ШИМ последовательности импульсов частотой примерно 2,7 кГц.
Скважность сигнала Q=0,5 соответствует нулевому уровню сигнала задания скорости. Увеличение скважности соответствует приращению величины сигнала, заданным со знаком "+", уменьшение скважности - со знаком "-". Четырёхканальный ШИМ преобразователь может быть достаточно просто реализован на 2-х трехканальных программируемых таймерах. Код управляющего воздействия на вход управления регулятора скорости комплектного электропривода может быть задан в виде двухполярного аналогового сигнала. Для этого соответствующий канал ШИМ должен быть заменен цифро-аналоговым преобразователем.
Приращение текущего положения на одну дискрету вводится в регулятор положения с использованием системы аппаратных прерываний. Каждый из датчиков формирует 2 импульсные последовательности, сдвинутые друг относительно друга на угол /2 или - /2 в зависимости от направления перемещения.
Исходя из структуры системы управления и основных задач, которые должна решать информационно-управляющая оболочка, можно сформулировать следующие требования к её основным режимам работы:
ввод и визуализация файлов изображения или текста УП, рассмотренных выше;
запуск и сопровождение отработки РП системой ЧПУ при управлении от ЭВМ верхнего уровня;
индикация ошибок и сбойных ситуаций при отработке РП;
ввод параметров технологического процесса для обработки детали в выбранном режиме;
контроль правильности ввода параметров;
управление и тестирование основных режимов работы и узлов оборудования при управлении от ЭВМ верхнего уровня;
индикацию состояния элементов автоматики оборудования, текущее и заданное положение рабочего инструмента по осям координат;
задание параметров и тестирование интерфейса между ЭВМ верхнего уровня и системой ЧПУ;
управление оборудованием может осуществляться с пульта управления системы ЧПУ или ЭВМ верхнего уровня средствами информационно-управляющей оболочки (пульт управления имеет высший приоритет).
Чертёж блок-схемы алгоритма основного выбора режимов работы информационно-управляющей оболочки приведен на рисунке 3.
Рис.3. Блок-схема алгоритма основного выбора
Основной выбор предоставляет в распоряжение пользователя пять возможных режимов работы:
ТПО - режим выбора файла УП, его визуализация и загрузка по интерфейсу RS485 в память программ УЧПУ;
ТП1 - выполняет ввод технологических параметров и констант исполняемой РП с контролем правильности ввода и загрузку их в систему ЧПУ;
ТП2 - осуществляет запуск программы, визуализацию рисунка и контроль ее исполнения (режим реального времени);
ТП3 - режим ручного управления перемещением РИ (рабочего инструмента) по координатам с клавиатуры ЭВМ верхнего уровня и тестирования состояния элементов автоматики и электроприводов станка (режим реального времени);
ТП4 - режим настройки и тестирования параметров интерфейса RS485.
Режим выбора файла использует выбор в стиле Windows. Выбор начинается с текущей папки, где размещен исполняемый модуль информационно-управляющей оболочки, и может расширяться на всю файловую систему и все физические устройства, определенные в системе. На режим отображения имен файлов установлены фильтры, которые позволяют из всего множества просматривать имена файлов с расширениями *. plt, *. txt, *. bmp. После вы-бора файла изображение, которое он содержит, выводится в окно просмотра. В случае *. plt-файла - средствами векторной графики. При этом в окне просмотра помимо самого изображения выводится отметка начальной точки рисунка, а в специальных окнах - истинные габаритные размеры рисунка. Если рисунок многослойный, то каждый слой выводится своим цветом. Если рисунок многоконтурный, то все переходы между контурами выполняются линиями черного цвета. После выбора нужного чертежа осуществляется процедура его преобразования в исполняемый код и загрузка по интерфейсу RS485 во внутреннюю память системы ЧПУ.
Рассмотрим более подробно этот режим. Блок-схема режима выбора файла просмотра изображения представлена на рисунке 4. Здесь приведен случай вывода файла *. plt. После процедуры выбора файла (блок 1 алгоритма) осуществляется синтаксический разбор текста файла. С помощью блоков 3 и 4 алгоритма вырезается заголовочная часть файла, содержащая информацию, не используемую для формирования изображения на экране монитора и генерации кода УП. Точкой входа считается строка текста файла, начинающаяся с символов РU. Если раньше по тексту файла встретится строка символов SPO (признак конца текста), то файл не содержит информации о рисунке; выдается сообщение "Файл пуст", и программа переходит в режим основного выбора.
В случае появления символов PU продолжение строки содержит начальные координаты x и y изображения. Значения x и y переводятся из формата строки в формат long и запоминаются в промежуточном буфере УП. После этого начинается построчное преобразование абсолютных значений координат концов отрезков прямых в переменные типа long и запоминания их в промежуточном (блоки 8-13 алгоритма).
В случае если строка начинается символами SPx, где х - число от 1 до 8, то данная точка считается разрывом контура и в буфер обмена вместо значений координат вводится значение Const +x. Значения Const на порядок превосходит максимальное значение векторов x и y контурного изображения; запись в буфер продолжается до появления заголовка строки SPO или строки с заголовком, не включенным в процедуру сравнения (блок 13 алгоритма). В первом случае происходит привязка рисунка к координатам окна вывода изображения на экране дисплея, т.е. рассматриваются масштабные коэффициенты преобразования, исходя из габаритных размеров рисунка и габаритных размеров окна вывода. Затем по значениям векторов концов отрезков полилиний, сохраненных на предыдущем этапе преобразования, в окне вывода изображения строится рисунок. Во втором случае изображение не выводится и выдается сообщение об ошибке структуры файла. Результатом действия рассмотренного алгоритма является изображение рисунка в окне просмотра с указанием начальной точки изображения, габаритные размеры рисунка в сотых долях миллиметра и буфер векторов точек полилиний, образующих рисунок.
Дальнейшим действием в режиме ТПО может быть просмотр следующего рисунка из списка файлов либо загрузка кода УП в систему ЧПУ. Блок-схема алгоритма кодирования и вывода УП представлена на рисунке 5.
Рис.4. Блок-схема алгоритма вывода изображения УП
На чертеже приняты следующие обозначения:
i - указатель исходного буфера координат полилиний;
j - указатель буфера УП;
БПУ - буфер управляющей программы;
Х1, У1 - координаты начала текущего отрезка прямой;
Х2, У2 - координаты конца текущего отрезка прямой;
ТКН - технологическая команда начала работы;
Sx, Sy - знаки текущего приращения отрезка прямой по координатам x и y соответственно;
L - команда перемещения РИ;
int - шестнадцатиразрядная переменная oxffff;
ТКК - технологическая команда;
n - число отрезков полилиний переходов и технологических команд;
m - коэффициент преобразования dx или dy в переменные типа int в случае, если одна из них имеет тип long;
k - указатель текущего значения числа записей при преобразовании long в int;
пп - подтверждение приема от интерфейса связи с системой ЧПУ.
Рис.5. Блок-схема алгоритма кодирования и вывода УП
Задачей настоящего алгоритма является преобразование массива векторов координат полилиний и условий перехода от одной полилинии к другой в исполняемой УП для системы ЧПУ. В рассматриваемом случае используется трехосевой привод. Одна команда УП может иметь длину одну или три переменных типа int. Однословная команда является технологической или задает перемещение по координате z в соответствии с номером слоя, содержащимся в коде команды. Величина перемещения по z в этом случае определяется исходя из таблицы параметров, находящейся в программируемой постоянной памяти системы ЧПУ. Трехсловная команда задает перемещение оси в относительных координатах. Первое слово команды содержит код команды и определяет направление перемещения относительно текущего положения РИ. Вторые два слова определяют величину перемещения по координатам х и у соответственно. Помимо рассматриваемого случая сходный способ кодирования УП может быть применен в случае использования линейно-круговой интерполяции, поэтому на код команды отводится целое слово.
Формирование УП начинается с обнуления указателей на буфер массива векторов точек полилинии и на пустой буфер, в котором будет формироваться код УП (блок 1 алгоритма). Первая команда, записываемая в буфер УП, - технологическая и определяет начальное положение по координате z РИ. Блоки 3 и 4 алгоритма определяют начальное и конечное положение точек текущего отрезка полилинии. Если текущее положение второй точки отрезка определяется как Const, в буфер УП записывается команда поднять (опустить) РИ на величину z (блок 9 алгоритма) и увеличивает на единицу указатель буфера координат.
В противном случае вычисляется абсолютная величина и знак текущего приращения по координатам. Формируется код операции как логическая сумма собственно кода операции (в данном случае отработка прямой линии) и знаков приращений по координатам х и у соответственно (блок 6 алгоритма).
Так как в данной реализации максимальный размер приращения не может превышать величину int/2 (15 двоичных разрядов), блоки 7 и 8 осуществляют проверку на превышение текущего приращения относительно заданного. Максимальный размер приращения в int/2 принят исходя из сокращения объема памяти УП, т.к подавляющее большинство отрезков прямых полилиний, образующих рисунок, не превышают отмеченный порог.
В случае, если порог не превышен, в буфер УП записываются код операции и значения приращений по координатам (блок 10 алгоритма). Затем проводится проверка на конец исходного буфера и, если не "конец", осуществляется выборка координат очередной точки и форми-рование очередной команды.
При превышении текущих значений приращений по координатам или одной из них величины порога отрезок разбивается на m участков, где m есть отношение максимально возможного приращения по координате заданного типа оборудования к величине int/2, и формируется ветвь алгоритма записи m участков прямой (блоки 14-16). После этого происходит переход к основной ветви алгоритма (блок 11).
Если весь исходный буфер исчерпан, формируется последняя технологическая команда "конец УП" (блок 12 алгоритма).
После процесса кодировки запускается режим ввода УП в систему ЧПУ. Весь массив УП разбивается на блоки по 128 байт. Для каждого блока формируется контрольная сумма, т.е. циклический код CRC. Передача каждого блока в систему ЧПУ сопровождается квитированием получения блока, формируемым системой ЧПУ. В случае сбойной передачи выдается сообщение "ошибка вывода" (блок 20 алгоритма) и передача прекращается. Для повторного ввода УП необходимо запустить весь процесс сначала. Разбиение всего массива на блоки вызвано особенностями работы ППЗУ УП системы ЧПУ. В случае успешной передачи управление передается в фоновый режим (режим основного выбора).
Ввод параметров осуществляется с клавиатуры ПК в окна однострочных текстовых редакторов, каждый из которых соответствует своему параметру. Режим ввода технологических параметров реализован для системы ЧПУ с двух-, трех-, четырехосевым электроприводом. В зависимости от количества осей доступ осуществляется к строго определенной группе параметров. Группы могут перекрываться между собой. При вводе параметров осуществляется контроль на выход за допустимую зону его изменения. При неправильном вводе значение параметра устанавливается по умолчанию (обычно минимальное) и выдается сообщение об ошибочном вводе.
Загрузка параметров осуществляется специальной командой. В этом случае все параметры преобразуются из строковой переменной в двоичную типа long, int или cnar в зависимости от диапазона изменения и в определенном порядке загружаются в буфер. Буфер передается в систему ЧПУ, где запоминается. Сообщение дополняется байтом CRC. При ошибочном приеме сообщения на ЭВМ верхнего уровня выдается сообщение об ошибке, которое индицируется на экране монитора. При нормальной передаче программа переходит в фоновый режим.
Блок-схема алгоритма запуска УП на исполнение с ЭВМ верхнего уровня представлена на рисунке 6. Данный режим работы оболочки связан с непосредственным управлением работой ЧПУ и не может быть покинут без передачи сообщения в систему. После входа в режим "Работа по программе" осуществляется опрос двух кнопок управления, выведенных на панель оболочки. Это кнопки "Пуск" и "Выход" (блоки 1 и 2 алгоритма). При нажатии кнопки "Выход" осуществляется переход в фоновый режим. При нажатии кнопки "Пуск" происходит вывод рисунка УП в графическое окно оболочки (блок 3 алгоритма), затем через com-порт передается команда запуска УП на отработку. Если система ЧПУ готова к работе в этом режиме, выдается сообщение о готовности и происходит запуск УП, т.е. начинается обработка детали. В случае, если система по той или иной причине не готова к работе, возвращается нулевой сигнал готовности, при этом на экран выводится сообщение о неготовности устройства к работе и осуществляется переход в начало (блоки 5, 11 алгоритма).
Рис.6. Блок-схема алгоритма пуска и сопровождения УП
При работе с системой постоянно опрашиваются состояния COM-порта и кнопки "стоп" на лицевой панели оболочки. В случае нажатия кнопки "Стоп" в систему через COM-порт передается команда остановить выполнение программы и осуществляется переход в начало (блоки 9 и 10 алгоритма). При этом рисунок УП в окне просмотра удаляется. При отработке УП со стороны системы через COM-порт может прийти три типа сообщения. Рассмотрим их поочередно.
Сообщение "Кадр" информирует оболочку о том, что отработан очередной участок полилинии. По этому сообщению участок полилинии в окне просмотра изменяет цвет, индицируя тем самым этап отработки УП (блок 6, 12 алгоритма).
Сообщение "Сбой" сигнализирует о нарушении режима работы технологического оборудования или ошибке в работе системы ЧПУ. Это сообщение может быть вызвано также прекращением отработки УП по команде оператора с пульта управления системы. Команды с пульта управления имеют высший приоритет по сравнению с командами от ЭВМ верхнего уровня. В этом случае на панель оболочки выдается сообщение с номером ошибки и осуществляется переход в начало программы (блок 7, 12 алгоритма).
Сообщение "КП" сигнализирует об успешном завершении выполнения УП системой. В этом случае формируется сообщение об успешном выполнении программы, которое выводится на рабочей панели оболочки и так-же осуществляется переход в начало программы (блок 8, 14 алгоритма).
Внешний вид рабочей панели информационно-управляющей оболочки в режиме ручного управления технологическим оборудованием и контроля его состояния приведен на рисунке 7.
На панели расположены следующие элементы индикации и управления:
кнопки управления режимом "Слежение", "Работа", "Выход";
окна индикации заданного и истинного положения осей электроприводов X, Y, Z, φ, а также величины рассогласования (на рисунке 6 показан режим управления двухосевым приводом, поэтому окна Z и φ не активны);
панель выбора режима в положении "Работа";
индикаторы состояния приводов по каждой из координат и положение инструмента по данной координате;
кнопки включения/отключения электроприводов;
индикационная панель выбранного режима в состоянии "Работа".
В режиме "Слежение" на панель оболочки выводятся значения заданного и истинного положений и рассогласования между ними по каждой из рабочих координат, а также состояние приводов включено/выключено и наличие сигнала ограничения (выход за пределы рабочей зоны) по каждой из рабочих координат.
Режим "Слежение" может быть включен независимо от текущего состояния системы ЧПУ. В этом режиме с частотой 10 Гц в систему подается запрос о текущем состоянии. В ответ на запрос система ЧПУ формирует сообщение о текущем состоянии элементов и передает это сообщение в ЭВМ верхнего уровня.
Рис.7. Внешний вид панели информационно-управляющей оболочки в режиме ручного управления системой и индикации состояния
В случае, если процессор системы ЧПУ отключен, на панель выдается сообщение о том, что нет связи с объектом. Выход из режима "Слежение" осуществляется нажатием кнопки "Выход", любая другая попытка выйти из этого режима блокируется.
В режиме "Работа" помимо элементов индикации доступен также ряд элементов управления оборудованием. В этом случае с помощью панели "Выбор режима" можно задать один из пяти возможных способов управления оборудованием:
работа ПП;
кадр;
пульт РУ;
переход база;
переход ноль.
Инициализация выбранного режима управления оборудованием осуществляется кнопкой "Пуск реж. ". При этом в систему ЧПУ передается запрос на управление в заданном режиме. Если система доступна для управления от ЭВМ верхнего уровня, то она возвращает сообщение о разрешении режима, в противном случае на панель выдается сообщение "Система недоступна". При получении сигнала разрешения на управление в нижней части панели появляется информационное сообщение о том, что оборудование находится под управлением ЭВМ верхнего уровня.
Режим "Работа ПП" запускает отработку УП, находящуюся в памяти системы ЧПУ и в ходе процесса отражает текущее положение РИ и состояние приводов. Выход из режима осуществляется автоматически по завершении выполнения УП.
Режим "Кадр" позволяет запустить УП в покадровом режиме, т.е. после выполнения заданной команды выполнение УП приостанавливается и на элементах индикации можно зафиксировать текущее положение РИ. Повторный пуск осуществляется повторным нажатием кнопки "Пуск Реж."
Режим "Пульт РУ" дает доступ к дополнительной панели управления "Задание перемещения". С этой панели доступно управление приводом каждой из координат, движение по которой разрешено при выбранных настройках.
Начало перемещения инициализируется нажатием соответствующей клавиши на панели "Задание перемещения". Скорость перемещения определена в списке параметров. Прекращение перемещения по данной координате осуществляется кнопкой "Стоп".
Режим "Переход База" выдает команду системе ЧПУ на перемещение РИ в заданную точку рабочего пространства, координаты которой определены в списке параметров. Выход из режима осуществляется автоматически по достижении РИ заданной точки. Режим "Переход Ноль" выдает команду системе ЧПУ перемещения РИ в начало координат рабочего пространства технологического оборудования. Выход из режима аналогичен вышеописанному.
Прекращение выполнения любого из режимов осуществляется нажатием кнопки "Стоп Реж." на панели "Выбор режима". В этом случае в систему ЧПУ передается команда прекращения выполнения текущего режима. При возникновении сбойной ситуации в системе или оборудовании, а также при нажатии клавиши "Стоп" на пульте управления технологическим оборудованием, исполнение выбранного режима прекращается и в ЭВМ верхнего уровня выдается соответствующее сообщение, которое выводится на панель индикации.
В режиме настройки и тестирования COM-порта задаются основные параметры передачи сообщений по стандарту UART, к числу которых относится скорость обмена, количество бит в сообщении, наличие контроля паритета и количество стоповых бит. Здесь же выбирается номер COM-порта, через который будет подключен интерфейс RS485. Здесь же можно осуществить наглядное тестирование интерфейса между ЭВМ верхнего уровня и ЧПУ, если она обладает такими возможностями, в режиме "автоэхо".
Программа, реализующая информационно-управляющую оболочку, написана на языке С++ в среде С++Builder5. Отладка ПО проведена с помощью имитатора системы ЧПУ, выполненного на базе микроконтроллера семейства AVR.
Библиографический список
Фридман, А.Л. Язык программирования Си ++ [Текст] / А.Л. Фридман. - М.: ISBN, 2009. - 288 с.