|
|
 |
Модуль печати управляющей программы системы САПР-ЧПУ/2000 |
 |
|
Язык программирования САПР-ЧПУ
относится к АПТ-подобным языкам. Программа на языке САПР-ЧПУ состоит из двух разделов: данных и
процедур.
Раздел данных содержит описания геометрических
элементов в выбранной системе координат. В языке программирования реализовано 60 способов задания точек, прямых и окружностей.
Число геометрических элементов каждого типа не более 999. Для определения центра резцедержателя и вылетов резца (токарное
оборудование) или торца шпинделя (фрезерное оборудование) применяются операторы НТК и ИН. Кроме того, в разделе
данных может резервироваться память под идентификаторы, используемые для хранения числовых и символьных данных.
Для выполнения расчетов пользователь может
использовать арифметические выражения, состоящие из последовательности операндов, функций, знаков операций и скобок.
Операндами могут быть числа и идентификаторы. Может быть использовано 12 функций (например: косинус, квадратный корень,
угол между векторами и т.д.). В числе мощных функций – определение расстояния или возможности пересечения между любыми
элементами геометрии.
В разделе процедур записывается совокупность
фраз, описывающих траекторию движения, режимы обработки, технологические команды управления
станком. Каждой из 25-ти возможных процедур соответствует одна управляющая программа.
Последовательность построения траектории
инструмента задается геометрическими операторами (Ткi, Прi, +Крi, -Крi). Язык САПР-ЧПУ обеспечивает автоматический расчет
эквидистанты. Для этого используется операторы ФР+(инструмент справа от контура), ФР-(инструмент слева от контура), и Р(смещение
центра инструмента от контура). При необходимости прейти к движению по контуру используется оператор ФР0.
В языке САПР-ЧПУ предусмотрены два вида
коррекции инструмента: линейная на длину и положение, а также контурная на радиус. При расчете контурной коррекции
предусмотрены три типа скругления негладкосопряженных элементов траектории.
Режимы обработки задаются операторами:S(подача
минутная), SN(подача оборотная), V(постоянная скорость резания), N(обороты шпинделя).
С помощью оператора Z(ZA) задают: величину подъема /
опускания инструмента, а операторами F(Q)–углы поворота стола и шпиндельной бабки. Язык допускает совмещение движения по основным
координатам (X,Y,Z,F,U) с перемещением по 6 дополнительным координатам (операторы СК - совместный кадр или W – вектор приращений), а
также смену плоскости расчета при помощи операторов ПЛХУ, ПЛХZ, ПЛYZ.
В языке заложены возможность автоматической
генерации сплайна, для чего необходимо сообщить точность аппроксимации и массив характерных
точек в декартовой или полярной системе координат. Поддерживается линейная или линейно-круговая интерполяция сплайна.
В языке САПР-ЧПУ имеется возможность вызова
автоциклов,CNC -подпрограмм и подпрограмм, написанным самим технологом. Например: SUBR009
(L=90; L1=A9/78; L2=1.9). В отличие от многих CAM-систем имеется механизм графического моделирования подпрограмм.
В языке САПР-ЧПУ есть возможность автоматизации
расчета траектории для фрезерования карманов произвольной формы по схемам “Петля”,
”ЗИГ-ЗАГ”, ”Эквидистанта”. Внутри карманов может быть неограниченное число препятствий,
имеющих любую форму. При помощи большого числа параметров(подача резания, подъема/опускания, Z
безопасное и т.д.) технолог конкретизирует алгоритм автоматической обработки кармана. Нет
ограничений на выбор направления фрезерования и точки врезания.
Для выделения в контуре детали участков,
идентичных по конфигурации и технологии обработки, имеются операторы НУi и КУi. При помощи
оператора ОБУi (где: i - номер участка) можно включить конкретный участок в траекторию
движения инструмента, в том числе с геометрическими преобразованиями участка
(перенос, вращение на месте, вращение около центра, симметрия, зеркальное отображение).
В
языке есть операторы для несложного редактирования управляющей программы:
КАДР-изменение номера кадра, ГКАДР- главный кадр, [] – “ручное” кодирование кадров на языке стойки
ЧПУ, например: [G01L005P1,10P2,8].
|
|
 |
