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


ОСОБЕННОСТИ РАЗРАБОТКИ ПОСТПРОЦЕССОРА ДЛЯ РАБОТЫ В МОДУЛЕ NXCAM.
Урманов М.Д. 1
1 Набережночелнинский институт (филиал) Казанского (Приволжского) федерального университета
Работа в формате PDF
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке «Файлы работы» в формате PDF
В настоящее время рациональным решением для подготовки производства на станках с ЧПУ является разработка управляющих программ в автоматизированном режиме непосредственно на рабочем месте технолога. Одним из решений для этой процедуры можно принять использование модуля «Обработка» (САМ) в системе 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 не выводить точку
Не много отвлечемся и я вам расскажу о том, как и где создаются MOM (TCL) расширения. Основную роль в этом играют библиотеки , libcamsmom.dll, libcamsint.dll и libcams.dll. Основные классы описаны в библиотеке — libcamsint.dll и libcamsmom.dll . Их иерархию — я не знаю. Строго говоря, подготовка и обработка данных для постпроцесса состоит из нескольких частей: первая часть это функции MOM_POST_*, вторая часть из более современной — классы. Каждый из них содержит огромное количество методов и свойств, некоторые дополняются своими специфическими. Ниже привожу их как пример (часть) методы класса UGS::TCL :
public: protected: ::ask_output_directory(void) ::ask_output_buffer(void) ::ask_proc_names(char const *) ::clear_end_buffer(void) ::close_output_file(char *) ::do_internal_event(char *) ::does_handler_handle_event(char *) ::dump(int (__cdecl*)(char const *. )) ::eval_boolean(char const *) ::eval_interp_proc_arg(char const *) ::eval_num_expr_in_xlator(char *,double *,int *) ::eval_str_expr_in_xlator(char *,char *,int *) ::init(void) ::implement_unload(void) ::implement_destroy(void) ::init_output_buffer(void) ::load_default_handlers(void) ::load_definition_file(void) ::load_event_handlers(void) ::load_global_vars_into_xlator(void) ::parser_error(char *,int,char *,char *) ::raise_warning(char const *) ::remove_var(char *) ::set_associative_array(char const *,char const *,char const *) ::set_dbl_array(char *,int,double *) ::set_dbl_array_2d(char *,int,int,double *) ::set_debug_mode(int) ::set_double(int,char const *,double) ::set_int(char *,int) ::set_int_array(char *,int,int *) ::set_integer(int,char const *,int) ::set_internal_string(char *,char *) ::set_last_result(char *) ::set_last_result_from_interp(void) ::set_channel_being_postprocessed(class UGS::XTP_channel *) ----xtp ::set_postprocessing_mode(bool) ------xtp ::set_str_array(char *,int,char * *) ::set_string(char *,char *) ::set_double_fast(enum MOM_FAST_VARS_e,double) ::set_int_fast(enum MOM_FAST_VARS_e,int) ::set_string_fast(enum MOM_FAST_VARS_e,char const *) ::set_timing_group(int) ::set_unprefixed_var(char const *,char const *) ::start_translator(void) ::stop_translator(void) ::unload(void) ::unload_definition_file(void) ::write_definition_file(void) ::write_obuf_to_ofile(void) static class UGS::OM::AttributeId ::start_bufferAttId ::symbol_tableAttId ::time_stampAttId ::timing_groupAttId ::xtpTransAttId ::primary_output_file_nameAttId ::previous_xtp_eventAttId
Иерархия классов примерно такая :

