Язык в postbuilder как убрать 000

Язык в postbuilder как убрать 000

История PostBuilder началась в 16-ой версии Unigraphics, именно в ней появились его первая реализация в исходных кода на Tcl/Tk. Но уже в обновлении Unigraphics 16.3.3 — создатели расчухались и вдруг не с того, и сего, закрыли исходники. Просто зашифровав их. При запуске функция . _decrypt ( или иная другая по названию) — расшифровывает функции в память, поэтому при запуске PostBuilder -а — компьютер ‘ вставал ‘ , и продолжает ‘ вставать ‘ , колом, если у него не хватало оперативной памяти.

Сначала, Все новички, используют PB, не поняв его — начинают вручную править и создавать ПП, но потом, после приобретения определенного опыта, поняв принципы и устои Юга, начинают пользоваться PB в полную силу.

Изначально, да и сейчас, структура работы PB не отличалась оригинальностью от обычной схемы работы оболочек Gui Unix\Linux .
Есть файл проекта — *. pui на его основе компилятор/сборщик формирует несколько файлов , в данном случает *. tcl , *.def. Взаимосвязь между ними довольна призрачна.

Я подразумеваю, что человек, читающий Это. Может запустить ПостБилдер. Может создать Адрес, Блок, Вспомогательную команду. Может редактировать. При создании постпроцессора в Постбилдере, он первым делом начинает редактировать описание адреса G_cutcom , убирая ненавистные уже +-999999999.9999. Ругаясь и чертыхаясь.

Порядок Адресов в кадре

Глубоко вникнуть в состав pui — файла меня вынудило несколько случаев. Один из них был просто дурацкий: мне нужно было получить такой порядок адресов в кадре : G90 G41. Используя PB , получалось только так: G41 G90 .

Я много раз пытался сделать это — не выходило. Создавать свой адрес, когда был такой же в наличие (по функционалу), было как то глупо. Ругнулся и открыл pui -файл . Внимательно изучив содержимое, я обнаружил описание и порядок адресов, решил их переставить . и у меня получилось :):):)
Точно так же, мне удалось решить и проблему адресов еще для одного постпроцессора, и получить требуемое: M 3 S .

До После

Вывод: порядок Адресов в кадре — задается в pui. И его нужно при необходимости менять.
Исключение: Вывод адреса N .

Добавление MOM-команд, функций в структуру pui (tcl, def).

1. Меня всегда интересовало, почему в PB так неудобно и не понятно работает с Nurbs и H elix — интерполяцией. В принципе, она была обычным видом движения. Но реализация через uplevel — раздражала.
В pui— файле за это отвечает следующая часть:

Для решения этого насущного вопроса, откроем pui — файл, и добавим строчки, чтобы получилось как показано ниже.

После открытия модифицированного Pui в PB получим следующую картинку, и более того , в tcl — файле будут образованы следующие команды, которые мы можем редактировать и наполнять прямо из PB :

Точно также, Вы можете добавлять и обработчики, и другие вспомогательные команды:

2. Используя выше приведенную методику. Теперь вы можете, добавлять в меню PB нужные Вам функции. И не только, начинающееся на знакомое PB_CMD_*.
Ограничение, я думаю одно — процедура не должна содержать аргументы.
Если, Вы, хотите добавить свою собственную процедуру, то предварительно, опишите её в tcl — файле, дополните pui , а уж , затем открывайте Ваш проект в PB.

Ui_pb_user_resource.tcl

Вы можете изменить этот файл, чтобы перезаписать ui_pb_resource.tcl файл. Этот файл также постоянно находится в каталоге POSTBUILD/app/ui directory. Вы должны скопировать этот файл в ваш домашний каталог, чтобы лично настроить вид и режим генератора постпроцессоров.

На Unix домашний каталогэто /users/log_name.

На Windows найдти этот каталог Вы можете с помощью команды echo %homedrive%%homepath% из командной строкиDOS.

Следующий пример позволяет Вам изменить вид шрифта на вашем экране или увеличить или уменьшить размер чисел в файле. Измение только значения чисел или имя броузера.

Вы можете также изменить другие элементы.

Modal Word Groups and mom Variables [Модальные группы слов и переменные mom]