Пример текста программы на языке системы САПР-ЧПУ |
 |
 |
 |
|
ПРОГРАММА=КОРПУС;
СТАНОК=257;
* Выборка металла в кармане с
препятствиями эквидистантно контуру;
* Раздел данных;
ТК0=-10,-30;ТК9=МУКР3,КР1;ПР1=У/-30; КР1=0,0,41;
ТК1=0,-30; ТК10=-44.5,-14; ПР2=Х/-1; КР2=-27.5,-14,17;
ТК3=МУКР1,КР2; ТК11=44.5,-14; ПР3=У/-40.9; КР3=27.5,-14,17;
ТК4=МХКР2,КР4; ТК12=27.5,-31; ПР21=Х/0; КР4=-28,0,15;
ТК5=БУКР1,КР4; ТК13=-27.5,-31; ПР31=У/-7; КР5=28,0,15
ТК6=-1,41; ПР32=Х/-15; КР35=0,-10,5;
ТК7=БУКР5,КР1; ПР33=У/-13;
ТК8=БХКР5,КР3; ПР34=Х/15;
!
НУ0;*Описание участка;
ТК1; ПР1; +НК1; ПР2; ФР+; ПР3; МХ; -КР1; ТК3;
-КР2; ТК13; -КР2; ТК4;S/10; -КР4; S/20; ТК5; -КР1; БУ; ФР0; ПР2;
ФР+; БУ; +КР=0,20,10; МУ; ФР0; ПР2; ФР+; БУ; +КР35; МХ; ПР31;
ПР32; ПР33; МХ; +КР35; БХ; ПР33;ПР34; ПР31; БХ; +КР35; БУ; ФР0;
ПР2; МУ; ФР+; +КР=0,20,10; БУ; ФР0;ПР2; БУ; ФР+; -КР1; ТК7; -КР5;
ТК8; -КР3; ТК11; -КР3; ТК12; -КР3; ТК9;-КР1; БХ; ПР3; ФР0; КК1;
ПР2; ПР1; ТК1;
КУ0;
НП0;*Раздел процедур;
N/800; ФРЕЗА/6; S/8000; ТК0; S/100; Z/-20; ТК1;
* Выборка металла в закрытой зоне с препятствиями;
ВЫБЭ0; SР/35; S/1.50; Н/3; Т/1; R/3; Р/20; КЦ; Z/20; ТК1; ТК0;
КП0;!
|
| |
 |
 |
Результат моделирования
траектории движения инструмента (используется Win32-версия Графического Процессора ФЕНИКСъ)
|
|
 |
Более сложные элементы языка программирования САПР-ЧПУ/2000 |
 |
|
К наиболее сложным операторам языка
программирования САПР-ЧПУ относятся: аппарат условных выражений, макропроцедуры, работа с файлами, экранный интерфейс,
обработка символьных строк.
Условные выражения предназначены для
управления логикой формирования траектории движения или выполнения геометрических / арифметических расчетов. К операторам данной
группы относятся: метки, операторы условного и безусловного перехода, операторы цикла по счетчику и по условию,
операторы безусловного выхода из цикла или перехода на его начало, а также массивы пользовательских идентификаторов.
Операторы данной группы являются основой для программирования объемной обработки.
Макропроцедура
– программа обработки типового элемента, типовая схема обработки или типовая программа обработки деталей. Макропроцедура составляется
квалифицированным технологом на языке САПР-ЧПУ и включается в библиотеку макропроцедур. После этого она может включаться в текст любой
исходной программы. Язык САПР-ЧПУ обеспечивает как передачу параметров внутрь макропроцедуры, так и прием параметров от макропроцедуры.
Вложенность макропроцедур друг в друга не более 10.
Операторы обработки файлов позволяют создать(открыть) файл, читать (писать), данные
в(из) пользовательских идентификаторов, а также закрыть файл. Поддерживаются как текстовые файлы, так и двоичные файлы с постоянной и
произвольной длинной логической записи.
Оператор ДИАЛОГ предназначен для организации экранного интерфейса
“пользователь-процедура” c присваиванием значений, принимаемых с клавиатуры, идентификаторам.
Идентификаторы могут хранить не
только числовые данные, но и строки. Символьные строки могут организовываться в массивы, допускается присваивание и сравнение строк,
пересылка части строки, подстановка внутрь строки другой строки и т.п.
В языке САПР-ЧПУ используются как
стандартные Технологические команды управления станком (смена инструмента, плоскости и т.п.), так
и техкоманды, введенные в паспорт станка самим технологом. Техкоманда имеет произвольное имя и
необязательный номер. Техкоманде соответствует от одной до нескольких кадров, воспринимаемых
станком как команды, например, включение шпинделя.
Язык программирования САПР-ЧПУ постоянно развивается и пополняется новыми
возможностями.
|
|
 |
