Управление зависимой осью в Linuxcnc
- Chertegnik
- Кандидат
- Сообщения: 50
- Зарегистрирован: 07 авг 2016, 03:59
- Репутация: 3
- Настоящее имя: Максим
- Откуда: Новосибирск
- Контактная информация:
Управление зависимой осью в Linuxcnc
При настройке 3 осевого станка конфигурации X1 Y Z X2(зависимая) возникла проблема:основная ось X1 и зависимая X2 управляются с клавиатуры разными клавишами (основная стрелками влево вправо, а зависимая "[" и "]"). Подскажите, пожалуйста, как настроить управление зависимой оси как и основной стрелками на клавиатуре, чтобы можно было управлять порталом в ручном режиме?
«Точно знают, только когда мало знают. Вместе со знанием растет сомнение». Иоганн Вольфганг Гете
- N1X
- Мастер
- Сообщения: 3653
- Зарегистрирован: 16 фев 2015, 21:19
- Репутация: 1646
- Настоящее имя: Владимир
- Откуда: Беларусь, Гомель
- Контактная информация:
Re: Управление зависимой осью в Linuxcnc
Юзать что-то вроде gantrykins... Или подключить оба привода на одну ось...
-
jkwe45
- Опытный
- Сообщения: 102
- Зарегистрирован: 13 окт 2017, 12:26
- Репутация: 5
- Настоящее имя: Андрей
- Контактная информация:
Re: Управление зависимой осью в Linuxcnc
Сигналы от контроллера (или LPT) парралелятся на драйвера, а выходы на обмотки меняются полярностью. Сигналы драйвера получают те же, а крутятся в разные стороны.Chertegnik писал(а):При настройке 3 осевого станка конфигурации X1 Y Z X2(зависимая) возникла проблема:основная ось X1 и зависимая X2 управляются с клавиатуры разными клавишами (основная стрелками влево вправо, а зависимая "[" и "]"). Подскажите, пожалуйста, как настроить управление зависимой оси как и основной стрелками на клавиатуре, чтобы можно было управлять порталом в ручном режиме?
У меня так реализовано.
- Chertegnik
- Кандидат
- Сообщения: 50
- Зарегистрирован: 07 авг 2016, 03:59
- Репутация: 3
- Настоящее имя: Максим
- Откуда: Новосибирск
- Контактная информация:
Re: Управление зависимой осью в Linuxcnc
gantrykins использую. Параллелить это не вариант. Зависимая ось должна хомится сама по своему концевику. Проблема в том чтобы переназначить клавиши для зависимой оси. Копаю пока здесь http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=157 но пока без результата
«Точно знают, только когда мало знают. Вместе со знанием растет сомнение». Иоганн Вольфганг Гете
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Управление зависимой осью в Linuxcnc
в файл .axisrc пробовать вписать что то примерно :
Код: Выделить всё
if lathe:
bind_axis("Left", "Right", 2)
bind_axis("Up", "Down", 0)
bind_axis("KP_Left", "KP_Right", 2)
bind_axis("KP_Up", "KP_Down", 0)
bind_axis("KP_4", "KP_6", 2)
bind_axis("KP_8", "KP_2", 0)
root_window.bind("<KeyPress-KP_Next>", kp_wrap(lambda e: None, "KeyPress"))
root_window.bind("<KeyPress-KP_Prior>", kp_wrap(lambda e: None, "KeyPress"))
else:
bind_axis("Left", "Right" , 3)-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Управление зависимой осью в Linuxcnc
попробовал - так не получается...
просто переназначает,но не "объеденяет"...
по другому как то прописать надо...
просто переназначает,но не "объеденяет"...
по другому как то прописать надо...
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Управление зависимой осью в Linuxcnc
попробуй в .axisrc прописать:
Код: Выделить всё
def two_axis_r(d):
jog_on(d, -get_jog_speed(d))
jog_on(d+3, -get_jog_speed(d+3))
def two_axis_l(d):
jog_on(d, get_jog_speed(d))
jog_on(d+3, get_jog_speed(d+3))
def two_axis_max_r(d):
jog_on(d, -get_max_jog_speed(d))
jog_on(d+3, -get_max_jog_speed(d+3))
def two_axis_max_l(d):
jog_on(d, get_max_jog_speed(d))
jog_on(d+3, get_max_jog_speed(d+3))
def two_axis_off(d):
jog_off(d)
jog_off(d+3)
def bind_axis(a, b, d):
if d==0:
root_window.bind("<KeyPress-%s>" % a, kp_wrap(lambda e: two_axis_r(d), "KeyPress"))
root_window.bind("<KeyPress-%s>" % b, kp_wrap(lambda e: two_axis_l(d), "KeyPress"))
root_window.bind("<Shift-KeyPress-%s>" % a, lambda e: two_axis_max_r(d))
root_window.bind("<Shift-KeyPress-%s>" % b, lambda e: two_axis_max_l(d))
root_window.bind("<KeyRelease-%s>" % a, lambda e: two_axis_off(d))
root_window.bind("<KeyRelease-%s>" % b, lambda e: two_axis_off(d))
else:
root_window.bind("<KeyPress-%s>" % a, kp_wrap(lambda e: jog_on(d, -get_jog_speed(d)), "KeyPress"))
root_window.bind("<KeyPress-%s>" % b, kp_wrap(lambda e: jog_on(d, get_jog_speed(d)), "KeyPress"))
root_window.bind("<Shift-KeyPress-%s>" % a, lambda e: jog_on(d, -get_max_jog_speed(d)))
root_window.bind("<Shift-KeyPress-%s>" % b, lambda e: jog_on(d, get_max_jog_speed(d)))
root_window.bind("<KeyRelease-%s>" % a, lambda e: jog_off(d))
root_window.bind("<KeyRelease-%s>" % b, lambda e: jog_off(d))
if lathe:
bind_axis("Left", "Right", 2)
bind_axis("Up", "Down", 0)
bind_axis("KP_Left", "KP_Right", 2)
bind_axis("KP_Up", "KP_Down", 0)
bind_axis("KP_4", "KP_6", 2)
bind_axis("KP_8", "KP_2", 0)
root_window.bind("<KeyPress-KP_Next>", kp_wrap(lambda e: None, "KeyPress"))
root_window.bind("<KeyPress-KP_Prior>", kp_wrap(lambda e: None, "KeyPress"))
else:
bind_axis("Left", "Right", 0)
bind_axis("Down", "Up", 1)
bind_axis("Next", "Prior", 2)
bind_axis("KP_Left", "KP_Right", 0)
bind_axis("KP_Down", "KP_Up", 1)
bind_axis("KP_Next", "KP_Prior", 2)
bind_axis("KP_4", "KP_6", 0)
bind_axis("KP_2", "KP_8", 1)
bind_axis("KP_3", "KP_9", 2)
#bind_axis("bracketleft", "bracketright", 3)-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Управление зависимой осью в Linuxcnc
============================
если нужно двигать другой парой(или тройкой)) , то просто правим :
if d==0: здесь 0 - это номер основной оси...
d+3 - "подчиненная" 0+3 - ось 3
-------------
----------------
если нужно двигать другой парой(или тройкой)) , то просто правим :
if d==0: здесь 0 - это номер основной оси...
d+3 - "подчиненная" 0+3 - ось 3
-------------
----------------
- raddd
- Почётный участник

