Страница 1 из 1
Управление зависимой осью в Linuxcnc
Добавлено: 24 дек 2017, 09:33
Chertegnik
При настройке 3 осевого станка конфигурации X1 Y Z X2(зависимая) возникла проблема:основная ось X1 и зависимая X2 управляются с клавиатуры разными клавишами (основная стрелками влево вправо, а зависимая "[" и "]"). Подскажите, пожалуйста, как настроить управление зависимой оси как и основной стрелками на клавиатуре, чтобы можно было управлять порталом в ручном режиме?
Re: Управление зависимой осью в Linuxcnc
Добавлено: 24 дек 2017, 09:56
N1X
Юзать что-то вроде gantrykins... Или подключить оба привода на одну ось...
Re: Управление зависимой осью в Linuxcnc
Добавлено: 24 дек 2017, 10:07
jkwe45
Chertegnik писал(а):При настройке 3 осевого станка конфигурации X1 Y Z X2(зависимая) возникла проблема:основная ось X1 и зависимая X2 управляются с клавиатуры разными клавишами (основная стрелками влево вправо, а зависимая "[" и "]"). Подскажите, пожалуйста, как настроить управление зависимой оси как и основной стрелками на клавиатуре, чтобы можно было управлять порталом в ручном режиме?
Сигналы от контроллера (или LPT) парралелятся на драйвера, а выходы на обмотки меняются полярностью. Сигналы драйвера получают те же, а крутятся в разные стороны.
У меня так реализовано.
Re: Управление зависимой осью в Linuxcnc
Добавлено: 24 дек 2017, 10:30
Chertegnik
gantrykins использую. Параллелить это не вариант. Зависимая ось должна хомится сама по своему концевику. Проблема в том чтобы переназначить клавиши для зависимой оси. Копаю пока здесь
http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=157 но пока без результата
Re: Управление зависимой осью в Linuxcnc
Добавлено: 24 дек 2017, 10:52
nkp
в файл .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)
Re: Управление зависимой осью в Linuxcnc
Добавлено: 24 дек 2017, 11:00
nkp
попробовал - так не получается...
просто переназначает,но не "объеденяет"...
по другому как то прописать надо...
Re: Управление зависимой осью в Linuxcnc
Добавлено: 24 дек 2017, 11:54
nkp
попробуй в .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)
Re: Управление зависимой осью в Linuxcnc
Добавлено: 24 дек 2017, 12:06
nkp
============================
если нужно двигать другой парой(или тройкой)) , то просто правим :
if d==0: здесь 0 - это номер основной оси...
d+3 - "подчиненная" 0+3 - ось 3
-------------
----------------
Re: Управление зависимой осью в Linuxcnc
Добавлено: 24 дек 2017, 15:22
raddd
Боролся с гантрикинс. Остановился на двух профилях. На гантри, хом делаю. На втором где два драйвера на оду ось назнчены, работаю.
Re: Управление зависимой осью в Linuxcnc
Добавлено: 24 дек 2017, 15:40
Serg
Chertegnik писал(а):gantrykins использую. Параллелить это не вариант. Зависимая ось должна хомится сама по своему концевику. Проблема в том чтобы переназначить клавиши для зависимой оси. Копаю пока здесь
http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=157 но пока без результата
как-бы это ни странно выглядело, но про gantrykins копать лучше тут:
http://linuxcnc.org/docs/2.7/html/man/m ... ins.9.html
raddd писал(а):Боролся с гантрикинс. Остановился на двух профилях. На гантри, хом делаю. На втором где два драйвера на оду ось назнчены, работаю.
пользователи готовы "изобрести" всё, что угодно, лишь-бы не читать полтора десятка строчек в документации.
P.S. можно покопать и тут
http://www.cnc-club.ru/forum/viewtopic. ... 59#p372480 , но там гораздо больше читать придётся...

Re: Управление зависимой осью в Linuxcnc
Добавлено: 24 дек 2017, 17:22
PKM
Мне всегда казалось, что после хоуминга портал работает как одна ось.
Кстати, в ветке master много улучшений по работе с порталами, советую попробовать. Емнип запрещено (или можно запретить) двигать раздельно один мотор портала - для безопасности.
Re: Управление зависимой осью в Linuxcnc
Добавлено: 24 дек 2017, 19:34
Serg
PKM писал(а):Мне всегда казалось, что после хоуминга портал работает как одна ось.
Это у меня в плазморезе на начальном этапе так было сделано - после хоминга автоматически режим "сочленений" менялся на режим "координат".

Re: Управление зависимой осью в Linuxcnc
Добавлено: 24 дек 2017, 22:49
PKM
Не уверен насчет 2.7, но в мастере уже автоматически меняется.
Re: Управление зависимой осью в Linuxcnc
Добавлено: 24 дек 2017, 23:54
Serg
PKM писал(а):Не уверен насчет 2.7, но в мастере уже автоматически меняется.
В мастере (2.8) принцип уже совсем иной - там уже есть чёткое различие между axis и joints.
Re: Управление зависимой осью в Linuxcnc
Добавлено: 25 дек 2017, 23:55
raddd
Читал я эти ветки. Не помню что за косяк. Но он есть,(может был,т.к. давно не обновлял ЕМС).
Потому и решил оставить два конфига.меня устраивает.