Дальнейшим действием в режиме ТПО может быть просмотр следующего рисунка из списка файлов либо загрузка кода УП в систему ЧПУ. Блок-схема алгоритма кодирования и вывода УП представлена на рисунке 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 и φ не активны);