Modal Group [Модальная группа] MOM Variable [Переменная MOM] Default Value [Значение по умолчанию] Description [Описание]
G_cutcom
$mom_sys_cutcom_code(LEFT) 41 Коррекция слева
$mom_sys_cutcom_code(RIGHT) 42 Коррекция справа
$mom_sys_cutcom_code(OFF) 40 Коррекция Выкл
$mom_sys_cutcom_code($mom_cutcom_status) $mom_sys_cutcom_code(LEFT) Коррекция (LEFT/RIGHT/OFF)
G_plane
$mom_sys_cutcom_plane_code(XY) 17 Код плоскости XY
$mom_sys_cutcom_plane_code(ZX) 18 Код плоскости ZX
$mom_sys_cutcom_plane_code(YZ) 19 Код плоскости YZ
$mom_sys_cutcom_plane_code($mom_pos_arc_plane) $mom_sys_cutcom_plane_code(XY) Код плоскости дуги (XY/ZX/YZ)
$mom_sys_cutcom_plane_code($mom_cutcom_plane) $mom_sys_cutcom_plane_code(XY) Код плоскости коррекции (XY/ZX/YZ)
G_adjust
$mom_sys_adjust_code 43 Коррекция длины инструмента положительная
$mom_sys_adjust_code_minus 44 Коррекция длины инструмента отрицательная
$mom_sys_adjust_cancel_code 49 Отмена коррекции длины инструмента
G_feed
$mom_sys_feed_rate_mode_code(IPM) 94 Режим подачи IPM
$mom_sys_feed_rate_mode_code(IPR) 95 Режим подачи IPR
$mom_sys_feed_rate_mode_code(FRN) 93 Режим подачи FRN
$mom_sys_feed_rate_mode_code(DPM) 94 Режим подачи DPM
$mom_sys_feed_rate_mode_code($feed_mode) $mom_sys_feed_rate_mode_code(IPM) Режим подачи (IPM/IPR/FRN)
G_spin
$mom_sys_spindle_mode_code(SFM) 96 Вывод шпинделя (CSS)
$mom_sys_spindle_mode_code(RPM) 97 Вывод шпинделя (RPM)
$mom_sys_spindle_mode_code($mom_spindle_status) $mom_sys_spindle_mode_code(RPM) Режим вывода шпинделя (RPM/SFM)
G_return
$mom_sys_cycle_ret_code(AUTO) 99 Отвод в цикле (AUTO)
$mom_sys_cycle_ret_code(MANUAL) 98 Отвод в цикле (MANUAL)
$mom_sys_cycle_ret_code($mom_cycle_retract_mode) $mom_sys_cycle_ret_code(MANUAL) Отвод в цикле (AUTO/MANUAL)
G_motion
$mom_sys_linear_code 1 Линейное перемещение
$mom_sys_rapid_code 0 Ускоренное перемещение
$mom_sys_circle_code(CLW) 2 Круговая интерполяция по ЧС
$mom_sys_circle_code(CCLW) 3 Круговая интерполяция против ЧС
$mom_sys_circle_code($mom_arc_direction) $mom_sys_circle_code(CLW) Круговая интерполяция (CLW/CCLW)
$mom_sys_cycle_breakchip_code 73 Цикл сверления с ломкой стружки
$mom_sys_cycle_off 80 Выключение циклов
$mom_sys_cycle_drill_code 81 Цикл сверления
$mom_sys_cycle_drill_dwell_code 82 Цикл сверления с задержкой
$mom_sys_cycle_drill_deep_code 83 Цикл глубокого сверления
$mom_sys_cycle_tap_code 84 Цикл нарезания резьбы
$mom_sys_cycle_bore_code 85 Цикл разверки
$mom_sys_cycle_bore_drag_code 86 Цикл расточки
$mom_sys_cycle_bore_dwell_code 89 Цикл расточки с задержкой
$mom_sys_cycle_bore_no_drag_code 76 Цикл расточки с ориентацией шпинделя
$mom_sys_cycle_bore_back_code 87 Цикл обратной расточки
$mom_sys_cycle_bore_manual_code 88 Цикл расточки с ручным выводом
$mom_sys_cycle_start_code 79 Код начала цикла
$mom_sys_cycle_reps_code x Код специального цикла
G_mode
$mom_sys_output_code(ABSOLUTE) 90 Абсолютный режим
$mom_sys_output_code(INCREMENTAL) 91 Режим в приращениях
$mom_sys_output_code($mom_output_mode) $mom_sys_output_code(ABSOLUTE) Режим абсолютный/в приращениях
G
$mom_prefun Подготовительная функция
$mom_sys_delay_code(SECONDS) 4 Задержка в секундах
$mom_sys_delay_code(REVOLUTIONS) 4 Задержка в оборотах
$mom_sys_delay_code($mom_delay_mode) $mom_sys_delay_code(SECONDS) Задержка (Seconds/Revolutions)
$mom_sys_spindle_max_rpm_code 54 Максимальная частота вращения шпинделя
$mom_sys_reset_code 92 Сброс абсолюной позиции
$mom_sys_unit_code(IN) 70 Единицы вывода (дюймы)
$mom_sys_unit_code(MM) 71 Единицы вывода (милиметры)
$mom_sys_unit_code($mom_output_unit) $mom_sys_unit_code(IN) Единицы вывода (Дюймы/Милиметры)
$mom_sys_return_code 28 Возврат в точку Home
X
$mom_pos(0) Координата X
$mom_cycle_feed_to_pos(0) Конечная точка цикла по X
$mom_cycle_rapid_to_pos(0) Начальная позиция в цикле по X
$mom_cycle_retract_to_pos(0) Точка отвода в цикле по X
$mom_cycle_clearance_to_pos(0) Безопасное расстояние в цикле по X
$mom_tool_x_offset Смещение инструмента по X
$mom_sys_home_pos(0) 0 Координата X точки Home
Y
$mom_pos(1) Координата Y
$mom_cycle_feed_to_pos(1) Конечная точка цикла по Y
$mom_cycle_rapid_to_pos(1) Начальная позиция в цикле по Y
$mom_cycle_retract_to_pos(1) Точка отвода в цикле по Y
$mom_cycle_clearance_to_pos(1) Безопасное расстояние в цикле по Y
$mom_tool_y_offset Смещение инструмента по Y
$mom_sys_home_pos(1) 0 Координата Y точки Home
Z
$mom_pos(2) Координата Z
$mom_cycle_feed_to_pos(2) Конечная точка цикла по Z
$mom_cycle_rapid_to(2) Начальная позиция в цикле по Z
$mom_cycle_retract_to_pos(2) Точка отвода в цикле по Z
$mom_cycle_clearance_to_pos(2) Безопасное расстояние в цикле по Z
$mom_tool_z_offset Смещение инструмента по Z
$mom_sys_home_pos(2) 0 Координата Z точки Home
fourth_axis
$mom_pos(3) 4-ая ось
$mom_pos(4) 5-ая ось
$mom_out_angle_pos(0) Угол 4-ой оси
$mom_out_angle_pos(1) Угол 5-ой оси
fifth_axis
$mom_pos(3) 4-ая ось
$mom_pos(4) 5-ая ось
$mom_out_angle_pos(0) Угол 4-ой оси
$mom_out_angle_pos(1) Угол 5-ой оси
I
$mom_pos_arc_center(0)-$mom_prev_pos(0) От начала дуги к центру по оси X
J
$mom_pos_arc_center(1)-$mom_prev_pos(1) От начала дуги к центру по оси Y
K
$mom_pos_arc_center(2)-$mom_prev_pos(2) От начала дуги к центру по оси Z
R
$mom_cycle_rapid_to_pos($mom_cycle_spindle_axis) Ускоренное позиционирование в цикле
$mom_arc_radius Радиус дуги
F
$feed Подача
$mom_cycle_feed_rate Подача в цикле
S
$mom_spindle_speed Частота вращения шпинделя
$mom_spindle_maximum_rpm Максимальная частота вращения шпинделя
T
$mom_tool_number Выбор инструмента
$mom_next_tool_number Предварительный выбор инструмента
D
$mom_cutcom_adjust_register 1 Регистр коррекции радиуса
H
$mom_tool_adjust_register 1 Регистр коррекции длинв
$mom_sys_zero 0 Отмена коррекции инструмента
dwell
$mom_delay_value Програмируемая задержка
cycle_dwell
$mom_cycle_delay Програмируемая задержка в цикле
P_cutcom
$mom_p_cutcom_code Коррекция
K_cycle
$mom_cycle_retract_to_pos($mom_cycle_spindle_axis) Позиция отвода в цикле
cycle_step1
$mom_cycle_step2 Модитфикатор приращения в цикле
cycle_step
$mom_cycle_step1 Значение приращения шага
Q_cutcom
$mom_q_cutcom_code Коррекция
E
$mom_thread_increment Приращение резьбы
M_spindle
$mom_sys_spindle_direction_code(CLW) 3 Направление вращения шпинделя по ЧС
$mom_sys_spindle_direction_code(CCLW) 4 Направление вращения шпинделя против ЧС
$mom_sys_spindle_direction_code($mom_spindle_direction) $mom_sys_spindle_direction_code(CLW) Направление вращения шпинделя(CLW/CCLW)
$mom_sys_spindle_direction_code(OFF) 5 Выключение шпинделя
$mom_sys_spindle_range_code($mom_spindle_range) Диапазон шпинделя
M_coolant
$mom_sys_coolant_code(MIST) 7 Включение СОЖ смешанное
$mom_sys_coolant_code(ON) 8 Включение СОЖ
$mom_sys_coolant_code(FLOOD) 8 Включение СОЖ полавом
$mom_sys_coolant_code(TAP) 8 Включение СОЖ через инструмент
$mom_sys_coolant_code($mom_coolant_status) $mom_sys_coolant_code(FLOOD) Код подачи СОЖ(FLOOD/MIST/ON..)
$mom_sys_coolant_code(OFF) 9 Выключение СОЖ
M
$mom_sys_optional_stop_code 1 Опциональный останов
$mom_auxfun Функция перемещения
$mom_sys_program_stop_code 0 Останов программы
$mom_sys_end_of_program_code 2 Конец программы
$mom_sys_rewind_code 30 Конец программы с возвращением в начало
$mom_sys_tool_change_code 6 Смена инструмента
N
$mom_seqnum Номер кадра

