Кхм. Я не хочу Вас разочаровывать, но при создании
постпроцессора для токарного станка с Русской УЧПУ
(Электроника НЦ-31, Альфа, H22, Р22,
..... ) , учтите: G-Код для кругового движения задается так : CLW G3 CCLW G2 Аналогично, про коррекцию: G41\42 Это связано с разницей в системах координат на станке и в Юге, => Для ЧПУ современных, иностранных
- все как обычно: |
|
Читая очередной талмуд по программированию ЧПУ, Вы, найдете красочное описание о том, что система ЧПУ может совершать круговые манипуляции в любой из координатных плоскостей XY-YZ-ZX. На деле, оказывается, что такое может совершать только ограниченное число ЧПУ. Найти которых - большая редкость.
|
![]() |
При создании обработки и генерировании сетки решения - решатель (процессор) UG формирует дуги окружности не превышающие 180° ( как правило ~172°), то - есть при формировании полной окружности - образуется 3 дуги ( 3 оператора CIRCLE/ ). А объединение их в одно круговое движение ( или деление на квадранты ) делает уже MOM.
При создании постпроцессора уделите внимание заданию минимальных и максимальных пределов радиусов окружностей.
Максимальный радиус окружности
- как правило указывается в паспорте
(параметрах) станка (ЧПУ), но не всегда. Обязательно уточните его.
Минимальный радиус окружности - будьте благоразумны?
Вы
представьте радиус окружности R=0.001 mm.
Представили? Это не реально.
Я только однажды встретил станок - который мог отработать размер 0,001 мм
- но он оказался шлифовальным.
То же самое касается и минимальной
длины дуги окружности
: L= 0.001
- это что-то из области фантастики.
Лучше прикиньте по
известной формуле : Lmin
= 2πRmin
или Lmin
= αRmin
6. Вывод круговой
интерполяции.
При создании кругового движения предусмотрите возможность вывода
круговой интерполяции и в виде:
G2\G3
XY IJ
И в виде:
G2\G3
XY R±
Вывод в первом формате, удобен своей стандартностью и
универсальностью.
Вывод во втором виде, удобен прежде всего для оператора ЧПУ и
имеет ряд недостатков:
- неоднозначность при выполнении дуги окружности +-180 и +-360 градусов,
- точность задания радиуса необходимо повысить на 1 знак, то-есть, если
I8.3, то радиус следует выводить R8.4 => иначе, ЧПУ при выполнении
программы может выдать ошибку "Неконгруэнтность профиля" -
несоответствие рассчитанных центров окружности, начала и конца. Но, так
бывает не у всех ЧПУ.
В показанном ниже примере, мы ввели пользовательскую переменную mom_output_circular_radius со значениями ON\OFF
global mom_output_circular_radius if {[info exists mom_output_circular_radius]==0} { set mom_output_circular_radius "OFF" ; } global mom_arc_angle if {$mom_output_circular_radius=="ON"} { ;# SET_SIGN_OF_RADIUS MOM_force once Radius MOM_do_template circular_move_radius ;# } else { ;# global mom_output_mode switch $mom_output_mode { ABSOLUTE { MOM_do_template circular_move } default { MOM_do_template circular_move_incr } } ;# }
Также, предусмотрите возможность вывода круговой
интерполяции как в режиме Абсолютных перемещений, так и в режиме Приращения.
Если Технолог, будет переставлять режимы вывода УП используя
User-Defined событие [Set Modes].
Выберите подходящий формат команды УЧПУ для этого и опишите
его. Обязательно, уделите внимание, как задается центр окружности при разных
режимах.
G91 G2\G3 X[приращения]Y[приращения]
I[приращения]J[приращения]
G91
G2\G3 X[приращения]Y[приращения]
I[абсолют]J[абсолют]
global mom_output_mode switch $mom_output_mode { ABSOLUTE { MOM_do_template circular_move } default { MOM_do_template circular_move_incr } }
Copyright © 2001—2009 че