Здравствуйте.
В общем проблема следующая. Команда М67 отказывается работать . При этом М62,М63,М68 работают исправно. В инете нашел пару тем, что данная проблема не только у меня. Еще приводились ссылки на патчи для устранения проблемы. Однако все ссылки на данный момент битые.
Может кто-то сталкивался с данной проблемой? Может патч завалялся или знает как исправить в ручную.
Заранее спасибо.
M67
Re: M67
Да. ЕМС 2.43
Команда М67 должна менять напряжение на узлах motion.analog-out-** синхронизированно с движением. То бишь после команды М67 нужно писать G00, G01. Но значение на узлах попросту не меняется. Команды M62, M63 - синхронизированно с движением регулируют цифровые выходы (motion.digital-out-**) - с ними все хорошо. Так же нормально работает команда М68 - управление аналоговыми выходами мгновенно.
Пример g кода. Ну скажем:
%
M67 E0 Q1
G01 X10 F500
M67 E0 Q2
G01 X20 F500
M67 E0 Q3
G01 X30 F500
%
Конфигурацию HAL я уже успел поменять немного. Получилось решить задачу с использованием регулирования цифровых выходов. Однако надо М67, для упрощения жизни. Если все таки нужны HAL связи для устранения проблемы, то выложу. Но не понимаю надобности, т.к. проблема именно в не желании команды М67 работать.
Команда М67 должна менять напряжение на узлах motion.analog-out-** синхронизированно с движением. То бишь после команды М67 нужно писать G00, G01. Но значение на узлах попросту не меняется. Команды M62, M63 - синхронизированно с движением регулируют цифровые выходы (motion.digital-out-**) - с ними все хорошо. Так же нормально работает команда М68 - управление аналоговыми выходами мгновенно.
Пример g кода. Ну скажем:
%
M67 E0 Q1
G01 X10 F500
M67 E0 Q2
G01 X20 F500
M67 E0 Q3
G01 X30 F500
%
Конфигурацию HAL я уже успел поменять немного. Получилось решить задачу с использованием регулирования цифровых выходов. Однако надо М67, для упрощения жизни. Если все таки нужны HAL связи для устранения проблемы, то выложу. Но не понимаю надобности, т.к. проблема именно в не желании команды М67 работать.
Re: M67
На сайте linuxcnc ответили, что эта команда действительно не работает 
На каждой команде М68 двигатели останавливаются, однако нужно обеспечить постоянное движение с управлением аналоговыми сигналами? Может какую-то идею подскажите?
Отчасти решить получилось. Я беру свободную ось (скажем В) и использую ее как аналоговый сигнал. Так же место команды М67 использую работающие команды М62\М63. Делая этакий меандр на цифровом выходе. В моменты изменения значения я генерирую короткий импульс.
Когда этот импульс генерируется - я передаю значение координаты В на нужные узлы.
Работает. Но возникают проблемы с контролем скорости т.к. я использую еще 1 "мнимую" координату.
Может существует способ управлять этой координатой независимо от остальных?
На каждой команде М68 двигатели останавливаются, однако нужно обеспечить постоянное движение с управлением аналоговыми сигналами? Может какую-то идею подскажите?
Отчасти решить получилось. Я беру свободную ось (скажем В) и использую ее как аналоговый сигнал. Так же место команды М67 использую работающие команды М62\М63. Делая этакий меандр на цифровом выходе. В моменты изменения значения я генерирую короткий импульс.
Когда этот импульс генерируется - я передаю значение координаты В на нужные узлы.
Работает. Но возникают проблемы с контролем скорости т.к. я использую еще 1 "мнимую" координату.
Может существует способ управлять этой координатой независимо от остальных?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: M67
Да, у нас была такая же задача для гравировки лазером. Там тоже нужно выводить аналоговую величину на мощность лазера. Остановились на таком де решении, с еще одной осью. Как вариант, чтобы меньше влияло на скорость, можно движение по этой оси сделать оочень маленьким а на выходе его увеличивать.
А что сказали на Linux cnc, что совсем не работает, или не работает только в 2.4?
А что сказали на Linux cnc, что совсем не работает, или не работает только в 2.4?
Re: M67
Сказали что ни на 2.4.6 ни на 2.5.0 не работает.
Тоже была идея перемножать значение на какое-то число. Надо будет попробовать.
Вот ссылка, вродь как патч какой-то существует.
http://psha.org.ru/irc/%23emc-devel/2010-07-19.html
Собсно сначала нашел подобные разговоры в гугле linuxcnc.
Тоже была идея перемножать значение на какое-то число. Надо будет попробовать.
Вот ссылка, вродь как патч какой-то существует.
http://psha.org.ru/irc/%23emc-devel/2010-07-19.html
Собсно сначала нашел подобные разговоры в гугле linuxcnc.