Glossary of Terms [Словарь терминов]

Следующий список терминов является общим для поспроцессора и генератора постпроцессоров.

Address [Адрес] — В программе ЧПУ, адрес указывает системе ЧПУ где сохранить значение и что это значение представляет. Примеры: X1.234, G01, M05, S1445. Терминология адресов, адресных слов и слов обращается к одним и тем же элементам. Система использует их взаимозаменяемо в генераторе постпроцессоров.

Block [Кадр] — Выходная строка, которая посылается в систему ЧПУ. Каждый кадр содержит слова, которые система разделяет символом разделитея заканчивает символом конца строки. Пример: N0100 G01 X.1.234 Y1.234 Z1.234 F100. S1500 M03.

Custom Command [Команда задаваемая пользователем] — В генераторе постпроцессоров, это позволяет Вам, создать процедуру задаваемую пользователем, назваемую PROC, которая содержит задаваемый пользователем TCL код. Вы можете добавить эту процедуру к существующим событиям и последовательностям генератора постпроцессоров. Эти команды задаваемые пользователем добавляют функции, которые генератор постпроцессоров не может создать автоматически.

Definition file [Файл описания] — Этот файл с расширением .def, описывает статические характеристики кадров и список переменных адресов и форматов для заданной пары станок/система ЧПУ. Это упоминается также как файл описания и имеет соответствующий TCL и pui файл для каждого постпроцессора.

