Последние авторы
1 (% class="auto-cursor-target" %)
2 \\
3
4 {{tip title="Внимание!"}}
5 Перед началом работы убедитесь в наличии активной опции "Поочередное управление несколькими двигателями, подключенными к оси".
6 {{/tip}}
7
8 (% class="auto-cursor-target" %)
9 \\
10
11 {{warning title="Внимание!"}}
12 Для работы необходима опция "Создание и редактирование макросов" или "Автоматическая смена инструмента".
13 {{/warning}}
14
15 Данная функция позволяет отключать и подключать каждый из двигателей, назначенных на определённую ось (или несколько осей). Рассмотрим ситуацию, когда необходимо управлять станком с двумя суппортами, каждый из которых приводится в движение своим двигателем по оси Z. В этом случае можно модифицировать макрос M6 таким образом, чтобы при смене инструмента сначала старый отводился на безопасную высоту и затем производилось переключение активных двигателей.
16
17 В функции SwitchMotors(0, 1) первый параметр - индекс двигателя (начиная с нуля), который необходимо отключить. Второй параметр - индекс двигателя, который необходимо включить. Таким образом при выполнении данной команды будет произведено переключение активного двигателя с первого на второй по списку в меню Настройки → Двигатели.
18
19 {{code title="Пример макроса M6"}}
20 function m6()
21 if (Is_THC_Mode() or Is_Oxy_Mode()) then
22 return
23 end
24
25 local toolSlot = GetSelectedToolSlot()
26 local previousToolSlot = GetToolSlot()
27
28 ExecuteMDI("G53 G0 Z0")
29
30 if (toolSlot == 2) then
31 SwitchMotors(0,1)
32 else
33 SwitchMotors(1,0)
34 end
35
36 local delta = 200 -- расстояние между двумя "головами"
37
38 if (toolSlot == 2 and toolSlot ~= previousToolSlot) then
39 local CurrX = AxisGetPos(Axis.X)
40 local CurrY = AxisGetPos(Axis.Y)
41 local NewY = CurrY - delta
42 ExecuteMDI("G55")
43 ExecuteMDI("G10L20P0 X"..str(CurrX).." Y"..str(NewY))
44 ExecuteMDI("G90 G0 Y"..str(CurrY))
45 elseif (previousToolSlot == 2 and toolSlot ~= previousToolSlot) then
46 local CurrX = AxisGetPos(Axis.X)
47 local CurrY = AxisGetPos(Axis.Y)
48 local NewY = CurrY + delta
49 ExecuteMDI("G54")
50 ExecuteMDI("G10L20P0 X"..str(CurrX).." Y"..str(NewY))
51 ExecuteMDI("G90 G0 Y"..str(CurrY))
52 end
53
54 SetToolSlot(toolSlot)
55 end
56 {{/code}}
57
58 (% class="auto-cursor-target" %)
59 [[Скачать пример макроса M6>>attach:PUMPUBLIC.Динамическое отключение/подключение двигателей, привязанных к оси@M6.pm]]
60
61 (% class="auto-cursor-target" %)
62 После того, как работа вторым инструментом завершена, переключиться на использование первого суппорта можно командой M6T1, в которой будет вызвана функция SwitchMotors(1,0). При этом будет автоматически восстановлена машинная координата по оси Z на значение, которое она имела, когда был активен первый двигатель.
63
64 (% class="auto-cursor-target" %)
65 При необходимости управления отключением/подключением каждого двигателя по отдельности можно использовать функции MotorDisable и MotorEnable, принимающие один параметр - индекс двигателя.
66
67 (% class="auto-cursor-target" %)
68 Для полноценного использования возможностей опции необходимо:
69
70 1. Приобрести и активировать опцию, применить лицензию в PUMOTIX ([[как применить лицензию?>>doc:Руководство пользователя.Ответы на типовые вопросы.Как применить лицензию?.WebHome]]).
71 1. Настроить несколько двигателей на одну ось ([[подробнее о настройке двигателей>>doc:Руководство пользователя.Настройка ПО.Настройка двигателей.WebHome]]). Функция может быть применена для любого количества осей.
72 [[image:attach:2020-12-03-Настройки.png]]
73 1. Модифицировать или написать новый макрос.
74 1. Использовать макрос для переключения между двигателями. Для этого воспользуйтесь строкой для ввода G-кода, кнопкой на панели макросов или специализированной кнопкой интерфейса.
75 1. Мониторить состояние системы на вкладке "Диагностика", где вы можете увидеть все настроенные Вами двигатели.
76 [[image:attach:2020-12-03 16_20_21-PUMOTIX.png]]
77
78 Также при активной опции на вкладке диагностика станет доступна кнопка для включения всех настроенных двигателей.
79 [[image:attach:2020-12-03 16_20_36-PUMOTIX.png]]