Page tree
Skip to end of metadata
Go to start of metadata

Внимание!

Перед началом работы убедитесь в наличии активной опции "Поочередное управление несколькими двигателями, подключенными к оси".

Внимание!

Для работы необходима опция "Создание и редактирование макросов" или "Автоматическая смена инструмента".

Данная функция позволяет отключать и подключать каждый из двигателей, назначенных на определённую ось (или несколько осей). Рассмотрим ситуацию, когда необходимо управлять станком с двумя суппортами, каждый из которых приводится в движение своим двигателем по оси Z. В этом случае можно модифицировать макрос M6 таким образом, чтобы при смене инструмента сначала старый отводился на безопасную высоту и затем производилось переключение активных двигателей.

В функции SwitchMotors(0, 1) первый параметр - индекс двигателя (начиная с нуля), который необходимо отключить. Второй параметр - индекс двигателя, который необходимо включить. Таким образом при выполнении данной команды будет произведено переключение активного двигателя с первого на второй по списку в меню Настройки → Двигатели.

Пример макроса M6
function m6()
	if (Is_THC_Mode() or Is_Oxy_Mode()) then
		return
	end
	
	local toolSlot = GetSelectedToolSlot()
	local previousToolSlot = GetToolSlot()
	
	ExecuteMDI("G53 G0 Z0")
	
	if (toolSlot == 2) then
		SwitchMotors(0,1)
	else
		SwitchMotors(1,0)
	end
	
	local delta = 200  -- расстояние между двумя "головами"
	
	if (toolSlot == 2 and toolSlot ~= previousToolSlot) then
		local CurrX = AxisGetPos(Axis.X)
		local CurrY = AxisGetPos(Axis.Y)
		local NewY = CurrY - delta
		ExecuteMDI("G55")
		ExecuteMDI("G10L20P0 X"..str(CurrX).." Y"..str(NewY))
		ExecuteMDI("G90 G0 Y"..str(CurrY))
	elseif (previousToolSlot == 2 and toolSlot ~= previousToolSlot) then
		local CurrX = AxisGetPos(Axis.X)
		local CurrY = AxisGetPos(Axis.Y)
		local NewY = CurrY + delta
		ExecuteMDI("G54")
		ExecuteMDI("G10L20P0 X"..str(CurrX).." Y"..str(NewY))
		ExecuteMDI("G90 G0 Y"..str(CurrY))
	end
	
	SetToolSlot(toolSlot)
end

Скачать пример макроса M6

После того, как работа вторым инструментом завершена, переключиться на использование первого суппорта можно командой M6T1, в которой будет вызвана функция SwitchMotors(1,0). При этом будет автоматически восстановлена машинная координата по оси Z на значение, которое она имела, когда был активен первый двигатель.

При необходимости управления отключением/подключением каждого двигателя по отдельности можно использовать функции MotorDisable и MotorEnable, принимающие один параметр - индекс двигателя.

Для полноценного использования возможностей опции необходимо:

  1. Приобрести и активировать опцию, применить лицензию в PUMOTIX (как применить лицензию?).
  2. Настроить несколько двигателей на одну ось (подробнее о настройке двигателей). Функция может быть применена для любого количества осей.
  3. Модифицировать или написать новый макрос.
  4. Использовать макрос для переключения между двигателями. Для этого воспользуйтесь строкой для ввода G-кода, кнопкой на панели макросов или специализированной кнопкой интерфейса.
  5. Мониторить состояние системы на вкладке "Диагностика", где вы можете увидеть все настроенные Вами двигатели.

Также при активной опции на вкладке диагностика станет доступна кнопка для включения всех настроенных двигателей.

  • No labels