Event [Событие] — Когда Вы выводите программу на постпроцесор, генератор событий посылает ряд событий в постпроцессор. Постпроцессор задает многочисленные переменные для каждого события. Событие — это набор данных, который обрабатывается поспроцессором и создает данные, которые вызывают заданное действие станка / системы ЧПУ.

Event Generator [Генератор событий]— Механизм в модуле обработки NX, который извлекает информацию о траектории инструмента из NX и передает их в поспроцессор как события и переменные. Система запускает генератор событий, когда Вы нажмаете OK или Принять в меню постпроцессора NX.

Event Handler [Обработчик событий]— Этот файл содержит TCL код. Он содержит процедуры, которые определяют то, что система делает с каждым событием. Каждая процедура определяет, что генерирует система на выходе. Процедура определяет что делать, и процедура определяет какой кадр выводить системе. NX расширяет язык TCL, что позволяет Вам, легко создавать выходные кадры, основанные на файле описания. Эти расширения доступны внутри обработчика событий. Обработчик событий может также обрабатывать переменные которые загружаются генератором событий перед выводом кадра. Например: my_post.tcl.

Extensions [Расширение] —NX расширяет язык TCL, добавляя несколько команд для последующей обработки. Это делает проще формирование и вывод кадра и сокращает код TCL. Эти все команды расширения начинаются с префикса MOM_. Например: MOM_do_template.

Global variable [Глобальная переменная]— Эти переменные доступны во всех процедурах в обработчике событий. Они также доступны в шаблонах кадров файла описания. Если Вы хотите добавить переменную, к которой ряд процедур может обратиться, то Вы должны объявить переменную как глобальную.

Leader [Лидер]— Лидер это символ (ы), который представляет адрес в файле описания. В поспроцессоре, задается по умолчанию лидер адреса. Например: X, G. В выходной программе ЧПУ, лидер может быть пробелами или другими символами перед началом программы. В этом контексте, лидер первоначально использовался для того, чтобы задать код команды для устройства считывания с перфоленты.

Marker [Маркер]— В последовательностяхгенератора постпроцессоров, маркеры указывают возможные события, которые могут произойти. Каждый маркер/событие может включить несколько кадров информации. Например: Start_of_Path. В пределах события управления станком, есть несколько маркеров, которые позволяют Вам управлять порядком, в котором система генерирует выход. Например, вывод сообщения оператору в маркере Start of Program [Начало программы].

