Специфика промежуточного языка определяется следующими факторами. Промежуточная программа должна содержать всю информацию, необходимую для составления управляющих программ обработки детали на любых станках с ЧПУ, т.е. в форме, независящей от вида технологических операций обработки, модели станка и устройства ЧПУ. Промежуточный язык не предназначен для непосредственного использования технологами-программистами. Он является внутренним языком компьютера.
Траектория инструмента в CLDATA представляется в расчетной декартовой системе координат, определенным образом связанной со станком. В этом языке предусмотрен набор всех возможных технологических команд, используемых в станках с ЧПУ.
Форма представления информации на промежуточном языке выбирается исходя из условий удобства хранения и обработки ее в ЭВМ.
Структура языка CLDATA строится так, чтобы он не зависел от особенностей тех или иных компьютеров. В этой связи набор символов четко не оговаривается. Допускается использование слов трех типов: целых, действительных и символьных. Конкретная форма представления слов зависит от ЭВМ. В качестве операторов CLDATA используется запись, которая может содержать слова различных типов и иметь различную длину. Общее число слов в записи не должно превышать 245.
Первые три слова любой записи имеют фиксированный смысл и должны быть целыми числами, равными друг другу по длине. Нулевое слово определяет общее количество слов в записи, первое - порядковый номер записи, начиная с единицы, второе - код типа, а третье - код подтипа записи. Коды типов определяются классами главных слов языка CLDATA, а коды подтипов - главными словами (табл.10.). Основные классы: 2000 - команда постпроцессору, 5000 - траектория инструмента, 14000 - конец программы.
Слова, начиная с четвертого, имеют различное содержание, которое определяется кодами типа и обычно подтипа записи. Длина слов, начиная с четвертого, должна быть одинаковой, но не обязательно равной первым трем. Когда символьное слово не содержит полезной информации, оно заменяется пробелами. Если полезной информации не содержит слово типа действительного или целого числа, то оно заполняется числом максимальной абсолютной величины. В табл.10. приведены примеры вспомогательных слов языка CLDATA. В табл.10. приведен фрагмент промежуточной программы.
Таблица 10.8 Главные слова CLDATA
N п/п | Слово | | Код | Значение | | |
1 2 3 4 5 6 7 8 9 101112131415161718191021222324252627 | FROMGOTOCIRCLEORIGINCLEARPGOHOMESAFPOSHEADSELCTLLOADTLCUTCOMSPINDLCOOLNTRAPIDFEDRATCYCLETHREADROTABLPLANEINSRTOPSKIPOPSTOPPARTNOPPRINTPPFUNSTOPFINI | | 5003 | Исходное положение | 5004- | Перемещение инструмента по прямой | 5005 | |15000 | Перемещение инструмента по дуге | | окружности | 1027 | Начало координат | 1004 | Безопасная плоскость | 17 | Возврат в исходное положение | 1094 | Безопасная позиция | 1002 | Номер шпиндельной головки | 1056 | Выбор инструмента | 1055 | Загрузка инструмента | 1007 | Коррекция инструмента | 1031 | Шпиндель | 1030 | Охлаждение | 2005 | Быстрый ход | 1009 | Подача | 1054 | Цикл | 1036 | Нарезание резьбы | 1026 | Поворот стола | 99 | Рабочая плоскость | 1046 | Вывод в кадр | 1012 | Условный пропуск | 2003 | Дополнительный останов | 1045 | Номер детали | 1044 | Печать постпроцессора | 1079 | Постпроцессорная функция | 2002 | Останов |14000 | Конец |
Таблица 10.9 ВСПОМОГАТЕЛЬНЫЕ СЛОВА CLDATA | ||
N п/п | Слово | | Код | Значение || | | |
1 2 3 4 5 6 7 8 9 10111213141516171819202122 | BOREBRKCHPDEEPDRILLFACETAPMMPRMMPMDWELLOSETNOLENGTHRANGEORIENTINCRCCLWCLWBOTHREVRGTLEFTONOFF | | 82 | Растачивание | 288 | Сверление с ломкой стружки | 153 | Сверление глубокое | 163 | Сверление | 81 | Зенкование | 168 | Резьбонарезание | 316 | Миллиметры на оборот | 315 | Миллиметры в минуту | 279 | Выстой | 508 | Номер корректора | 9 | Длина | 145 | Диапазон | 246 | Ориентация | 66 | Приращение | 59 | Против часовой стрелки | 60 | По часовой стрелке | 83 | Оба | 97 | Число оборотов | 24 | Положение инструмента справа | 8 | Положение инструмента слева | 71 | Включить | 72 | Выключить |
Таблица 10.10 Пример программы на языке CLDATA
Nп/п | Номерслова | Содержание слов | Значение |
34 | С0С1С2С3С4С5С0С1С2С3С4С5С6С7С8.. | 000050000302000010090003150095.000110000040500000005K1057.15101.00021.50 | Количество слов в записиПорядковый номер записиКод типа(команда постпроцессору)Код подтипа (подача-FEDRAT)Шифр минутной подачи (MMPM)Величина подачиКоличество слов в записиПорядковый номер записиКод типа(траектория инструмента)Код подтипаНаправляющая поверхность (контур)Индекс направляющей поверхностиКоордината X-Координата Y- Тройка чиселКоордината Z- |
Технологическая управляющая программа (УП), представленная в станочной системе координат и с учетом технических характеристик станка и устройства ЧПУ кодируется в соответствии со стандартом ISO.
УП представляется в виде последовательности кадров, каждый из которых содержит информацию об одной элементарной команде управления. В подавляющем большинстве такая команда задает перемещение инструмента относительно заготовки по определенной траектории (отрезку прямой или дуге окружности). Каждый кадр складывается из слов, содержащих геометрическую либо технологическую информацию. Используется адресный способ записи слов, при котором числовой информации слова предшествует буквенный адрес, определяющий смысловое значение этой информации. Наиболее употребительные символы адресов и их значения приведены в табл.10.11.
Таблица 10.11
Символ | Код | Значение |
A | 65 | Угловое перемещение вокруг оси X |
B | 66 | Угловое перемещение вокруг оси Y |
C | 67 | Угловое перемещение вокруг оси Z |
F | 70 | Функция подачи |
G | 71 | Подготовительная функция, определяющая режим работы устройства ЧПУ (например, вид интерполяции) |
I | 73 | Координата центра дуги окружности по оси X при круговой интерполяции или шаг резьбы, нарезаемой при движении параллельном оси X |
J | 74 | То же применительно к оси Y |
K | 75 | То же применительно к оси Z |
L | 76 | Коррекция инструмента |
M | 77 | Вспомогательная функция |
N | 78 | Номер кадра |
S | 82 | Скорость главного движения |
T | 83 | Номер инструмента и номер корректора инструмента |
X | 88 | Перемещение параллельное оси X |
Y | 89 | Перемещение параллельное оси Y |
Z | 90 | Перемещение параллельное оси Z |
Каждый кадр заканчивается символом перевода строки. Числовая информация в слове может быть снабжена знаками + или -, определяющими направление движения исполнительных органов станка.
В кадре записывается только та информация, которая изменяется по отношению к предыдущему кадру. При нулевой геометрической информации (адреса X,Y,Z,I,J,K,A,B,C) и неизменных технологических командах (адреса F,S,T,M) слова в кадре по соответствующим адресам не записываются.
Символом начала программы является знак %, а символами конца - M02 или M30. Текст, поясняющий программу, заключается в круглые скобки, информация между которыми не воспринимается и не обрабатывается устройством ЧПУ.
В тех случаях, когда УП разбивается на отдельные этапы обработки, используется символ главного кадра ":". Он записывается вместо символа N в качестве адреса в слове "номер кадра". В кадре с символом ":" записывается вся информация, необходимая для начала или возобновления обработки. Для осуществления наладочных переходов при наладке станка и исключения этих переходов после окончания наладки с помощью специального органа управления устройства ЧПУ в программе перед символами "номер кадра" и "главный кадр" записывается символ пропуска кадра "/".
Управляющая программа для конкретной модели станка с ЧПУ характеризуется своим форматом, структура которого описывается с помощью специальных формул. Например, сверлильный станок с ЧПУ с подвижным рабочим столом, поворотной плитой с позиционным управлением на восемь позиций и шпиндельной головкой, перемещающейся по вертикальным направляющим, может иметь следующий формат кадра:
N03 G2 X042 YL+032 ZD+320 B1 F04 S03 T2 M2*
где N03 - трехзначный номер кадра, в котором нули перед первой значащей цифрой могут быть опущены; G2 - двузначная подготовительная функция; X042 - перемещение по оси Х всегда положительное, четыре цифры слева от подразумеваемой запятой и две справа; YL+032 - перемещение по оси Y со знаком + или - с тремя цифрами слева от подразумеваемой запятой и двумя справа, размеры даются как в абсолютных значениях, так и в приращениях, нули перед первой значащей цифрой могут быть опущены; ZD+320 - перемещение по оси Z со знаком + или -, три цифры слева от подразумеваемой запятой и две справа, нули после последней значащей цифры могут быть опущены; B1 - поворот вокруг оси Z на 45 градусов с восемью положениями от 1 до 8; F04 - четырехзначная функция подачи, нули перед первой значащей цифрой могу быть опущены; S03 - трехзначная функция скорости шпинделя, нули перед первой значащей цифрой могут быть опущены; T2 - двузначная функция инструмента; M2 - двузначная вспомогательная функция; * - символ конца кадра.