Язык в postbuilder как убрать 000
Перейти к содержимому

Язык в 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.

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 с.

Язык в 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). Для данного постпроцессора обработку событий оставляем неизменной.

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

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

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