mom_variable— Переменные генератора событий как система генерируют каждое событие. Это всегда глобальные переменные. Например: mom_feed_rate.

MOM [Система управления выводом]— Сокращение названия системы управления выводом модуля обработки NX. Это основная функциональность в модуле обработки NX. Система также использует эту функциональность чтобы генерировать цеховую документацию, выводить файл CLS, обеспечивать доступ к библиотекам NXи постпроцессору. Префикс mom в нижнем регистре используется для переменных, например mom_feed_rate. Префикс MOM в верхнем регистре используется для задания имен обработчика событий, например MOM_linear_move или в командах расширения, например MOM_do_template.

Operation End Sequence [Кадры в конце операции]— В программе ЧПУ кадры в конце операции содержат события и действия, которые происходят после конечного движения отвода до конца операции.

Operation Start Sequence [Кадры в начале операции]— В программе ЧПУ кадры в начале операции содержат события и действия, которые происходят с начала операции до первого перемещению резания.

Operator Message [Сообщение оператору] — Это — сообщение, включенное в код программы ЧПУ, которое посылает команду на экран системы ЧПУ. Это обычно требует специальных кодов в коде программы ЧПУ таких как"(" или " (.msg", чтобы система ЧПУ распознала этот код как сообщение оператору. Например: N0010 (*** Tool number 12 ***).

Postprocessor [Постпроцессор] — Это механизм преобразования траектории инструмента из формата CAM системы в формат заданного станка/системы ЧПУ. Поспроцессор состоит из файла обработчика событий (.tcl), файла описания (.def) и файла интерфейса генератор постпроцессоров (.pui). Использование этих файлов с каждым постпроцессором определяется файлом шаблона постпроцессора.

Postprocessor template file [Файл шаблона поспроцессора]— Этот файл содержит список постпроцессоров, которые доступны пользователю в сессии моделя обработки. Вы выбираете этот файл как часть конфигурации сессии обработки (TEMPLATE_POST) или как библиотеку станков. Например: template_post.dat.

Procedure [Процедура]— Также называется как proc, это — часть программы TCL, которая похожа на подпрограмму. Для каждого события, на которое постпроцессор должен обрабатывать, есть процедура в файле обработчика событий. Например: MOM_start_of_parogram.

Program End Sequence [Кадры в конце программы]— В программе ЧПУ кадры в конце программы содержат события и действия которые происходят после последней операции до конца программы.

Program Start Sequence [Кадры в начале программы]— В программе ЧПУ кадры в начале программы содержат события и действия которые происходят от начала программы до начала первой операции.

pui file — Генератор постпроцессоров использует этот файл для задания постпроцессора. Этот файл, наряду с .tcl и .def файлами, создается постпроцессором. .pui файл не используется при обработке поспроцессором, но требуется при редакировании существующих постпроцессоров.

Review Tool [Инструмент просмотра]— После обработки постпроцессором, инструмент просмотра отображает окно с тремя столбцами, в которых отображаются все события, переменные и кадры программы которые создает система. Например, Вы можете выбрать событие, посмотреть какие переменные доступны для этого события и их значения и какие кадры программы ЧПУ выводит это событие.

Sequence [Последовательность] —В генераторе постпроцессоров, это ряд маркеров в общих областях в программе. Система использует последовательности в нескольких событиях блоках для вывода заданной последовательности. Например: Последовательность в начале операции.

TCL — TCL (звучит tee-cee-el), который расшифровывается как командный инструментальный язык это язык сценариев, который стал популярным из-за простоты использования. TCL имеет другой компонент, Tk, инструмент интерфейса пользователя. WISH это windows оболочка которая содержит Tk.

Tk —это инструмент интерфейса пользователя, который может использоваться вместе с TCL. Tk обеспечивает основные инструментальные средства интерфейса пользователя таких как клавиши, флажки и движки.

tcl file — см. обработчик событий.

Post Execute [Исполняемый модуль постпроцессора] —NX содержит постпроцессор, который использует данные NX о траектории инструмента как вход, и выводит код читаемый системой ЧПУ станка. Вы настраиваете поспроцессор с помощью разработанного пользователем обработчика событий и файлов описания. Используйте эти файлы, вместе с поспроцессором, чтобы генерировать вывод от простой к сложной комбинации станок /система ЧПУ.

Post Builder [Генератор постпроцессоров] —Обеспечиваетлегким в использовании интерфейс для того, чтобы создать и изменять постпроцессоры. Функции "перетащи и отпусти", используются для создания форматов, слов, кадров и последовательностей. Генератор постпроцессоров позволяет определять устройств вывода, форматы для адресов и управляет последовательностью вывода для начала и конца операций, начала и конца программы, смены инструмента и встроенных циклов.