Более сложный пример использования языка программирования |
 |
 |
 |
|
ПРОГРАММА=VILКА;
СТАНОК=401
*Полуматрица нижняя ,радиусная объемная обработка, фреза конц. диам. 5 мм, Rзаточ.=0.2;
ТК0=0,0;
ПР0=У/R1; А=0.025;*Шаг;
ТК1=Х/ЦКР1,У/RКР1; ПР1=IПР2,ТК0; S1=35;
ТК2=ПР4,КР3; ПР2=У/4+0.05:2; S=5000;
ТК3=ПР5,КР3; ПР4=Х/28.25:2; R1=0.5;
ТК4=ПР4,ПР7; ПР5=ТК4,ТК5; I1=0;
ТК5=ПР9,ПР10; ПР6=У/УТК2;
ТК6=КР1,КР6; ПР7=МУ//ПР8,R/4.05;
ТК7=ПР0,ПР11; ПР8=У/-2.05;
ПР9=У/-14.05;
КР0=ЦТК0,ПР1; ПР10=Х/8.05:2;
КР1=БУПР1,МХПР4,МУПР2; ПР11=БХКР4,БХКР5;
КР2=IКР1,ТК0; ПР12=МХКР4,МХКР5;
КР3=МХПР4,МХПР5,R/4; ПР13=ТК0,Б/45.;
КР4=IКР1,ПР13; ПР14=У/0;
КР5=IКР2,ПР13; ПР15=ТК7,ТК1;
КР6=ЦТК0,-КР1;!
НУ0; *Расчет стpочки;
ПР6=МУ//ПР6,R/А;
ЕСЛИ РПР6<-УТК3;ТО ТК1=БХПР6,КР3;ИНАЧЕ
ТК1=ПР6,ПР5;КЕ;
ПР4=Х/ХТК1;КР1=БУПР1,МХПР4,МУПР2;КР2=IКР1,ТК0;
КР4=IКР1,ПР13;КР5=IКР2,ПР13;ТК6=БХПР14,КР1;
ПР3=МХ//ПР4,R/RКР1;ТК1=ПР3,ПР15;
ЕСЛИ ХКР1>РПР11;ТО R1=УТК1;ИНАЧЕ R1=РПР0;КЕ;
КУ0;
НУ1;*Обход стpочки;
ТК6;+КР1;
ЕСЛИ ЕRR(КР1,КР4)>0;
ТО ПР2;R1;ПР11;+КР4;ПР12;R1;ПР2;+КР2;ПР1;R1;ПР12;
+КР5;ПР11;R1;ПР1;+КР1;
ИНАЧЕ;R1;БУ;+КР4;R1;+КР2;R1;МУ;+КР5;R1;+КР1;
КЕ;ТК6;КУ1;НП0;СМ1;*Cверло;ИН/10;S/60;ТК0;Z/-15;S/100;Z/15;ТК0;ТЕХОСТ;
СМ2;*Фреза;ИН/5;ТК0;S1;ТК6;R1=УТК1;
ЦИКЛ;I1=0,1,5;Z/-А;ОБУ1;В/1;КОНЕЦ;
ПОКА ХКР1>0;
ОБУ1;В/1;ОБУ0;В/1;ТК6;Z/-А;КОНЕЦ;ТК6=БХПР14,КР0;ТК6;
ЦИКЛ;I1=0,1,10;+КР0;ДОТК6;Z/-А;КОНЕЦ;
+КР0;ДОТК6;ТЕХОСТ;
КП0;!
|
| |
 |
 |
Ниже приведены результаты
каркасного моделирования траектории движения, расчитанной по данной исходной программе.
|
|
|
|
|