- Сообщения: 1564
- Зарегистрирован: 10 фев 2015, 08:50
- Репутация: 540
- Настоящее имя: Alexey Rodionov
- Откуда: Беларусь Минский р-н
- Контактная информация:
Re: Управление зависимой осью в Linuxcnc
Боролся с гантрикинс. Остановился на двух профилях. На гантри, хом делаю. На втором где два драйвера на оду ось назнчены, работаю.
||||||||||||
||||||||||||
||||||||||||
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Управление зависимой осью в Linuxcnc
как-бы это ни странно выглядело, но про gantrykins копать лучше тут: http://linuxcnc.org/docs/2.7/html/man/m ... ins.9.htmlChertegnik писал(а):gantrykins использую. Параллелить это не вариант. Зависимая ось должна хомится сама по своему концевику. Проблема в том чтобы переназначить клавиши для зависимой оси. Копаю пока здесь http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=157 но пока без результата
пользователи готовы "изобрести" всё, что угодно, лишь-бы не читать полтора десятка строчек в документации.raddd писал(а):Боролся с гантрикинс. Остановился на двух профилях. На гантри, хом делаю. На втором где два драйвера на оду ось назнчены, работаю.
P.S. можно покопать и тут http://www.cnc-club.ru/forum/viewtopic. ... 59#p372480 , но там гораздо больше читать придётся...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- PKM
- Почётный участник

- Сообщения: 4263
- Зарегистрирован: 31 мар 2011, 18:11
- Репутация: 705
- Настоящее имя: Андрей
- Откуда: Украина
- Контактная информация:
Re: Управление зависимой осью в Linuxcnc
Мне всегда казалось, что после хоуминга портал работает как одна ось.
Кстати, в ветке master много улучшений по работе с порталами, советую попробовать. Емнип запрещено (или можно запретить) двигать раздельно один мотор портала - для безопасности.
Кстати, в ветке master много улучшений по работе с порталами, советую попробовать. Емнип запрещено (или можно запретить) двигать раздельно один мотор портала - для безопасности.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Управление зависимой осью в Linuxcnc
Это у меня в плазморезе на начальном этапе так было сделано - после хоминга автоматически режим "сочленений" менялся на режим "координат".PKM писал(а):Мне всегда казалось, что после хоуминга портал работает как одна ось.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- PKM
- Почётный участник

- Сообщения: 4263
- Зарегистрирован: 31 мар 2011, 18:11
- Репутация: 705
- Настоящее имя: Андрей
- Откуда: Украина
- Контактная информация:
Re: Управление зависимой осью в Linuxcnc
Не уверен насчет 2.7, но в мастере уже автоматически меняется.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Управление зависимой осью в Linuxcnc
В мастере (2.8) принцип уже совсем иной - там уже есть чёткое различие между axis и joints.PKM писал(а):Не уверен насчет 2.7, но в мастере уже автоматически меняется.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- raddd
- Почётный участник

- Сообщения: 1564
- Зарегистрирован: 10 фев 2015, 08:50
- Репутация: 540
- Настоящее имя: Alexey Rodionov
- Откуда: Беларусь Минский р-н
- Контактная информация:
Re: Управление зависимой осью в Linuxcnc
Читал я эти ветки. Не помню что за косяк. Но он есть,(может был,т.к. давно не обновлял ЕМС).
Потому и решил оставить два конфига.меня устраивает.
Потому и решил оставить два конфига.меня устраивает.
||||||||||||
||||||||||||
||||||||||||