User Defined Event (UDE) [Событие зазаваемое пользователем]-это событие, которое Вы может изменить. Система использует UDE для управления станком и как постпроцессорные команды в начале и конце программы. Вы может присоединить UDE к любому объекту модуля обработки такому как Инструмент или Программа. Несколько базовых UDE включены в модуль обработки, и Вы можете изменить их или добавиться ваш собственный.

Язык в postbuilder как убрать 000

1. Сбор и анализ информации

Перед началом работы необходимо детально изучить оборудование с ЧПУ. Документация, подлежащая проработке, поставляется вместе с оборудованием фирмы — изготовителем системы ЧПУ и станка. Список необходимой документации:

— инструкция по ручному программированию и описание алгоритмов функционирования УЧПУ;

— паспортные данные станка;

— общая схема станка и инструкция по программированию.

Так же требуется изучить:

— правила кодирования управляющей информации;

— рекомендуемую последовательность слов в кадре;

— рекомендации по использованию отдельных функций системы управления;

— рекомендации по объединению в один кадр, либо разнесению в разные кадры отдельных функций системы управления, а также рекомендуемую последовательность записи этих функций.

Функции системы подразделяются по критерию возможности автоматического изменения их значений в процессе выполнения управляющей программы. Функции любой системы ЧПУ классифицируются по следующим группам:

1) автоматически программно-управляемые:

— управление координатными движениями по осям станка X, Y, Z, U, V, W и т. д.;

— управление вращательными движениями вокруг осей станка А, В, С и т. д.;

— управление сменой инструмента;

— перемещения инструмента (подачей);

— управление выбором коррекционных установок;

— подготовительные операции (функции типа G);

— вспомогательные операции (функции типа М).

2) программно-управляемые с применением ручных способов:

— коррекцию размеров (компенсацию) инструмента;

— коррекцию величины подачи.

3) структурные или программно-неуправляемые возможности оборудования:

— структурных функций системы управления;

— выбор закона разгона-торможения;

— выбор величины ускорения разгона-торможения;

— режим ввода информации с носителя.

Функции станка, как и функции системы управления, можно подразделить на автоматически программно-управляемые, программно-управляемые с применением ручных способов и структурные. В качестве примеров можно привести следующие функции:

— вращательные движения вокруг осей станка;

— управление скоростью вращения шпинделя;

— выбор диапазона скорости шпинделя;

— управление сменой инструмента;

— управление нарезанием резьбы (согласование вращения шпинделя с подачей вдоль его оси);

— зажим и разжим осей.

В зависимости от конструкции станка одна и та же функция может относиться к любой из указанных выше групп. Так, смена инструмента может быть полностью автоматической, может требовать некоторых действий от оператора станка, может быть полностью ручной. Аналогичная структура для управления скоростью шпинделя, охлаждением, зажимами-разжимами осей и так далее [6].

2. Создание постпроцессора

Запускаем приложение PostBuilder программыNXCAM. Создаем новый файл с названием Fanuc_0i_MC (такое название носит система ЧПУ на предприятии), в графе description (описание) выбираем 3-х координатный фрезерный станок.

Библиотека NX содержит большое количество уже готовых шаблонов постпроцессоров под разные системы ЧПУ, поэтому создавать полностью новый постпроцессор не имеет смысла. Выбираем наиболее подходящий по функциям файл-это Fanuc_6М и на основе него проводим дальнейшую отладку. На рисунке 2.9 наглядно представлены выше описанные действия.

Начало работы в PostBuilder

Рисунок 2.9 — Начало работы в PostBuilder

3. Ввод данных о станке

В этом пункте заносятся ограничения станка. Ограничения станка описываются по геометрическим и динамическим характеристикам, сюда относятся: пределы перемещений исполнительных органов станка; допустимые скорости перемещений исполнительных органов станка; допустимые мгновенные перепады скоростей перемещения исполнительных органов станка; допустимое ускорение перемещения исполнительных органов станка; совместимость перемещений исполнительных органов станка. Окно редактирования этого раздела представлено на рисунке 2.10.

Ввод данных о станке

Рисунок 2.10 — Ввод данных о станке

4. Назначение G и М функций под систему FANUC 0i-MC

Основные единицы любого кода управляющей программы — G и M команды. Между собой G-коды выделяются в отдельные группы, в пределах которых действие одной функции может отменяться другой. Функции с адресом (префиксом) M — называются вспомогательными и предназначены для управления различными устройствами станка, например включение/выключение шпинделя, охлаждения и так далее [5].

