Кнопка установки нуля на поверхности материала

More
05 Feb 2016 19:39 #69661 by torvn77
В общем я попросил UAVpilot предложить включить в исходники код подпрограммы на gcode для установки нуля на поверхности материала и добавить в мастера stepconf и pncconf разделы для её настройки чтобы начинающие пользователи имели удобства не меньшие, чем предаставляются различными FPGA пультами.
Но кажется мне, что UAVpilot заниматься этим не будет.
Сам я пока не имею знаний, енобходимых для написания соответствующего патча.
Буду очень рад если кто нибудь доделает этот патч за меня.

ngc

O<sys.matheight_abs> sub
G17 G21 G40 G49 G90 G92.1 G94 

(-------------------------------------------------------------------------)

(Linuxcnc не любит, когда вызывается код g5x переключающий на УЖЕ активную координатную систеу)
O<matheight_if110> if [#5220 EQ 1]
(DEBUG, исходная система G54 )
G59.3
O<matheight_if110> endif
(Совмещение по Z первой системы координат с машинной и переход в неё)
G10 L2 P1 Z0
G54

(-------------------------------------------------------------------------)

(Если для замера используется специальный инструмет, то делается проверка того что он выбран)
(O<matheight_120> if [ #<_current_tool> NE #<_ini[MATERIAL_HEIGHT_PROBE]SENSOR_TOOL_NUM>])
(D EBUG,Incorect tool, plase insert tool correct number T = [MATERIAL_HEIGHT_PROBE]SENSOR_TOOL_NUM)
(G54)
(M02)
(O<matheight_120> endif)

(-------------------------------------------------------------------------)

(DEBUG,Грубый поиск на "большой скорости")
F[#<_ini[MATERIAL_HEIGHT_PROBE]COARSE_FEED_SEARCH>]
G38.2 Z[#<_ini[AXIS_2]MIN_LIMIT>]
#<probe_bottom> = #5063
G38.4 Z[#<_ini[AXIS_2]MAX_LIMIT>]
#<probe_top> = #5063
(DEBUG,<c.probe_top> = #<probe_top> )
(DEBUG,<c.probe_bottom> = #<probe_bottom>)

#<probe_result> = [[#<probe_bottom>+#<probe_top>]/2]
(DEBUG,<c.probe_result> = #<probe_result>)

(-------------------------------------------------------------------------)

(DEBUG,Точный поиск на маленькой скорости)
F[#<_ini[MATERIAL_HEIGHT_PROBE]ACCURATE_FEED_SEARCH>]
G38.2 Z[#<_ini[AXIS_2]MIN_LIMIT>]
#<probe_bottom> = #5063
F[#<_ini[MATERIAL_HEIGHT_PROBE]ACCURATE_FEED_LATCH>]
G38.4 Z[#<_ini[AXIS_2]MAX_LIMIT>]
#<probe_top> = #5063
(DEBUG,<a.probe_top> = #<probe_top> )
(DEBUG,<a.probe_bottom> = #<probe_bottom>)

#<probe_result> = [[#<probe_bottom>+#<probe_top>]/2]
(DEBUG,<a.probe_result> = #<probe_result>)

(-------------------------------------------------------------------------)

(Пока находимся в машинной системе координат поднимаемся на самый верх)
G0 Z[#<_ini[AXIS_2]MAX_LIMIT>]

(-------------------------------------------------------------------------)
(Временный выход из G54 перед выполнением её настройки)
G59.3

(-------------------------------------------------------------------------)
(DEBUG,Вычитание из результата толщины инструмента)
#<coord_offset_z> = [#<probe_result> - #<_ini[MATERIAL_HEIGHT_PROBE]SENSOR_HEIGHT>]
(DEBUG,<_ini[MATERIAL_HEIGHT_PROBE]SENSOR_HEIGHT> = #<_ini[MATERIAL_HEIGHT_PROBE]SENSOR_HEIGHT>)
(DEBUG,<coord_offset_z> = #<coord_offset_z>)

(-------------------------------------------------------------------------)
(DEBUGE,Присвоение соответствующего офсета G54)
G10 L2 P1 Z[#<coord_offset_z>]

(-------------------------------------------------------------------------)
(возвращение в систему G54)
G54

(-------------------------------------------------------------------------)
(Опускание к ближайшему целому значению для удобства ручной корректировки результата)
G0 Z[FIX[#<_z>]]
O<sys.matheight_abs> endsub
M02
ini
[RS274NGC]
FEATURES = 14
[HALUI]
MDI_COMMAND = O<sys.matheight_abs> call
[MATERIAL_HEIGHT_PROBE]
COARSE_FEED_SEARCH = 60
ACCURATE_FEED_SEARCH = 16
ACCURATE_FEED_LATCH = 364
SENSOR_HEIGHT = 15.0
SENSOR_TOOL_NUM = 314
xml
				<button>
					<halpin>"measumerent_material_height.out"</halpin>
					<text>"Measumerent \nmaterial height"</text> 
				</button>
hal
net manual.measumerent_material_height halui.mdi-command-06
net manual.measumerent_material_height  pyvcp.measumerent_material_height.out

Please Log in or Create an account to join the conversation.

More
05 Feb 2016 19:48 #69662 by torvn77
А добавить эту кнопку я предлагаю сюда, в Spindle speed display из секции "Include custom PyVCP GUI panel"
Attachments:

Please Log in or Create an account to join the conversation.

More
05 Feb 2016 19:58 #69663 by sirop

Please Log in or Create an account to join the conversation.

More
05 Feb 2016 20:28 - 05 Feb 2016 20:32 #69664 by torvn77
Один из форумчан cnc-club.ru, в число разработчиков не входит, но когда ему что-то надо пишет и соглашается поделиться.

Лучше скажите как вам моя суброутина?
Last edit: 05 Feb 2016 20:32 by torvn77.

Please Log in or Create an account to join the conversation.

More
05 Feb 2016 21:09 #69669 by sirop
Я GUI если и трогаю, то только в Qt C++.

Так что не знаю.

Please Log in or Create an account to join the conversation.

More
05 Feb 2016 21:29 #69672 by torvn77
Помилуйте, сама по себе суброутина написана на gcode подключается через hal и PyVCP.
На худой конец её можно просто вызвать вручную через консоль MDI
O<sys.matheight_abs> call

Я спрашиваю ваше мнение о ней как таковой.

Please Log in or Create an account to join the conversation.

More
07 Jan 2020 16:11 #154220 by aleksamc
Можно спросить, а зачем делать установку нуля на поверхности материала? Для этого есть функции Probe и Offset...
Сколько работаю со станком, всегда выставляю ноль на поверхности материала через Offset (но можно и через Probe).

Please Log in or Create an account to join the conversation.

Moderators: psha
Time to create page: 0.114 seconds
Powered by Kunena Forum