Сами MOM- функции создаются в методе класса ::add_funcs_to_xlator(void *this)
А вот присоединяются непосредственно к командам TCL посредством структуры: struct TCL_vtbl_s * pvtbl_tcl — со смещением 17. Что за команда TCL скрыта под этим номером можно только догадываться.
. (*(void (__cdecl **)(int, _DWORD, int (__cdecl *)(int, int, int, int), int, _DWORD)) ((void (__cdecl **)(_DWORD, _DWORD, _DWORD, _DWORD, _DWORD))pvtbl_tcl+ 17))
Если Вы хотите узнать какие именно процедуры (Ваши\не Ваши) загружаются и используются в интерпретаторе, то используйте Tcl команду в событии [end_of_program] :
set s [ info commands ]
MOM_output_to_listing_device $s
В исходниках UG — файлы, отвечающие за МОМ, расположены примерно здесь:
| /src/cams/no/ind/ | |
| mom_post_tclex.c | — создание MOM — команд |
| mom_doc.c | |
| mom_doc_definitions.c | |
| mom_post.c | — основной файл MOM |
| mom_post_convert_point.c | — конвертирует \ поворачивает точку, проверяет лицензию |
| mom_post_dh_kinematics.c | — ведет расчет и выводит точки |
| mom_post_kinematics.c | |
| mom_post_syscycle.c | |
| mom_post_turbo_cbs.c | — отвечает за режим TURBO |
| mom_post_ytab.c | |
| opr_mom.c | — создает MOM — переменные для параметров операций |
| opr_mom_doc.c | — создает MOM — переменные для параметров операций для Shop |
Методы классов.
Рассмотрим их, по мере создания и подключения.
Пример цикла обхода всех членов в программе в поисках нужного инструмента, используя язык запросов QRY:
QRY='[$mom_tool_name] &= [^T.*$] &&[$mom_tool_diameter] > [0.5]’
>
]
Синтаксис QRY (запросов):
| libcams .dll | |
| UGS::MOM_DOC | |
| UGS::MOM_DOC::add_funcs_to_xlator(void *this) | |
| UGS::MOM_INFO::add_funcs_to_xlator(); | |
| «MOM_list_oper_path» | MOM_list_oper_path Команда выводит листинг операции. И позволяет выбрать формат листинга. Эта команда позволяет Вам постпроцессировать операцию используя существующий постпроцессор (Tcl и Def файл). Вы можете выводить или машинный код G\M, или список UDEs Пример: вывод листинга операции в CLSF-формате. set list_tcl [MOM_ask_env_var UGII_CAM_TOOL_PATH_DIR]clsf.tcl set list_def [MOM_ask_env_var UGII_CAM_TOOL_PATH_DIR]clsf.def MOM_list_oper_path $mom_operation_name $list_tcl $list_def |
| «MOM_load_oper_ude_exps» NX 9 | |
| «MOM_list_user_defined_events» | MOM_list_user_defined_events < Start/End > < operation_name > [] Это расширение позволяет выводить список UDEs определенных в операции. » Start » — список начальных UDE, » End » — конечные Пример: MOM_list_user_defined_events «Start» $mom_operation_name \ «$mom_source_directory\\test_info.def» «$mom_source_directory\\test_info.tcl» «c:\\Temp\\XYZ.txt» |
| «MOM_refresh_display» | мом — функция п о обновлению экрана, для вывода рисунка в документации. |
| «MOM_capture_image» | судя по названию функция делает захват изображения с окна UG, используются технологии VRML GIF |
| «MOM_capture_path_gif_image» NX 9 | MOM_capture_path_gif_image [] — позволяет выбрать путь\папку куда сохранять gif -файлы [ tool path ] операции. |
| > | |
Но классы описанные в библиотеке выше являются более общными для всех, а вот непосредственно отвечающими за обработку и вывод постпроцессора являются классы лежащие внутри ниже показанной библиотеки.
- mom_kin_4th_axis_center_offset
- mom_kin_5th_axis_center_offset
- mom_kin_pivot_gauge_offset
- mom_ result — массив [ X, Y, Z, 4th, 5th ] — первичное решение
- mom_ result1 — массив [ X, Y, Z, 4th, 5th ] — альтернативное
- mom_result = mom_special_output < 0 = None, 1 = Use Main MCS, 2 = Fixture Offset, 3 = CSYS Rotation>.
- mom_result1 = mom_csys_matix[12]
- mom_result2 = mom_machine_csys_matrix[12].
Класс UGS::UI_WIZD.
- ISV или методы симуляции УП в Unigraphic -е реализуются методом » хука «. То-есть, классы MOM_SIM — в реализации тоже самое, что и MOM_POST, только обработка события проходит через специфичные для данного класса метода, а уж потом вызываются методы класса MOM_POST.
В библиотеках Юниграфики, собственно за обработку данных координат (для постпроцессора) отвечает большое количество функций с именем: MOM_POST_*. В их теле происходит интенсивная обработка mom -переменных, переменных — кинематики, разного рода вычисления. Вот примерные имена их:
.
MOM_POST_convert_point
MOM_POST_edm_4axis_pt
MOM_POST_rotate_tool_axis
MOM_POST_convert_5axis_pt
MOM_POST_dh_convert_point
MOM_POST_round
MOM_POST_rotary_pos
MOM_POST_rotate_point
MOM_POST_limit_angle
.
— на них, я не буду останавливаться. Их много, а тратить время на их анализ просто не хотелось, кто хочет — может попробовать сам. Покажу только список всех кинематических переменных читаемых функцией MOM_POST_init_kinematic_data. В этой функции MOM читает мом-переменные и заполняет сложную внутреннюю структуру. Все значения приводятся к верхнему регистру MCE_convert_toupper(char *), а затем сравниваются с определенными значениями. Активно применяется PART_ask_units. Внутри функции читается переменная «UGII_CAM_POST_ENABLE_RESOLUTION_ROUND» — за что она отвечает можно только догадываться. Практически все строковые кинематические MOM переменные переводятся в числовые < 1, 0 >= , либо в массив значений.
"kin_cycle_plane_change_to_lower" ; "TRUE" "kin_cycle_plane_change_per_axis" ; "TRUE" "kin_output_unit" ; IN or MM "kin_post_data_unit" ; IN or MM "kin_machine_type" ; "lathe" "3_axis_mill" "4_axis_head" "4_axis_table" "mill_turn" "3_axis_mill_turn" "5_axis_dual_table" "5_axis_dual_head" "5_axis_head_table" "2_axis_wedm" "4_axis_wedm" "kin_wire_tilt_output_type" ; ANGLES, COORDINATES "kin_min_angular_incr" ; "COORDINATES" "ADVANCED" "kin_machine_resolution" "kin_min_arc_length" "kin_track_center_of_ball" ; "TRUE" "kin_4th_axis_plane" ;"ZX" "kin_4th_axis_rotation" ;"reverse" STANDARD "kin_4th_axis_min_incr" "kin_4th_axis_min_limit" "kin_4th_axis_max_limit" "kin_4th_axis_zero" "kin_4th_axis_center_offset" "kin_4th_axis_direction" ; "SIGN_DETERMINES_DIRECTION" "SIGN_PLUS_CCLW" "CCLW_LARGER_ANGLE" "ALWAYS_CLW" "ALWAYS_CCLW" "ALWAYS_SHORTEST" "CODE_FORCES_DIR" "kin_linearization_tol" "kin_linearization_flag" ;"TRUE" "kin_5th_axis_plane" ;"ZX" "kin_5th_axis_rotation"; "reverse" STANDARD "kin_5th_axis_min_incr" "kin_5th_axis_min_limit" "kin_5th_axis_max_limit" "kin_5th_axis_zero" "kin_5th_axis_center_offset" "kin_5th_axis_inclination_to_4th" "kin_5th_axis_direction" ; "SIGN_DETERMINES_DIRECTION" "MAGNITUDE_DETERMINES_DIRECTION" "SIGN_PLUS_CCLW" "CCLW_LARGER_ANGLE" "ALWAYS_CLW"; "ALWAYS_CCLW" "ALWAYS_SHORTEST" "CODE_FORCES_DIR" "kin_iks_usage" "iks_usage" "kin_4th_axis_plane" "kin_5th_axis_plane" "kin_pivot_dist_vec" "kin_pivot_gauge_offset" "kin_coordinate_type" ; "POLAR" ;POSX, POSY, POSZ, NEGX, NEGY, NEGZ "kin_holder1_orientation" , "kin_holder1_offset_x" , "kin_holder1_offset_y" , "kin_holder1_offset_z" "kin_holder2_orientation" , "kin_holder2_offset_x" , "kin_holder2_offset_y" , "kin_holder2_offset_z" "kin_holder3_orientation" , "kin_holder3_offset_x" , "kin_holder3_offset_y" , "kin_holder3_offset_z" "kin_holder4_orientation" , "kin_holder4_offset_x" , "kin_holder4_offset_y" , "kin_holder4_offset_z" "kin_holder5_orientation" , "kin_holder5_offset_x" , "kin_holder5_offset_y" , "kin_holder5_offset_z" "kin_holder6_orientation" , "kin_holder6_offset_x" , "kin_holder6_offset_y" , "kin_holder6_offset_z" "kin_polar_radius_side" ; "POSITIVE" "NEGATIVE" "kin_nurbs_output_type" ; BSPLINE, HEIDENHAIN_POLY, SIEMENS_POLY "kin_independent_head" ; FRONT, REAR, RIGHT, LEFT, SIDE, SADDLE, NONE "kin_ind_to_dependent_head_x" "kin_ind_to_dependent_head_z" "kin_clsf_generation" "kin_no_defaults" "kin_read_ahead_next_motion" ;"TRUE" "kin_is_turbo_output" ;"TRUE" "FALSE" "kin_arc_output_mode" ; FULL_CIRCLE, QUADRANT, LINEAR "kin_helical_arc_output_mode" ;FULL_CIRCLE, QUADRANT, LINEAR, END_POINT "kin_arc_valid_plane" ; XYZ, XY, YZ, ZX, ANY "kin_min_arc_radius" "kin_max_arc_radius" "kin_tool_tracking_height" "kin_rapid_feed_rate" "kin_max_fpm" "kin_max_fpr" "kin_max_frn" "kin_max_dpm" "kin_min_fpm" "kin_min_fpr" "kin_min_frn" "kin_min_dpm" "kin_tool_change_time" "kin_clamp_time" "kin_flush_time" "kin_spindle_axis" ;"XAXIS" "YAXIS" "ZAXIS" "kin_4th_axis_incr_switch" ; ON (incremental) or OFF (absolute) "kin_5th_axis_incr_switch" "kin_tool_tip_distance_compute_method" "sys_linearization_method"; "axis"
Основным классом можно признать UGS::MOM_TCL. Косвенным фактом этого служит обработчик по умолчанию:
proc MOM__halt <> < set pfx_util_done_heading 0;>proc MOM__util_do_heading <> global pfx_part_name; global pfx_logname; global pfx_date; global pfx_util_done_heading; if < $pfx_util_done_heading == 1 >< return >; MOM__util_print «Informational Output for PART: $pfx_part_name»; MOM__util_print «Created By: $pfx_logname»; MOM__util_print «Creation Date: $pfx_date»; MOM__util_print «===============================================»; set pfx_util_done_heading 1; > proc MOM__util_print_line_context set fl [open $filename r]; set from [expr $linenum-$context]; set to [expr $linenum+$context]; set current 1; if < $from < 1 >< set from 1 >; while < $current = 0 > if < $current >= $from > < MOM__util_print "$: $line"; > set current [incr current]; >; close $fl; > proc MOM__util_print < line >set f [open «./pfx_information.out» a]; puts $f $line; flush $f; close $f; > proc MOM__boot <>
set pfx_debug_init_done 0; set pfx_debug_events 0; set pfx_debug_vars 0; set pfx_debug_num_flag 0; set pfx_debug_range_flag 0; set pfx_debug_range_lower 0; set pfx_debug_range_upper 0; set pfx_debug_event_num 0; set pfx_parse_error ""; set pfx_parse_file_name ""; set pfx_parse_line_number ""; set pfx_parse_line ""; set pfx_error_info ""; set pfx_error_code ""; set pfx_error_event ""; set pfx_error_event_handler_name ""; set pfx_parse_error ""; set pfx_parse_file_name ""; set pfx_parse_line_number ""; set pfx_parse_line ""; set pfx_error_info ""; set pfx_error_code ""; set pfx_error_event ""; set pfx_error_event_handler_name ""; proc PFX_on_event_error <> global pfx_error_info; global pfx_error_code; global pfx_error_event; global pfx_error_event_handler_name; MOM__util_print "***** A TCL Error Has Occurred *****"; MOM__util_print "Event Handler: $pfx_error_event_handler_name"; MOM__util_print "Event: $pfx_error_event"; MOM__util_print "Error Info: $pfx_error_info"; MOM__util_print "Error Code: $pfx_error_code"; > proc PFX_on_parse_error <> global pfx_parse_error; global pfx_parse_file_name; global pfx_parse_line_number; global pfx_parse_line; MOM__util_print "***** A Parse Error Has Ocurred *****"; MOM__util_print "Definition file: $pfx_parse_file_name"; MOM__util_print "In Or Near Line Number: $pfx_parse_line_number"; MOM__util_print_line_context $pfx_parse_file_name $pfx_parse_line_number 3 stdonly; MOM__util_print "Parser error message: $pfx_parse_error"; > proc PFX_catch_warning <> global pfx_warning_info; MOM__util_do_heading; MOM__util_print ""; MOM__util_print "+++MOM WARNING+++"; MOM__util_print "Info: $pfx_warning_info"; MOM__util_print ""; > proc PFX_on_event_error_debug <> global pfx_error_info; global pfx_error_code; global pfx_error_event; global pfx_error_event_handler_name; MOM__util_print ""; MOM__util_print "***ERROR***: Error in the Event Handler"; MOM__util_print "---------------------------------------"; MOM__util_print "Event Handler: $pfx_error_event_handler_name"; MOM__util_print "Event: $pfx_error_event"; MOM__util_print "Error Info: $pfx_error_info"; MOM__util_print "Error Code: $pfx_error_code"; MOM__util_print ""; > proc PFX_on_parse_error_debug <> global pfx_parse_error; global pfx_parse_file_name; global pfx_parse_line_number; global pfx_parse_line; MOM__util_print ""; MOM__util_print "***ERROR***: Parse Error in the Definition File"; MOM__util_print "--------------------------------------------------"; MOM__util_print "Definition file: $pfx_parse_file_name"; MOM__util_print "In Or Near Line Number: $pfx_parse_line_number"; MOM__print_line_context $pfx_parse_file_name $pfx_parse_line_number 3 fileonly MOM__util_print "Line: $pfx_parse_line"; MOM__util_print "Parser error message: $pfx_parse_error"; MOM__util_print ""; > proc PFX_end_debug <> < global pfx_util_done_heading; set pfx_util_done_heading 0; >proc PFX_init_debug <> global pfx_debug_init_done; global pfx_part_name; global pfx_logname; global pfx_date; global pfx_util_done_heading; global pfx_debug_events pfx_debug_vars pfx_debug_num_flag; global pfx_debug_range_flag pfx_debug_range_lower pfx_debug_range_upper; MOM__util_print "Set Debugging Options"; PFX_set_defaults; if < [file exists mom_debug_answers] >PFX_read_answers; MOM__util_print "Use the answers found in mom_debug_answers."; > else MOM__util_print "Use default answers."; >; MOM__util_print "Answers: $pfx_debug_events $pfx_debug_vars $pfx_debug_num_flag \ $pfx_debug_range_flag $pfx_debug_range_lower $pfx_debug_range_upper"; set pfx_util_done_heading 0; set pfx_debug_init_done 1; > proc PFX_read_answers <> global pfx_debug_events; global pfx_debug_vars; global pfx_debug_num_flag; global pfx_debug_range_flag; global pfx_debug_range_lower; global pfx_debug_range_upper; set f [open mom_debug_answers r]; gets $f pfx_debug_events; gets $f pfx_debug_vars; gets $f pfx_debug_num_flag; gets $f pfx_debug_range_flag; if < $pfx_debug_range_flag == 1 >gets $f pfx_debug_range_lower; gets $f pfx_debug_range_upper; >; close $f; > proc PFX_set_defaults <> global pfx_debug_events; global pfx_debug_vars; global pfx_debug_num_flag; global pfx_debug_range_flag; global pfx_debug_range_lower; global pfx_debug_range_upper; set pfx_debug_events 1; set pfx_debug_vars 0; set pfx_debug_num_flag 1; set pfx_debug_range_flag 0; set pfx_debug_range_lower 0; set pfx_debug_range_upper 0; > proc PFX_before_each_add_var <> global pfx_debug_assign_var; global pfx_debug_vars; global pfx_debug_event_num; global pfx_debug_range_lower pfx_debug_range_upper pfx_debug_range_flag; if < $pfx_debug_vars == 0 >< return >; MOM__util_do_heading; set num $pfx_debug_event_num; incr num; if < $pfx_debug_range_flag == 1 >if < $num < $pfx_debug_range_lower || $num >$pfx_debug_range_upper > < return >; >; MOM__util_print "Var: $pfx_debug_assign_var"; > proc PFX_before_each_event <> global pfx_debug_event_name; global pfx_debug_events pfx_debug_range_flag pfx_debug_event_num; global pfx_debug_range_lower pfx_debug_range_upper pfx_debug_num_flag; incr pfx_debug_event_num; if < $pfx_debug_events == 0 >< return >; if < $pfx_debug_range_flag == 1 >if < $pfx_debug_event_num < $pfx_debug_range_lower || $pfx_debug_event_num >$pfx_debug_range_upper > < return >; >; MOM__util_do_heading; if < $pfx_debug_num_flag == 1 > < set num $pfx_debug_event_num; >else < set num ""; >; MOM__util_print ""; MOM__util_print "Event $: $pfx_debug_event_name"; MOM__util_print "--------------------------------------------------"; MOM__util_print ""; >
Что делает этот код — я не знаю. Наверно он служит для каких-то отладочных мероприятий.
Подведем итоги.
Как вы можете видеть, при постпроцессировании доступны MOM -функции из 3-х классов
более того, некоторые функции слабо документированы, либо сознательно не афишируются разработчиками даже в утилите Post Builder : mom_vars_browser . tcl
Post Builder — Вывод координаты через команду пользовалеля
![]()
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.
Сейчас на странице 0 пользователей
Нет пользователей, просматривающих эту страницу.
Сообщения
Оригинал публикации на сайте компании «Топ Системы» Что такое PLM: от прошлого к будущему Компания «Топ Системы» в рамках популяризации темы о PLM-решениях и инженерном ПО среди различной аудитории запустила проект «Просто о сложном» на РБК, в котором во время интервью с экспертами обсуждаются тренды в области PLM и CAD-систем и вопросы развития самого комплекса T‑FLEX PLM в соответствии с этими трендами и с учетом текущей ситуации в отечественной промышленности. Представляем вам мнение эксперта Богдана Ключникова по теме «Что такое PLM: от прошлого к будущему». View the full article
Автор: gudstartup · Опубликовано: 1 час назад
никуда если есть датчик зажима шпинделя, он просто остановится
Автор: Kelny · Опубликовано: 2 часа назад
Гасите не через контекстное меню на самом компоненте/элементе, а через меню ПРАВКА и там выбрать ПОГИСИТЬ-Выбранные конфигурации или Только эта конфигурация. Там вроде от галочек в настройках конфигурации зависит, может быть производная, но при этом по галочкам не принимать изменения вышестоящей родительской конфигурации.
Автор: Kelny · Опубликовано: 3 часа назад
Автор: Kelny · Опубликовано: 3 часа назад
Меню Справка(?)-Учебные пособия Solidworks
Автор: ДОБРЯК · Опубликовано: 4 часа назад
Если вы поняли как считать профиль матрицы. То напишите чему равен профиль для этой матрицы и для этой матрицы. Одна и та же матрица 10х10.
Автор: Oi-Tf · Опубликовано: 4 часа назад
Давно висит вопрос по теме, стойка TF Plus, как сделать что бы отображалась симуляция без блокировки приводов? на других стойках что видел нажимаешь на графику открывается первый вариант с блокировкой осей, нажимаешь еще раз на кнопку графики, открывается симуляция где можно просто нажать под экранную клавишу start, или 1block (сингл блок). На двух китайских станках почему-то не открывается, раньше думал что это стандартная базовая опция. Фото пришлось обрезать тк не влезает по размеру. Фото симуляции которая нужна.
Автор: Dm75 · Опубликовано: 4 часа назад
И да, наипервейщий вопрос при работе без датчика- куда полетит заготовка из разжавшихся кулачков, если действительно пропадает давление? Хозяину в лоб? ( токарный вроде станок).
![]()
Автор: mamomot · Опубликовано: 5 часов назад
Для определения углов отдачи большинства проката для подавляющего числа требований чертежей используется соотношение радиуса гибки к толщине металла равное 1. При этом опыт нашей технологической науки дает нам диаграмму которую я прикрепляю к сообщению. Мой же личный опыт показывает, что таковое соотношение в реальной гибке еще меньше (причем гибка идет с проковкой и с утонением материала по линии сгиба. Да и гибка в узком ручье не подпадает ни под какую рекомендацию, о чем в толстых книгах ясно сказано: «Все получите из опытной гибки». Выше говорил: для правильной гибки по всем канонам нужна система быстросъемного инструмента и стеллаж секционных матриц и пуансонов под рукой. В самых современных листогибочных центрах уже и не понять: где и какая матрица, а где какой пуансон — см. видео:
Автор: wega7777 · Опубликовано: 5 часов назад
Попробуйте найти сигнал Hydraulic Pump Motor Run,для этого через кнопку system ,зайти в меню конфигурация pmc, меню символы и там в сигналах Y поискать какой Y для Hydraulic Pump Motor.Затем через кнопку system зайти в обслуживание pmc, и в меню статус найти этот Y и посмотреть изменение этого сигнала при отключении гидравлики.https://drive.google.com/file/d/13eBPTJ-8R_7MxF4TlZdI54vjxcDoYSE8/view?usp=drivesdk Это к тому что может у вас по какой то причине пропадает этот сигнал для управления реле которое комутирует управление пускателем.
- IPS Theme by IPSFocus
- Язык
- Стиль
- Политика конфиденциальности
- Реклама на форуме
CAD/CAM/CAE Russian Community Board Powered by Invision Community
Разработка постпроцессора для оптимизации работы на станках с числовым программным управлением Текст научной статьи по специальности «Компьютерные и информационные науки»
Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Вержаковская Марина Александровна, Аронов Виталий Юрьевич, Слепнев Алексей Андреевич
Данная работа заключается в разработке программного модуля для станков с силовым программным управлением, который отвечает всем требованиям по механической, фрезерной обработке тяжелых сплавов. Актуальность темы данной разработки заключается в необходимости улучшения и ускорения механической обработки деталей, путем внедрения разработанного программного модуля . Цель данной работы разработка программного модуля для автоматизации работы на станках с числовым программным управлением для предприятия ООО «Самарский завод специальных сплавов». Объектом исследования является цех механической обработки деталей, оснащенный станками с числовым программным управлением. Предметом исследования является процесс анализа систем с числовым программным управлением и оптимальный способ реализации программного модуля ( постпроцессора ). В работе рассматривается процесс создания постпроцессора и управляющей программы для станков с числовым программным управлением . Постпроцессор это модуль, преобразующий файл траектории движения инструмента и технологических команд, рассчитанный процессором CAM или CAD/CAM-системы , в файл управляющей программы в строгом соответствии с требованиями методики ручного программирования конкретного комплекса «станок система с ЧПУ». Для разработки программного модуля для оптимизации на работы на станках с ЧПУ использовались следующие программные средства: CAD/CAM система NX Unigraphics 10 (система необходима для создания 3D модели будущей детали и создания управляющих программ для станка с числовым программным управлением ), PostBuilder (генератор постпроцессоров , система необходима для создания 3D модели будущей детали и создания управляющих программ для станка с числовым программным управлением ), Cimko Edit (необходима для виртуального моделирования, демонстрации готовой управляющей программы ). Главной особенностью разработанного постпроцессора является то, что кадры кода управляющей программы записаны циклами. При циклической работе увеличивается скорость движения инструмента, повышается гладкость, уменьшается шероховатость обрабатываемой детали. Циклы заставляют двигаться инструмент плавно по заданному радиусу. В случае с отдельными координатами инструмент движется прерывисто, следовательно на детали остаются следы от инструмента. В заключении приводится сравнительный анализ стандартного и разработанного в данной работе модулей. Разработанный постпроцессор позволяет составлять корректные, более удобные управляющие программы . С экономической точки зрения, постпроцессор позволяет сократить затраты на инструмент и материалы благодаря гибкому алгоритму управляющей программы .
i Надоели баннеры? Вы всегда можете отключить рекламу.
Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Вержаковская Марина Александровна, Аронов Виталий Юрьевич, Слепнев Алексей Андреевич
Реализация методов многоканальной обработки с ЧПУ
Обработка деталей РКТ с наличием сложных поверхностей
Обработка деталей РКТ с наличием сложных поверхностей
Повышение эффективности технологической подготовки производства на основе применения cad/cam/cnc систем
Автоматизация подготовки управляющих программ для станков с числовым программным управлением
i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.
Post processor development for optimize work of machines with numerical program control
Developing a software module for machine tools with power program control, which meets all the requirements for the mechanical, milling processing of heavy alloys is described in this work. The relevance of the topic for this development is the need to improve and accelerate the machining of parts, through the introduction of the developed software module. The purpose of this work is the development of a software module for the automation of work on machine tools with numerical program control for the enterprise LLC Samara Special Alloys Plant. The object of the study is the workshop for machining parts, equipped with machine tools with numerical control. The subject of research is the process of analyzing systems with numerical program control and the optimal way to implement a software module (postprocessor). The work discusses the process of creating a postprocessor and control program for machine tools with numerical control. A postprocessor is a module that converts a file of toolpaths and technological commands, calculated by a CAM or CAD / CAM system processor, into a control program file in strict accordance with the manual programming technique requirements of a specific machine-CNC system. The following software was used to develop a software module for optimization on work on CNC machines: CAD / CAM system NX Unigraphics 10 (the system is needed to create a 3D model of the future part and create control programs for the CNC machine), PostBuilder (a postprocessor generator, the system is needed to create a 3D model of the future part and create control programs for a CNC machine), Cimko Edit (necessary for virtual modeling, finished control program demonstration). The developed postprocessor main feature is that the control program code is recorded in cycles. During cyclic operation, the movement speed of the tool increases, smoothness increases, and the roughness of the workpiece decreases. Cycles force the tool to move smoothly over a given radius. In the individual coordinates case, the tool moves intermittently, therefore the tool remain on the part traces. In conclusion, a comparative analysis of the standard and developed in this work modules. The developed postprocessor allows to make correct, more convenient control programs. From an economic point of view, the postprocessor allows you to reduce the cost of tools and materials thanks to a flexible control program algorithm.
Текст научной работы на тему «Разработка постпроцессора для оптимизации работы на станках с числовым программным управлением»
РАЗРАБОТКА ПОСТПРОЦЕССОРА ДЛЯ ОПТИМИЗАЦИИ РАБОТЫ НА СТАНКАХ С ЧИСЛОВЫМ ПРОГРАММНЫМ УПРАВЛЕНИЕМ
ВЕРЖАКОВСКАЯ Марина Александровна1
Виталий Юрьевич2 СЛЕПНЕВ
Сведения об авторах:
1к.ф.-м.н., доцент, доцент кафедры программного обеспечения и управления в технических системах Поволжского государственного университета телекоммуникаций и информатики, г. Самара, Россия, vma@psuti.ru
2к.т.н., доцент кафедры программного обеспечения и управления в технических системах Поволжского государственного университета телекоммуникаций и информатики, г. Самара, Россия, avy@psuti.ru
3программист-технолог цеха металлообработки Самарского завода специальных сплавов, г. Самара, Россия, a.slepnev93@mail.ru
Данная работа заключается в разработке программного модуля для станков с силовым программным управлением, который отвечает всем требованиям по механической, фрезерной обработке тяжелых сплавов. Актуальность темы данной разработки заключается в необходимости улучшения и ускорения механической обработки деталей, путем внедрения разработанного программного модуля. Цель данной работы — разработка программного модуля для автоматизации работы на станках с числовым программным управлением для предприятия ООО «Самарский завод специальных сплавов». Объектом исследования является цех механической обработки деталей, оснащенный станками с числовым программным управлением. Предметом исследования является процесс анализа систем с числовым программным управлением и оптимальный способ реализации программного модуля (постпроцессора). В работе рассматривается процесс создания постпроцессора и управляющей программы для станков с числовым программным управлением. Постпроцессор — это модуль, преобразующий файл траектории движения инструмента и технологических команд, рассчитанный процессором CAM или CAD/CAM-системы, в файл управляющей программы в строгом соответствии с требованиями методики ручного программирования конкретного комплекса «станок — система с ЧПУ». Для разработки программного модуля для оптимизации на работы на станках с ЧПУ использовались следующие программные средства: CAD/CAM система NX Unigraphics 10 (система необходима для создания 3D модели будущей детали и создания управляющих программ для станка с числовым программным управлением), PostBuilder (генератор постпроцессоров, система необходима для создания 3D модели будущей детали и создания управляющих программ для станка с числовым программным управлением), Cimko Edit (необходима для виртуального моделирования, демонстрации готовой управляющей программы). Главной особенностью разработанного постпроцессора является то, что кадры кода управляющей программы записаны циклами. При циклической работе увеличивается скорость движения инструмента, повышается гладкость, уменьшается шероховатость обрабатываемой детали. Циклы заставляют двигаться инструмент плавно по заданному радиусу. В случае с отдельными координатами инструмент движется прерывисто, следовательно на детали остаются следы от инструмента. В заключении приводится сравнительный анализ стандартного и разработанного в данной работе модулей. Разработанный постпроцессор позволяет составлять корректные, более удобные управляющие программы. С экономической точки зрения, постпроцессор позволяет сократить затраты на инструмент и материалы благодаря гибкому алгоритму управляющей программы.
КЛЮЧЕВЫЕ СЛОВА: числовое программное управление; CAD/CAM-система; программный модуль; постпроцессор; управляющая программа; NX Unigraphics; 3D-модель; механическая обработка.
Для цитирования: Вержаковская М.А., Аронов В.Ю., Слепнев A.A. Разработка постпроцессора для оптимизации работы на станках с числовым программным управлением // Наукоемкие технологии в космических исследованиях Земли. 2019. Т. 11. № 2. С. 40-50. doi: 10.24411/2409-5419-2018-10258
Внедрение на предприятии станков с числовым программным управлением (ЧПУ) можно отнести к самому крупному и перспективному достижению в области металлообработки. В результате внедрения станков с ЧПУ происходит повышение производительности труда, появляются возможности для многостаночного обслуживания. На станках с ЧПУ целесообразно изготовлять детали сложной формы, где требуется одновременное перемещение по нескольким координатам.
В зависимости от разработанного программного обеспечения, можно полностью автоматизировать и ускорить процесс производства, что позволит улучшить условия труда рабочих-станочников и значительно уменьшить долю тяжелого, ручного труда.
Основным преимуществом производства с помощью станков с ЧПУ по сравнению с универсальными станками с ручным управлением, следующие:
— сокращение времени обработки детали;
— повышение точности обработки;
— снижение затрат на специальные приспособления;
— возможность использования менее квалифицированной рабочей силы;
— сокращение времени на производство деталей;
— сокращение затрат на контроль и транспортирование деталей.
Основной успех в высокой производительности зависит от правильно подобранной системы с ЧПУ, CAD/ CAM — системы и соответствующего всем требованиям программного модуля. Мало оснастить предприятие современным оборудованием. Очень важно, чтобы это предприятие еще и эффективно работало. Добиться этого можно максимально оптимизировав технологический процесс, а если учесть, что на современном предприятии наиболее сложные и ответственные операции производятся на оборудовании с ЧПУ, то оптимизация технологического процесса сводится к оптимизации программного кода для этих станков [1].
Для обслуживания станков с ЧПУ требуются технологи-программисты, способные с использованием компьютерных технологий разрабатывать управляющие программы для обработки самых различных по форме и размерам деталей [2-3].
При этом не всегда работу по анализу, переработке и представлению информации способен выполнять компьютер в автоматическом режиме, из-за отсутствия заранее известного алгоритма достижения поставленной задачи. В связи с этим возникает достаточно серьезная проблема, связанная с созданием оптимального технологического процесса механической обработки изделий на оборудовании с ЧПУ в автоматическом режиме [4].
Актуальность темы данной разработки заключается в необходимости улучшения и ускорения механической
Vol 11 No 2-2019, H&ES RESEARC INFORMATICS, COMPUTER ENGINEERING AND CONT
обработки деталей, путем внедрения разработанного программного модуля. Цель данной работы—разработка программного модуля для автоматизации работы на станках с ЧПУ для предприятия ООО «Самарский завод специальных сплавов». Для выполнения механической обработки, на предприятии имеется 3-х координатный фрезерный станок с ЧПУ. Программный модуль необходим предприятию для качественной обработки сложных деталей, таких как: штампы, пресс-формы, сердечники.
ООО «Самарский завод специальных сплавов» является одним из немногих заводов в России, где производится механическая обработка жаропрочных сплавов с помощью станков с ЧПУ Руководство завода стремится улучшать качество готовых деталей, не увеличивая время на механическую обработку.
Сложность механической обработки штампов заключается в высокой прочности обрабатываемого материала. Функция оптимизированной подачи автоматически выявляет сложные для обработки участки и производит движение инструмента на заниженной подаче, что позволяет обеспечить лучшую стойкость инструмента.
Объектом исследования является цех механической обработки деталей, оснащенный станками с ЧПУ.
Предметом исследования является процесс анализа систем ЧПУ и оптимальный способ реализации программного модуля (постпроцессора).
Постпроцессор — это модуль, преобразующий файл траектории движения инструмента и технологических команд, рассчитанный процессором CAM или CAD/ CAM-системы, в файл управляющей программы в строгом соответствии с требованиями методики ручного программирования конкретного комплекса «станок — система с ЧПУ» [5].
Процесс создания постпроцессора условно разделяется на два основных этапа: написание постпроцессора и отладка постпроцессора на станке. Первый этап может происходить дистанционно, без выезда разработчика на предприятие, в случае предоставления всей необходимой документации на оборудование. Второй этап предусматривает обязательное присутствие разработчика непосредственно возле станка, исключение могут составлять только простые станки (до 3х одновременно управляемых координат), в этом случае отладка может так же вестись дистанционно.
Постпроцессор состоит из четырех частей (рис. 1):
1. Паспорт станка («вопросник») — это набор вопросов и возможные варианты ответов о станке и правилах программирования для него, например тип оборудования, возможность программного управления охлаждением; наличие кругового интерполятора, точность аппроксимации и др. [6].
2. Макет кадра — это структура кадра управляющей программы. При этом определяется последовательность
Рис. 1. Структура постпроцессора
вывода адресов команд в кадр УП; размерность числовой информации, следующей за каждым адресом; специальные свойства команд, определяющие условия отмены одних команд другими и необходимость обязательного вывода в кадр УП.
3. Алгоритмический заполнитель — это набор алгоритмов преобразования каждой использованной команды CLDATA в последовательность команд в формате ASCII для данного устройства ЧПУ
4. Макрокоманды — набор укрупненных команд CLDATA, заменяющих действие нескольких отдельных команд CLDATA.
Для разработки программного модуля на персональный компьютер установлены следующие программы:
— CAD/CAM система NX Unigraphics 10. Данная система необходима для создания 3D модели будущей детали и создания управляющих программ для станка с ЧПУ;
— PostBuilder (генератор постпроцессоров). Устанавливается как дополнение к NX Unigraphics, в ней происходит процесс создания постпроцессора;
— Cimko Edit. Необходима для виртуального моделирования, демонстрации готовой управляющей программы.
Генератор постпроцессоров создает программу ЧПУ используя пять явных последовательностей: «Последовател ьность в начале программы», «Последовательность в начале
операции», «Траектория», «Последова-тельюстъ в конце операции», «Последовательность в конце программы» (рис. 2).
Этап «Последовательность в начале программы» формирует начало управляющей программы, т.е. добавляются необходимые кадры и команды, которые будут выводиться в начале каждой управляющей программы. Система нуждается только в некоторых функциях, таких как код остановки, перемотки и конца программы, в начале и конце программы ЧПУ [7]. Также можно управлять выводом других событий в траектории от оставшихся событий траектории инструмента таких как линейная интерполяция, круговая интерполяция и т.д., используя последовательность кадров в траектории инструмента.
Этап «Последовательность в начале операции» задает параметры, которые будут выводиться в начале каждой операции, такие как рабочие оси, по которым будет происходить движение инструмента, устанавливаются режимы резания, а также определяются команды для позиционирования (рис. 3). Система первоначально генерирует и продолжает генерировать это событие, когда мы обрабатываем постпроцессором операции. Данное событие происходит, вне зависимости от наличия смены инструмента в операции.
Этап «Траектория» разделяется на 3 части:
1. Меню «Управление станком» управляет устройствами станка такими как включение СОЖ, шпинделя, подачи. Можно также использовать события управления станком для смены режима, таких как: программирование в абсолютных координатах или в приращениях, задание подачи в обратном времени, в миллиметрах в минуту, в оборотах в минуту или постоянная скорость резания.
2. Меню «Перемещение» описывает, как постпроцессор обрабатывает записи в траектории инструмента. Система генерирует несколько типов перемещений, ускоренное перемещение, линейное перемещение, круговое перемещение.
3. Меню «Встроенные циклы» позволяет сконфигурировать вывод кадров встроенных циклов сверления. Генератор постпроцессоров позволяет задать все параме-
Последовательность в начале
^ Последовательность в начйп © ©¡ЩрШЩШ
Последовательность конце )’эоаэращшм
Последовательность в конце
Рис. 2. Этапы разработки постпроцессора
Vol 11 No 2-2019, H&ES RESEARC INFORMATICS, COMPUTER ENGINEERING AND CONT
Рис. 3. Создание кинематики станка
тры, необходимые для форматирования встроенных циклов для станка.
Этап «Последовательность в конце операции» позволяет задать, какие кадры будут выводиться в программу в конце каждой операции. Обычно это кадры типа возврата в исходное положение и выключения шпинделя или подачи СОЖ. Если нам известно, что кадры в конце операции будут всегда неизменны, то мы можем ввести их в эту последовательность вместо того, чтобы каждый раз задавать события задаваемые пользователем.
Этап «Последовательность в конце программы» позволяет задать вывод в конце каждой программы ЧПУ. Стоит заметить, что события начало программы и конец программы должны выводится только однажды главным постпроцессором. Если перезаписывать любое из этих событий вручную, сопряженный постпроцессор восстанавливает первоначально заданные события начала программы и конца программы.
Разработанный программный модуль для CAD/CAM системы NX Unigraphics состоит из трех файлов с разным расширением: «Postprocessor.pui»; «Postprocessor. def» и «Postprocessor.tcl».
При установке NX Unigraphics уже предлагается несколько готовых, стандартных постпроцессоров. Они отличаются своей сложностью и значительно затрудняют работу оператора и самого станка с ЧПУ. Разработанный программный модуль помещается в папку с типовыми постпроцессорами. После запуска CAD/CAM системы NX Unigraphics пользователь приступает к созданию управляющей программы.
Сейчас на рынке представлено большое количество CAD/CAM систем различного уровня [8-9]. При этом важно понимать, не только то, какие задачи можно решать с помощью имеющегося средства разработки УП, а какие — нет, но и то, насколько эффективно они решаются [10-11].
В результате анализа процесса разработки УП в современных CAM-системах были выделены следующие этапы работы: настройка параметров проекта, импорт геометрических данных, задание параметров инструмента, задание параметров операций, расчет траекторий, визуализация обработки; формирование выходной документации [10, 12].
Автоматизация создания УП имеющихся станков приведет:
— к увеличению загрузки станка;
— снижению квалификации станочника-программиста, необходимой для написания управляющих программ;
— уменьшению времени на ввод управляющей программы в оперативную память станка многократно;
— расширению применения мелкосерийного штучного изготовления деталей;
— увеличению скорости переналадки станка на изготовление другого вида продукции;
— созданию архивов готовых управляющих программ;
— увеличению производительности труда станочника-программиста, за счет снижения времени на переналадку одного станка, станочник-программист сможет обслуживать большее количество станков [13].
Рис. 4. Стартовое окно системы UmgrapЫcs
Ниже приведем алгоритм и пример создания управляющей программы на основании разработанного постпроцессора.
Для создания управляющей программы необходимо запустить систему МХ иг^гарЫс8 и открыть уже готовую 3D модель (рис. 4). Для проверки программного модуля создадим управляющую программу для данной 3D модели. Будем выполнять «черновую» и «чистовую» обработку крепежных элементов представленной детали [14].
Первым шагом необходимо открыть меню «Создание операции», в котором представлены все виды операций, которое могут использоваться для обработки различных деталей (фрезерная и токарная обработка, 3-х, 4-х, 5-х осевая обработка, «черновая», «чистовая», обработка стенок, обработка пола, сверление).
Меню, отвечающее за «черновую» обработку детали, представлено на рис. 5. Здесь необходимо выбрать область резания, в данном случае это крепежные элементы, инструмент, которым будет обрабатываться данный участок, глубину резания, шаблон резания (траектория движения инструмента) и задать «припуск» на чистовую обработку.
После ввода всех необходимых данных необходимо нажать кнопку «Генерировать траекторию». В результате система сгенерирует траекторию обработки на языке системы МХ Unigraphics (рис. 6).
Данный язык не понятен станку с ЧПУ, для этого надо перевести управляющую программу с помощью разработанного программного модуля. Для этого необходимо произвести постпроцессирование, выбрать нужный про-
0 Глубинное фрезерование — [CAVTTV_Mil.L] X
Задать деталь Заготовка
Контрольная геометрия Область резания Границы обрезки
Настройки траектории Метод
i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
Шаблон резания Шаг между проходами Процент плоского диаметра Общая глубина резани Максимальное расстс Уровни резания Параметры резания Вспомогательные перемещения Скорости и подачи
% плоской области v *
Рис. 5. Меню «САУГП-М1КЬ» для «черновой» обработки детали
Vol 11 No 2-2019, H&ES RESEARC
INFORMATICS, COMPUTER ENGINEERING AND CONT
граммный модуль и путь, куда будет сохранена готовая управляющая программа (рис. 7).
Готовая управляющая программа имеет понятный станку с ЧПУ язык и формат.МРЕ Данный формат можно открыть с помощью блокнота (рис. 8).
Каждая строчка в управляющей программе состоит из кадров. С помощью разработанного программного модуля видно, что каждый кадр пронумерован, в «шапке» программы указана информация по инструменту, каждый кадр отвечает за определенное движение инструмента, кадр N12; N24 выполнены одной строчкой. Данные кадры указывают станку вести инструмент с помощью круговой интерполяции, что позволяет сделать траекторию более плавной. Такая возможность позволяет уменьшить количество кадров и улучшить качество готовой детали. В конце программы указано время, которое будет необходимо для выполнения этой управляющей программы.
Перед внедрением управляющей программы в станок ее необходимо проверить, провести симуляцию обработки в специальной программе Cimco Edit. Данная программа позволяет с максимальной точностью спроектировать движение инструмента. Это покажет, как сгенерирована программа, если ли в ней лишние или не правильные перемещения инструмента, чистота проходов инструмента, позволит сверить время работы управляющей программы. На рис. 9 представлен интерфейс программы Cimko Edit с ранее полученным готовым кодом управляющей программы (рис. 8).
Для проверки сгенерированной управляющей программы необходимо перейти во вкладку «Прорисовка»,
MIL L_5_AXIS_5IN U M ERIK_AC TT_M M
MILLJJWS ACTT IN
LAT H Е_2_АЖП» 00 L_TIP
MILLTURN MULTI SPINDLE
Выходной файл Имя файла
C:\Users\Samsung\De£kto р\ Л еха\Lil B_502\L¡1 B_f
Расширение имени файла mpf
Поиск выходного файла 3
Вывод центра шара IV] Вывод листинга Пред-преждения при выводе Инструмент просмотра
Рис. 7. Меню постпроцессирования траектории
1 НАУКОЕМКИЕ ТЕХНОЛОГИИ
Файл Правка Фермат Вид Справка
Ñ1 G54 N2 GO0 2200. N3 ХО.О Y0. О N4 ; OlILL_D40) N5 ТОО М06
N6 GOО Х-94.019 Y200.059 SO МОЗ N7 2120.179 N8 22. 5
N9 G01 2-, 5 F250. N10 Y180.059 N11 Y174.463
N12 G03 Х-90.028 Y170.472 14. 3.01 N13 G01 Х-39.972
N14 G03 Х-35.981 Y174.462 I-.01 34.
N15 G01 Y180.059
N18 G00 2120.179
N19 Х-114.019 Y200.059
N24 G03 Х-110.028 Y150.472 14. 3.009 N25 G01 Х-19.972
N16547 2-31,5 N16548 G00 2120.179 N16549 МЗО
(TOTAL TIME 1349.68 MIN);
Рис. 8. Готовый код управляющей программы
нажать опцию «Прорисовка окна». В результате появится траектория управляющей программы. Для создания ее визуализации, необходимо нажать опцию 3D модель, в результате появится окно, в котором автоматически указываются крайние точки траектории инструмента, инструмент, которым будет производиться симуляция. В данном случае
управляющая программа сделана под фрезу D40R0, следовательно указываются такие же параметры фрезы. После введения всех необходимых данных на основном экране появляется смоделированная 3D визуализация траектории (рис. 10). По результатам визуализации видно, что управляющая программа выполнена правильно.
Для оценки разработанного программного модуля сравним его со стандартным постпроцессором, который, по умолчанию, предлагает система МХ Unigraphics. Для этого были сгенерированы 2 одинаковые программы с помощью разных программных модулей. Для сравнения была выполнена чистовая обработка изготавливаемых деталей (крепежных элементов). На рис. 11 изображены первые кадры управляющей программы: слева программа сгенерирована стандартным программным модулем, справа разработанным в данной работе постпроцессором.
В программе, разработанной стандартным постпроцессором видно, что кадры программы нумеруются десятками. Данная особенность усложняет поиск кадра в длинной программе т.к. предельная нумерация равна 99.999 кадрам.
В новом постпроцессоре кадры нумеруются единицами, что позволяет в 10 раз увеличить числовой диапазон программы.
В исходных данных программы слева указаны исходные точки станка, но т. к. данный постпроцессор стандартный, он не учитывает особенностей конкретного станка, что может привести к ошибке в программе. В программе справа данная опция изменена на нулевые точки детали, что исключает ошибки и врезание инструмента в деталь.
Рис. 9. Интерфейс программы Cimko Edit
Рис. 10. Смоделированная 3D визуализация траектории
Главной особенностью разработанного постпроцессора является то, что кадры записаны циклами, например кадр № 10. В стандартном постпроцессоре данный кадр разбит на отдельные координаты (№ 500-590). При циклической работе увеличивается скорость движения инструмента, повышается гладкость, уменьшается шероховатость обрабатываемой детали. Циклы заставляют двигаться инструмент плавно по заданному радиусу. В случае с отдельными координатами инструмент движется прерывисто, следовательно на детали остаются следы от инструмента.
Сравнив два программных модуля можно сделать вывод, что разработанный в данной работе программный модуль более мобилен, гибок и удобней для рабочего оператора станка с ЧПУ. Также улучшается качество обрабатываемой детали, из-за циклической траектории по-
Vol 11 No 2-2019, H&ES RESEARC INFORMATICS, COMPUTER ENGINEERING AND CONT
вышается стойкость инструмента и уменьшается время на обработку детали.
Разработанный программный модуль отличается от стандартных постпроцессоров следующим:
— постпроцессор нумерует каждый кадр управляющей программы, что облегчает оператору возможность запуска программы с определенной позиции;
— оптимизированная траектория позволяет сократить длительность программы без ущерба для обрабатываемой детали;
— встроенные циклы (при необходимости) позволяют упростить работу оператора и ускорить выполнение управляющей программы;
— исходные данные управляющей программы позволяют программисту писать определенные комментарии для оператора, такие как название управляющей программы, место обработки, информацию по инструменту;
— в конце каждой управляющей программы постпроцессор указывает время работы операции, что позволяет более точно оператору рассчитать время выполнения детали [15].
В данной работе разработан аналог стандартного программного модуля, который используется на предприятии ООО «Самарский завод специальных сплавов». В созданном постпроцессоре исправлены все недостатки своего предшественника и добавлены новые функциональные возможности при генерации управляющей программы [13]. Разработанный постпроцессор позволяет составлять корректные, удобные управляющие программы. С экономической точки зрения, постпроцессор позволяет
N330 Т—»MILL» N340 Мб
N350 MSG («METHOD») N3 60 TRAFOOF
N370 SUPA GO Z=_Z_HOME DO
N380 SUPA GO X=_X_HOME Y=_Y_HQME DO
N400 ¿Initial Move N410 CYCLE832(camtolerance,0,1) N420 TRAFOOF N430 G54
N440 GO X-124.089 Y-110.526 SO DO M3
N460 /Approach Move
i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
N480 ;Engage Move
N490 G1 Z17.09 M8 F250.
N500 X-125.585 Y-109.765
N510 X-127.217 Y-109.361
N520 X-128.898 Y-109.306
N530 Х-1Э0.55Э Y-109.601
N540 X-132.11 Y-110.235
N550 X-133.501 Y-111.179
N560 X-134.641 Y-112.411
N580 X-134-831 Y-112.652
N590 X-136.0B1 Y-113.635
N60(1 Х-137.50Я T-114.34? . —
Рис. 11. Сравнение
N2 GOO Z200. N3 XO.O YO.O N4 ; (MILL) N5 TOO MO 6
N6 GOO X—124.089 Y-110.526 SO M03 N7 Z123.161 N8 Z20.09
N9 G01 Z17.09 F250.
N10 G03 X-134.641 Y-112.411 1-4.232 J-6.789 N11 G02 X-134.831 Y-112.652 1-24,563 J19.05 N12 X-140.629 Y-114.873 1-5.717 J6.245
N13 GOl X-150.264
N14 G02 X-154.857 Y-H2.17 10.0 J5.254 N15 G03 X-160.296 Y-110.615 1-3.497 J-1.942
N16 GOl X-158.187 Y-120.244
N18 GOO Z123.161
N19 X-121.708 Y-109.413
N22 G03 X-131.817 Y-112.355 1-3.371 J-7.255 N23 GO2 X-132.825 Y-113.748 1-12.67 J8.111 N24 X-140.629 Y-116.614 1-7.582 J8.59
N25 GOl X-149.634
N26 GO2 X-154.382 Y-114.983 1.334 J8.698 N27 X-156.539 Y-111.954 13.489 J4.767 N28 G03 X-161.538 Y-109.307 1-3.823 J-1.177
сократить затраты на инструмент и материалы благодаря гибкому алгоритму управляющей программы.
1. Солкин А.Ю., Кузнецов П. К. Проблема оптимизации NC программ для механообрабатывающих станков с ЧПУ // Вестник Волжского университета им В. Н. Татищева. 2011. № 17. С. 90-94.
2. Морозов В. В. Программирование обработки деталей на современных фрезерных станках с ЧПУ Владимир: Изд-во Владимирского гос. университета, 2010. 246 с.
3. Морозов В. В. Программирование обработки деталей на современных многофункциональных токарных станках с ЧПУ. Владимир: Изд-во Владимирского гос. университета, 2009. 234 с.
4. Солкин А. Ю. Способы автоматизации создания управляющих программ для металлорежущего оборудования с ЧПУ // Вестник Волжского университета им
B. Н. Татищева. 2012. № 2(19). С. 165-168.
5. Ловыгин А. А. Теверовский Л. В. Современный станок с ЧПУ и CAD/CAM система. М.: ДМК Пресс, 2015. 280 с.
6. Тугенгольд А. К. Система интеллектуального управления станками // Станки и инструменты (СТИН). 2008. № 12.
C. 10-15. URL: https://lib-bkm.ru/13605 (дата обращения 10.10.2018).
7. Кошкин В. Аппаратные системы числового программного управления. М.: Машиностроение, 1989. 260 с.
8. Суханов Ю. С. Проект «Короли» и «капуста» на ниве САМ. Действительные и мнимые лидеры мирового рынка САМ в 2014 году. Часть II. Рейтинги CAM-вендоров // CAD/ CAM/CAE Observer. 2016. №. 1. С. 24-34.
9. Невлюдов И. Ш., Великодный С. С., Омаров М.А. Использование CAD/CAM/CAE/CAPP при формировании управляющих программ для станков с ЧПУ // ВосточноЕвропейский журнал передовых технологий. 2010. № 2 (44). С. 37-44.
10. КазанцевМ. С., Васильев Н. С. Оценка трудоемкости разработки управляющих программ современных CAM- системах // Перспективы науки. 2014. № 12 (63). С. 91-94.
11. Казанцев М. С. Метод оценки трудоемкости разработки управляющих программ для изготовления группы деталей на станах с ЧПУ // Известия высших учебных заведений. Приборостроение. 2015. № 4. С. 322-324.
12. Казанцев М. С. Основные факторы, влияющие на трудоемкость разработки управляющих программ на современных CAM-системах // Национальная ассоциация ученых. 2015. № 3-3(8). С. 63-66.
13. Янюшкин А. С., Лобанов Д.В., Ильин М. М. Автоматизация процесса создания управляющих программ для станков с ЧПУ // Механики XXI веку. 2010. № 9. С. 96-98.
14. Вержаковская М. А., Аронов В. Ю., Слепнев А. А., Осанов В. А. Разработка программного модуля для оптимизации работы на станках с ЧПУ // Материалы XXV Российской научно-технической конференции профессорско-преподавательского состава, научных сотрудников и аспирантов ПГУТИ (Самара, 22-26 января 2018 г.). Самара, 2018. С. 207.
15. Локтева С. Е. Станки с программным управлением и промышленные роботы. М.: Машиностроение, 1986. URL: https://lib-bkm.ru/load/70-1-0-3088 (дата обращения 10.10.2018).
Vol 11 No 2-2019, H&ES RESEARC INFORMATICS, COMPUTER ENGINEERING AND CONT
POST PROCESSOR DEVELOPMENT FOR OPTIMIZE WORK OF MACHINES WITH NUMERICAL PROGRAM CONTROL
MARINA A. VERZHAKOVSKAYA,
Samara, Russia, vma@psuti.ru
VITALY Y. ARONOV,
Samara, Russia, avy@psuti.ru
KEYWORDS: numerical program control; CAD/CAM system; program module; postprocessor; control program; NX Unigraphics; 3D model; mechanical processing.
ALEXEY A. SLEPNEV,
Samara, Russia, a.slepnev93@mail.ru
Developing a software module for machine tools with power program control, which meets all the requirements for the mechanical, milling processing of heavy alloys is described in this work. The relevance of the topic for this development is the need to improve and accelerate the machining of parts, through the introduction of the developed software module. The purpose of this work is the development of a software module for the automation of work on machine tools with numerical program control for the enterprise LLC Samara Special Alloys Plant. The object of the study is the workshop for machining parts, equipped with machine tools with numerical control. The subject of research is the process of analyzing systems with numerical program control and the optimal way to implement a software module (postprocessor). The work discusses the process of creating a postprocessor and control program for machine tools with numerical control. A postprocessor is a module that converts a file of toolpaths and technological commands, calculated by a CAM or CAD / CAM system processor, into a control program file in strict accordance with the manual programming technique requirements of a specific machine-CNC system. The following software was used to develop a software module for optimization on work on CNC machines: CAD / CAM system NX Unigraphics 10 (the system is needed to create a 3D model of the future part and create control programs for the CNC machine), PostBuilder (a postprocessor generator, the system is needed to create a 3D model of the future part and create control programs for a CNC machine), Cimko Edit (necessary for virtual modeling, finished control program demonstration). The developed postprocessor main feature is that the control program code is recorded in cycles. During cyclic operation, the movement speed of the tool increases, smoothness increases, and the roughness of the workpiece decreases. Cycles force the tool to move smooth-
ly over a given radius. In the individual coordinates case, the tool moves intermittently, therefore the tool remain on the part traces. In conclusion, a comparative analysis of the standard and developed in this work modules. The developed postprocessor allows to make correct, more convenient control programs. From an economic point of view, the postprocessor allows you to reduce the cost of tools and materials thanks to a flexible control program algorithm.
1. Solkin A. Yu., Kuznetsov P. K. Problem of optimization of NC programs for the NC machine tooling units]. Vestnik of Volzhsky University named after V. N. Tatishchev. 2011. No. 17. Pp. 90-94. (In Russian)
2. Morozov V. V. Programmirovaniye obrabotki detaley na sovremenny-kh frezernykh stankakh s CHPU: ucheb. posobiye [Programming parts processing on modern milling machines with CNC: studies. Allowance]. Vladimir: Vladimir State University Publ., 2010. 246 p. (In Russian)
3. Morozov V. V. Programmirovaniye obrabotki detaley na sovremen-nykh mnogofunktsional’nykh tokarnykh stankakh s CHPU [Programming the processing of parts on modern multifunctional lathes with CNC: studies. Allowance]. Vladimir: Vladimir State University Publ., 2009. 234 p. (In Russian)
4. Solkin A. Yu. Methods of automating the creation of control programs for cutting equipment with PNC. Vestnik of Volzhsky University named after V. N. Tatishchev. 2012. No. 2 (19). Pp. 165-168. (In Russian)
5. Lyovygin A. A. Teverovsky L. V. Sovremennyy stanok s CHPU i CAD/ CAM sistema. [Modern CNC machine and CAD/CAM system]. Moscow: DMK Press, 2015. 280 p.
6. Tugengold A. K. Sistema intellektual’nogo upravleniya stankami [System of intellectual control of machine tools]. Stanki i instrumenty [Machines and tools]. 2008. No. 12. Pp. 10-15. URL: https://lib-bkm.
ru/13605 (date of access 10.10.2018). (In Russian)
7. Koshkin V. Apparatnyye sistemy chislovogo programmnogo up-ravleniya [Hardware systems of numerical program control]. Moscow: Mashinostroyeniye, 1989. 260 p. (In Russian)
8. Sukhanov Yu. S. Proyekt «Koroli» i «kapusta» na nive SAM. Deystvi-tel’nyye i mnimyye lidery mirovogo rynka SAM v 2014 godu. Chast’ II. Reytingi CAM-vendorov [The project «Kings» and «cabbage» in the field of the CAM. Actual and imaginary leaders of the global CAM market in 2014. Part II. Ratings of CAM-vendors]. CAD / CAM/ CAE Observer. 2016. No. 1. Pp. 24-34. (In Russian)
9. Nevludov I. Sh., Velikodny S. S., Omarov M. A. Usage CAD / CAM / CAE / CAPP at formation of controlling programs for machine tools with CNC (Computer Numerical Controlled). Eastern-European Journal of Enterprise Technologies. 2010. No. 2 (44). Pp. 37-44. (In Russian)
10. Kazantsev M. S., Vasilyev N. S. The Evaluation of the Time Required to create a CNC Machine Program Using Modern CAM Systems. Prospects for science. 2014. No. 12 (63). Pp. 91-94. (In Russian)
11. Kazantsev M. S. Method for evaluation of time expenditures of numerical control program development for a workpiece set production using a CAM system. Izvestiya vysshikh uchebnykh zave-deniy. Priborostroyeniye. [Journal of Instrument Engineering]. 2015. No. 4. Pp. 322-324. (In Russian)
12. Kazantsev M. S. State issue simulation process waterjet machining. Natsional’naya assotsiatsiya uchenykh [National Association of Scientists]. 2015. No. 3-3 (8). Pp. 63-66. (In Russian)
13. Yanushkin A. S., Lobanov D. V., Ilyin M. M. Avtomatizatsiya prot-sessa sozdaniya upravlyayushchikh programm dlya stankov s CHPU
[Automation of the process of creating control programs for CNC machines]. MekhanikiXXI veku. [Mechanics of the XXI century]. 2010. No. 9. Pp. 96-98. (In Russian)
14. Verzhakovskaya MA, Aronov V. Yu., Slepnev A. A., Osanov V. A. Razrabotka programmnogo modulya dlya optimizatsii raboty na stankakh s CHPU [Development of a software module for optimization of work on CNC machines]. Materialy XXV Rossijskoj nauch-no-tekhnicheskoj konferentsii professorsko-prepodavatel’skogo sostava, nauchnykh sotrudnikov i aspirantov PGUTI [Proceedings of the XXV Russian Scientific and Technical Conference of the faculty, researchers and graduate students of PGUTI. Samara, January 22 -January 26, 2018]. Samara, 2018. P. 207. (In Russian)
15. Lokteva S. E. Stanki s programmnym upravleniyem i promysh-lennyye roboty [Machines with software control and industrial robots]. Moscow: Mashinostroyeniye, 1986. URL: https://lib-bkm.ru/ load/70-1-0-3088 (date of access 10.10.2018). (In Russian)
INFORMATION ABOUT AUTHORS:
Verzhakovskaya M.A., PhD, Docent, Associate Associate Professor at the Department of Software and Management in Technical Systems, Volga State University of Telecommunications and Informatics; Aronov V.Yu., PhD, Associate Professor at the Department of Software and Management in Technical Systems, Volga State University of Telecommunications and Informatics;
Slepnev A.A., Programmer-technologist of the metalworking workshop of the Samara Special Alloys Plant.
For citation: Verzhakovskaya M.A., Aronov V.Yu., Slepnev A.A. Post processor development for optimize work of machines with numerical program control. H&ES Research. 2019. Vol. 11. No. 2. Pp. 40-50. doi: 10.24411/2409-5419-2018-10258 (In Russian)
НАУКОЕМКИЕ ТЕХ НОЛ О ГИ И