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