Используя документацию на систему ЧПУ FANUC 0i-MC, задаем значения для каждой подготовительной функции G и вспомогательной функции М. На рисунках 2.11 и 2.12 представлены окна редактирования этих функций.

Окно значений G-функций

Рисунок 2.11 — Окно значений G-функций

Окно значений М-функций

Рисунок 2.12 — Окно значений М-функций

6. Добавление и редактирование программных блоков

Согласно стандартам ISO 6983-1:1982, DIN 66025, ANSI/EIA RS-274-D, ГОСТ 20999-83 управляющая программа для станка с ЧПУ передается на станок в текстовом файле с кодировкой 8-ми битовый формат ASCII без контроля четности (8-bit no-parity ASCII format). Каждая строка программы называется кадром. Кадр состоит из блоков (команд) разделенных пробелами. В общем случае стойка ЧПУ работает только с одним кадром, который называется текущим. Все блоки кадра прочитываются и обрабатываются стойкой одновременно [13].

Поменять порядок вывода в управляющей программе программных блоков можно путем определения необходимой последовательности в окне редактирования PostBuilder на вкладке «Program and Tool Path» (программы и траектория инструмента) — рисунок 2.13.

Редактирование блоков команд

Рисунок 2.13 — Редактирование блоков команд

7. Задание приоритета программным блокам

У каждой стойки ЧПУ есть свои особенности связанные с порядком обработки блоков в кадре, то есть их приоритетом. Это очень важно для постпроцессора, включать все необходимые команды до перемещения и отключать после. В закладке «WordSequencing» настраивается эта опция (рисунок 2.14).

8. Общее оформление кадра

В этом пункте настраивается оформление кадра: выбирается знак, которым заканчивается кадр, расстояние между блоками команд, порядок нумерации кадра и так далее (рисунок 2.15).

Задание приоритета командным блокам

Рисунок 2.14 — Задание приоритета командным блокам

Оформление кадра УП

Рисунок 2.15 — Оформление кадра УП

Чтобы просмотреть правильность отлаженных функций можно перейти на вкладку «Output Settings» (Настройки вывода). В этой вкладке показывается то, как обрабатываются события или как постпроцессор будет выводить последовательность блоков определенной команды. При необходимости можно изменить эти настройки. Удобный графический интерфейс демонстрирует изменения в коде путем сопоставления двух окон «New Code» (новый код) и «Old Code» (старый код) (рисунок 2.16). Для данного постпроцессора обработку событий оставляем неизменной.

На этом этапе заканчивается отладка постпроцессора. Далее его необходимо сохранить в библиотеке шаблонов постпроцессоров и следующим шагом будет тестирование созданного файла, на примере вывода управляющей траектории для конкретной детали.

VIII Международная студенческая научная конференция Студенческий научный форум — 2016

ОСОБЕННОСТИ РАЗРАБОТКИ ПОСТПРОЦЕССОРА ДЛЯ РАБОТЫ В МОДУЛЕ NXCAM.

В настоящее время рациональным решением для подготовки производства на станках с ЧПУ является разработка управляющих программ в автоматизированном режиме непосредственно на рабочем месте технолога. Одним из решений для этой процедуры можно принять использование модуля «Обработка» (САМ) в системе UNIGRAPHICS NX от компании Siemens PLM Software. Одной из проблем, возникающих на производстве, становится то, что для формирования управляющей программы для каждой системы ЧПУ необходим отдельный постпроцессор – программный модуль, переводящий описание траектории инструмента на внутреннем языке САМ в формат управляющей программы. В среде NX существует определенное количество шаблонов для создания постпроцессора. Однако каждый станок с ЧПУ имеет свои особенности в составлении управляющей программы. Именно поэтому существует необходимость в доработки постпроцессора.

В данной работе для создания своего постпроцессора используется программный продукт NX/PostBuilder.В этой среде автоматически будет создаваться стандартный шаблон постпроцессора, который необходимо редактировать под особенности своего станка.После создания нового файла появится следующее диалоговое окно (рис. 1):

Рисунок 1 – Диалоговое окно задания параметров постпроцессора

Вводиться имя постпроцессора, лучше, если оно совпадает с моделью станка, в нашем случае это фрезерный станок с ЧПУ JMD3CNC. Описание станка не изменяем. Единицы вывода постпроцессора задаем в миллиметрах. Ставим галочку в окне «Разрешить изменение для событий, задаваемых пользователем», в этом случае можно задавать функциональные особенности постпроцессора для нашего станка. На этом подготовительная часть для создания шаблона постпроцессора заканчивается.

