я сам в этих вопросах мягко(очень мягко ) выражаясь - не очень
с поворотной осью тем более четкого видения нет...
а 4 линейных оси - это конечно xyz и u
вот что это даст?
зы можно на "ты" - так проще
Чавота я туплю пробовал и так и этак
Прилагаю свои ини и хел файлы но они работаю только если нажимать кнопка на клавиатуре причем ось U вращается от копок “[“ “]” то есть от тех от которых раньше работала «А»
ИНИ
извеняюсь что сразу не дописал так поворотная ось варащаеттся только от конопок а МДИ и программы не выполняет останавливается по FERROR поворотной оси
Чявота все равно не получается с добавлением строки которая выше в хел ЕМС перестает грузится
Если в хеле пишу вот так для поворотно-линейная ось
net apos-cmd axis.6.motor-pos-cmd => stepgen.3.position-cmd
net apos-fb stepgen.3.position-fb => axis.6.motor-pos-fb
то тогда поворотно-линейная ось не работает от клавиатуры но и это не главное при выполнении программы к примеру
G1X25U0F999
G1X26U360F999
Ни чего не изменилось поворотно-линейная ось как работала на мах скорости так и работает.
Шестая ось у нас рудиментарная, поэтому для нее нужно просто закрыть обратную связь, т.е.:
net u-loop <= axis.6.motor-pos-cmd => axis.6.motor-pos-fb
остальное как было раньше.
Все равно не работает поворотно линейная от кнопочек вращается а мди и автомат на дисплее вроде как идет перемежение а на самом дела ШД не работает я так понимаю у меня сейчас ось «А» это старая поворотная ось , а U поворотно линейная новая выдает команды только они не доходят до ЛРТ помогите разобраться балбесу.
мой хел
addf stepgen.capture-position servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf stepgen.update-freq servo-thread
net spindle-cmd <= motion.spindle-speed-out
net spindle-on <= motion.spindle-on
net spindle-on => parport.0.pin-01-out
net xdir => parport.0.pin-02-out
net xstep => parport.0.pin-03-out
net ydir => parport.0.pin-04-out
net ystep => parport.0.pin-05-out
net zdir => parport.0.pin-06-out
net zstep => parport.0.pin-07-out
net adir => parport.0.pin-08-out
net astep => parport.0.pin-09-out
net xenable => parport.0.pin-14-out
setp stepgen.0.position-scale [AXIS_0]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 1
setp stepgen.0.dirhold 35000
setp stepgen.0.dirsetup 35000
setp stepgen.0.maxaccel [AXIS_0]STEPGEN_MAXACCEL
net xpos-cmd axis.0.motor-pos-cmd => stepgen.0.position-cmd
net xpos-fb stepgen.0.position-fb => axis.0.motor-pos-fb
net xstep <= stepgen.0.step
net xdir <= stepgen.0.dir
net xenable axis.0.amp-enable-out => stepgen.0.enable
setp stepgen.1.position-scale [AXIS_1]SCALE
setp stepgen.1.steplen 1
setp stepgen.1.stepspace 1
setp stepgen.1.dirhold 35000
setp stepgen.1.dirsetup 35000
setp stepgen.1.maxaccel [AXIS_1]STEPGEN_MAXACCEL
net ypos-cmd axis.1.motor-pos-cmd => stepgen.1.position-cmd
net ypos-fb stepgen.1.position-fb => axis.1.motor-pos-fb
net ystep <= stepgen.1.step
net ydir <= stepgen.1.dir
net yenable axis.1.amp-enable-out => stepgen.1.enable
setp stepgen.2.position-scale [AXIS_2]SCALE
setp stepgen.2.steplen 1
setp stepgen.2.stepspace 1
setp stepgen.2.dirhold 35000
setp stepgen.2.dirsetup 35000
setp stepgen.2.maxaccel [AXIS_2]STEPGEN_MAXACCEL
net zpos-cmd axis.2.motor-pos-cmd => stepgen.2.position-cmd
net zpos-fb stepgen.2.position-fb => axis.2.motor-pos-fb
net zstep <= stepgen.2.step
net zdir <= stepgen.2.dir
net zenable axis.2.amp-enable-out => stepgen.2.enable
setp stepgen.3.position-scale [AXIS_3]SCALE
setp stepgen.3.steplen 1
setp stepgen.3.stepspace 1
setp stepgen.3.dirhold 35000
setp stepgen.3.dirsetup 35000
setp stepgen.3.maxaccel [AXIS_3]STEPGEN_MAXACCEL
net apos-cmd axis.3.motor-pos-cmd => stepgen.3.position-cmd
net apos-fb stepgen.3.position-fb => axis.3.motor-pos-fb
net astep <= stepgen.3.step
net adir <= stepgen.3.dir
net aenable axis.3.amp-enable-out => stepgen.3.enable
net estop-out <= iocontrol.0.user-enable-out
net estop-out => iocontrol.0.emc-enable-in
loadusr -W hal_manualtoolchange
net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
По идее так должно все работать как раньше, только при движении оси U выдавать following error.
чтобы его избежать надо дописать ту строчку, которую я писал выше.
Все равно не работает поворотно линейная от кнопочек вращается а мди и автомат на дисплее вроде как идет перемежение а на самом дела ШД не работает я так понимаю у меня сейчас ось «А» это старая поворотная ось , а U поворотно линейная новая выдает команды только они не доходят до ЛРТ помогите разобраться балбесу.
прикрепил не тот хел
вот хел
addf stepgen.capture-position servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf stepgen.update-freq servo-thread
net spindle-cmd <= motion.spindle-speed-out
net spindle-on <= motion.spindle-on
net spindle-on => parport.0.pin-01-out
net xdir => parport.0.pin-02-out
net xstep => parport.0.pin-03-out
net ydir => parport.0.pin-04-out
net ystep => parport.0.pin-05-out
net zdir => parport.0.pin-06-out
net zstep => parport.0.pin-07-out
net udir => parport.0.pin-08-out
net ustep => parport.0.pin-09-out
net xenable => parport.0.pin-14-out
setp stepgen.0.position-scale [AXIS_0]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 1
setp stepgen.0.dirhold 35000
setp stepgen.0.dirsetup 35000
setp stepgen.0.maxaccel [AXIS_0]STEPGEN_MAXACCEL
net xpos-cmd axis.0.motor-pos-cmd => stepgen.0.position-cmd
net xpos-fb stepgen.0.position-fb => axis.0.motor-pos-fb
net xstep <= stepgen.0.step
net xdir <= stepgen.0.dir
net xenable axis.0.amp-enable-out => stepgen.0.enable
setp stepgen.1.position-scale [AXIS_1]SCALE
setp stepgen.1.steplen 1
setp stepgen.1.stepspace 1
setp stepgen.1.dirhold 35000
setp stepgen.1.dirsetup 35000
setp stepgen.1.maxaccel [AXIS_1]STEPGEN_MAXACCEL
net ypos-cmd axis.1.motor-pos-cmd => stepgen.1.position-cmd
net ypos-fb stepgen.1.position-fb => axis.1.motor-pos-fb
net ystep <= stepgen.1.step
net ydir <= stepgen.1.dir
net yenable axis.1.amp-enable-out => stepgen.1.enable
setp stepgen.2.position-scale [AXIS_2]SCALE
setp stepgen.2.steplen 1
setp stepgen.2.stepspace 1
setp stepgen.2.dirhold 35000
setp stepgen.2.dirsetup 35000
setp stepgen.2.maxaccel [AXIS_2]STEPGEN_MAXACCEL
net zpos-cmd axis.2.motor-pos-cmd => stepgen.2.position-cmd
net zpos-fb stepgen.2.position-fb => axis.2.motor-pos-fb
net zstep <= stepgen.2.step
net zdir <= stepgen.2.dir
net zenable axis.2.amp-enable-out => stepgen.2.enable
Пришел писать ответ, не читая последнего сообщения, но в принципе я это уже делал, но результат отрицательный. Также пробовал создавать в хел конфигурацию 5 осей то есть присоединял ось 6 к сте генератору 4 но все не почем.
ИМХО Мне кажется, что алгоритм работы ЕМС не позволяет получить желаемый результат.
Если мы задаем перемещение по двум осям одна из которых (X Y Z) то ЕМС присваивает значение подачи F именно одной из этих осей, а остальные оси (A, U,поворотные линейный) движутся так чтобы обеспечить именно такую подачу, в рамках своего ограничения. Получается типа старшинству или переподчинения. Основная задача обеспечить равномерное движение трех основных осей XYZ с заданной подачей. Об этом очевидно свидетельствует показание vel на дисплее.
а можно в симуляторе "ощутить "проблему?
а то я в толк не возьму - в чем она состоит
то есть - имеется программа (ж-код) под поворотную ось - которую нормально емс не может выполнить???
можно код этот увидеть??