В следующем окне вводиться характеристики станка, они необходимы для формирования особенностей задания границ обработки и выхода в референтную точку:

Рисунок 2 – Диалоговое окно задания характеристик станка

Теперь непосредственно переходим к редактированию программы. Для нашего случая в начале программного управления станком необходимо, чтобы присутствовали:

расширение файла программы;

путь к файлу программы в системе ЧПУ.

Для этого необходимо добавить дополнительные текстовые блоки, в которых и непосредственно будет записаны эти строки (рис. 3).

%_N_K_MPF – где для К- название программы , MPF – расширение.

;$PATH=/N_MPF_DIR – путь к программе;

Однако если записать данные строки, то у нас выйдет ошибка. Это будет связано с тем, что система NX будет воспринимать все стоящее после знака $ как функцию. Чтобы этого не происходило, необходимо ввести обратный слеш, тогда программа не будет выполнять подстановку значений.

Рисунок 3 – Программные коды в задании инициализации программы

Следующим шагом является замена или удаление команд, которые не используются в управляющей программе станка.

В начале программы необходимо добавить в кадре строки безопасности«G40 G17 G90 G71» команду G00. По этой команде перемещения по координатам, идущие сразу после строки безопасности и записанные без определяющих подготовительных функций, будут производиться на быстром ходу, как это и нужно для подвода инструмента. На вкладке «Последовательность в начале операции» в команде «Автоматической смене инструмента» необходимо убрать кадр G91 G28 Z0, так как эта функция отсутствует в системе ЧПУ Sinumerik 802S нашего станка. Так как инструмент в управляющей программе станка обозначается иначе, нам нужно изменить во вкладке «Управлением станком» в команде «Коррекция на длину» команды G43 H01 на команду T01 D01. Во вкладке «Перемещения инструмента» в команде «Круговое перемещение» необходимо убрать команду К. Во вкладке «Встроенные циклы» в команде «Выключение цикла» убрать команду G80, и в командах, расположенных ниже командуQ. Во кладке «Последовательность в конце операции» в команде «ПеремещениеGomove» необходимо добавить кадр с командами G00 и Z. Зададим выражение Z = 100. По этой команде после окончания операции инструмент будет отводится на безопасное расстояние от заготовки. Во вкладке «Последовательность в конце программы» в команде «Конец программы» убираем кадр %_N_K_MPF, а также заменяем кадр M02 на M30.

Следующим шагом будет создание в управляющей программе строк с наименованием начала программы и видом обработки.

Для этого необходимо перейти к командам пользователя. В данном разделе будет использоваться встроенный язык программированияTCL.

Рисунок 4 – Задание команд пользователя

Для начала необходимо создать свою команду. НазовемееPB_CMD_MY_OWN_PROGRAMM. Для упрощения работы в системе есть специальная база команд, которую можно открыть: Utilities-BrowseMOMVariables. Для задания строки потребуется команда mom_output_literal. Нам необходимо, что бы наша команда выводила строковое значение. Для этого запишем следующую строку: mom_output_literal “;===START OF THE PROGRAMM===”. Команда, помещенная в кавычках будет считаться системой как строка. Для работы данной команды необходимо добавить ее во вкладку «Последовательность в начале программы» после цикла MOM_set_seq_on. На данном этапе после запуска постпроцессирования, мы получим строку в начале программы:;===STARTOFTHEPROGRAMM===. Следующей задачей является получение строки с название обработки. Для этого создадим еще одну команду и назовем ее PB_CMD_Start_of_operation. В данной команде для отображения названия операции будем использовать команду mom_operation_name. Объявим ее глобальной, используя команду global. ВследующейстрокенеобходимозаписатьMOM_output_literal ";OPERATIONNAME =>$mom_operation_name". В данной команде все записанной в кавычках считается системой текстом, а значение, идущие после знака $ считаются переменной. Так же для работы данной команды необходимо добавить ее во вкладку «Последовательность в начале программы» после цикла PB_CMD_MY_OWN_PROGRAMM.

Чтобы убедиться в работоспособности постпроцессора сохраним его и постпроцессируем заранее подготовленную операцию обработку корпусной детали (рис. 5).

Рисунок 5 – Управляющая программа обработки детали

Таким образом, используя модуль NX/PostBuilder, с его возможностями задания команд пользователя, можно сгенерировать постпроцессор для любого исполнения системы ЧПУ и тем самым повысить эффективность использования модуля NXCAM.

Литература:

Ведмидь П.А.,Сулинов А.В. Программирование обработки в NX CAM. – М.: ДМК Пресс, 2014 – 304 с.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *