[WIKI] Ручная смена инструмента с автоизмерением длины.

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
pkasy
Мастер
Сообщения: 1139
Зарегистрирован: 15 мар 2013, 09:39
Репутация: 45
Откуда: Владивосток

Re: [WIKI] Ручная смена инструмента с автоизмерением длины.

Сообщение pkasy »

а можно еще вопрос?
почему на моей машине G38.2 работает через раз? хотя HAL-метр показывает probe-in TRUE, остановки не происходит. нажимаю ESC, начинаю процесс заново - останавливается.

Что я делаю не так?
Аватара пользователя
verser
Мастер
Сообщения: 1903
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: [WIKI] Ручная смена инструмента с автоизмерением длины.

Сообщение verser »

Alexsh писал(а):Доброй ночи всем. Ошибочку обнаружил:
.....
# скорость холостых перемещений
RAPID_FEED = 600
.....

А должно быть:
PARID_SPEED =
Поправил, спасибо, вернее, вообще убрал из описания установки.
RAPID_SPEED не используется в этом приложении, он для ProbeScreen.
Аватара пользователя
Alexsh
Опытный
Сообщения: 100
Зарегистрирован: 25 дек 2015, 22:28
Репутация: 15
Настоящее имя: Алексей
Контактная информация:

Re: [WIKI] Ручная смена инструмента с автоизмерением длины.

Сообщение Alexsh »

Нажимаю кнопку "смена инструмента", портал движется в точку смены и не доезжает по оси Y, проезжая 178.295 весто 290

Подскажите где копать?
Аватара пользователя
verser
Мастер
Сообщения: 1903
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: [WIKI] Ручная смена инструмента с автоизмерением длины.

Сообщение verser »

Alexsh писал(а):Нажимаю кнопку "смена инструмента", портал движется в точку смены и не доезжает по оси Y, проезжая 178.295 весто 290

Подскажите где копать?
Первым делом проверить системный лог на наличие ошибок и, если они есть, попытаться устранить причины.
Аватара пользователя
verser
Мастер
Сообщения: 1903
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: [WIKI] Ручная смена инструмента с автоизмерением длины.

Сообщение verser »

pkasy писал(а):а можно еще вопрос?
почему на моей машине G38.2 работает через раз? хотя HAL-метр показывает probe-in TRUE, остановки не происходит. нажимаю ESC, начинаю процесс заново - останавливается.

Что я делаю не так?
Может, в такой момент в системе какой-нибудь процесс забирает на себя все вычислительные ресурсы? попробуй последить с помощью top.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: [WIKI] Ручная смена инструмента с автоизмерением длины.

Сообщение Serg »

В RT это невозможно.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Alexsh
Опытный
Сообщения: 100
Зарегистрирован: 25 дек 2015, 22:28
Репутация: 15
Настоящее имя: Алексей
Контактная информация:

Re: [WIKI] Ручная смена инструмента с автоизмерением длины.

Сообщение Alexsh »

verser писал(а):
Alexsh писал(а):Нажимаю кнопку "смена инструмента", портал движется в точку смены и не доезжает по оси Y, проезжая 178.295 весто 290
Подскажите где копать?
Первым делом проверить системный лог на наличие ошибок и, если они есть, попытаться устранить причины.
Вставил в тело УП код M6 T2. Когда выполнение программы доходит до этой строчки, работа программы останавливается, инструмент движется в точку смены, отключается шпиндель и все.. дальше ничего не происходит, никакие сообщения не выводятся и продолжить выполнение программы невозможно.
Что я не так делаю, как отследить ошибку?
В системмных логах (/var/log) ошибок нет.

И еще, пока пытался разобраться, обнаружил следующее.Если установить такие настройки:

[TOOLSENSOR]
X = 10
Y = 290
Z = 30
MAXPROBE = -20

[CHANGE_POSITION]
X = 10
Y = 290
Z = 59

Жмем Home... жмем probe tool setter, инструмент подводится в указанные координаты, после чего начинается поиск датчика по Z... Но если сменить настройки на такие:

[TOOLSENSOR]
X = 10
Y = 290
Z = 30
MAXPROBE = -20

[CHANGE_POSITION]
X = 10
Y = 290
Z = 30

с точность до наоборот сначала происходит опускание инструмента до Z=30, после чего порисходит подвод инструмента к датчику по X и Y, и только потом происходит поиск по Z.
или такие:

[TOOLSENSOR]
X = 10
Y = 290
Z = 30
MAXPROBE = -20

[CHANGE_POSITION]
X = 10
Y = 290
Z = 20

Все как во втором случае, но при наезде на датчик, ось Z продолжает опускаться!
Это баг или так должно быть ?
Аватара пользователя
verser
Мастер
Сообщения: 1903
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: [WIKI] Ручная смена инструмента с автоизмерением длины.

Сообщение verser »

Alexsh писал(а):...с точность до наоборот сначала происходит опускание инструмента до Z=30, после чего порисходит подвод инструмента к датчику по X и Y, и только потом происходит поиск по Z...
Это баг или так должно быть ?
Хороший вопрос. Больше похоже на баг. Исправил. Обновленные исходники в шапке (заменил неуместный в некоторых местах [CHANGE_POSITION]Z на [AXIS_2]MAX_LIMIT).
Аватара пользователя
Alexsh
Опытный
Сообщения: 100
Зарегистрирован: 25 дек 2015, 22:28
Репутация: 15
Настоящее имя: Алексей
Контактная информация:

Re: [WIKI] Ручная смена инструмента с автоизмерением длины.

Сообщение Alexsh »

Добрый вечер. Обнаружил ошибки. оказывается в файле custom-postgui.hal были закоментированы строки:

# link to auto_tool_measurement toolchange, so you get the advantage of tool description on change dialog
net tool-change auto_tool_measurement.toolchange-change <= iocontrol.0.tool-change
net tool-changed auto_tool_measurement.toolchange-changed <= iocontrol.0.tool-changed
net tool-prep-number auto_tool_measurement.toolchange-number <= iocontrol.0.tool-prep-number
net tool-prep-loop iocontrol.0.tool-prepare <= iocontrol.0.tool-prepared

И поэтому при нажатии на смену инструмента, инструмент перемещался к точке смены и далее ничего не происходило.
Но когда эти строчки разкоментировал, Linuxcnc перестал запускаться выдавая ошибки (прикладываю файл)
К сожалению в линуксе я не специалист, не смог разобраться. Подскажите пожалуста куда копать.
Вложения
Текстовый документ.txt
Лог ошибок
(2.29 КБ) 1061 скачивание
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: [WIKI] Ручная смена инструмента с автоизмерением длины.

Сообщение Serg »

всё правильно этот код был закоментирован - это для автоматического сменщика.
Проблема в чём-то другом.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Alexsh
Опытный
Сообщения: 100
Зарегистрирован: 25 дек 2015, 22:28
Репутация: 15
Настоящее имя: Алексей
Контактная информация:

Re: [WIKI] Ручная смена инструмента с автоизмерением длины.

Сообщение Alexsh »

UAVpilot писал(а):всё правильно этот код был закоментирован - это для автоматического сменщика.
Проблема в чём-то другом.
но этот код указан в топике, он должен быть не закомментирован. - раскомментировал и закоментировал в основном hal код для ручной смены и все заработало. :wtf:
Аватара пользователя
Alexsh
Опытный
Сообщения: 100
Зарегистрирован: 25 дек 2015, 22:28
Репутация: 15
Настоящее имя: Алексей
Контактная информация:

Re: [WIKI] Ручная смена инструмента с автоизмерением длины.

Сообщение Alexsh »

Доброго врмени суток!

Кажется у кого то выскакивал аналогичный баг:
После хомления и нажатия Probe tool setter, появляется ошибка:
"Exceeded positive soft limit on joint 2"
Это связано с тем, что (у меня так) лимит по Z на 1 сотку отличается от Home в бОльшую сторону.

Лечил таким образом:
в программе probe_down.ngc, в строчка: G53 G0 Z[#<_ini[AXIS_2]MAX_LIMIT>], MAX_LIMIT заменил на HOME. может кому пригодится...

====
Когда нажимаю кнопку ручной смены инструмента, порталл проезжает 177мм по Y и останавливается, никаких ошибок не появляется. Приходится еще раз жать кнопку, что бы порталл таки доехал до нужной точки. После чего выскакивает сообщение о подтверждении смены инструмента и дальше все проходит штатно.
Кто нибудь знает где эти 177мм искать? Перекопал все скрипты, не могу понять откуда берется эта цифра. :wtf:

====
В окошке offset in current coord. system есть кнопочки Set X,Y,Z, их нажатае меняет относительные координаты, но в окне визуализации не происходит перерасчет УП. В итоге при попытке запуска, программа ругается, что программа выходит за максимум оси... приходится еще раз задавать отступ по какой нибудь из осей, но уже в окне ручного управления.. было бы не плохо в этом окошке еще одну кнопочку подвесить или в автомате пересчитывать после нажатия всех трех Set.. :thinking:

====
и еще предложение по улучшению софта.
Не у всех датчик Probe tool setter установлен стационарно. Было бы очень удобно подвести инструмент к датчику, нажать кнопочку и вуаля- координаты датчика сохранены до следующего нажатия этой кнопочки. Сохранится высота, начиная с которой будет происходить поиск поверхности датчика при дальнейшей работе (смене инструмента), а это дополнительные удобства- вдруг придется использовать длинный или не стандартный инструмент :cheesy:

Благодарю за внимание. :silent:
Аватара пользователя
verser
Мастер
Сообщения: 1903
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: [WIKI] Ручная смена инструмента с автоизмерением длины.

Сообщение verser »

Alexsh писал(а):...
И поэтому при нажатии на смену инструмента, инструмент перемещался к точке смены и далее ничего не происходило.
Но когда эти строчки разкоментировал, Linuxcnc перестал запускаться выдавая ошибки (прикладываю файл)
К сожалению в линуксе я не специалист, не смог разобраться. Подскажите пожалуста куда копать.
Вот ошибка

Код: Выделить всё

custom_postgui.hal:12: Signal 'tool-changed' can not add OUT pin 'auto_tool_measurement.toolchange-changed', it already has OUT pin 'hal_manualtoolchange.changed'
где-то в одном из .hal надо закомментировать строчку с hal_manualtoolchange.changed
Alexsh писал(а):...Кажется у кого то выскакивал аналогичный баг:
После хомления и нажатия Probe tool setter, появляется ошибка:
"Exceeded positive soft limit on joint 2"
Это связано с тем, что (у меня так) лимит по Z на 1 сотку отличается от Home в бОльшую сторону.

Лечил таким образом:
в программе probe_down.ngc, в строчка: G53 G0 Z[#<_ini[AXIS_2]MAX_LIMIT>], MAX_LIMIT заменил на HOME. может кому пригодится...
На мой взгляд, более правильное лечение - это задавать home не точно по MAX_LIMIT, а на 0,1 или 1 мм сместить наружу (или MAX_LIMIT сместить внутрь). Это должно помочь избавиться от "Exceeded positive soft limit on joint..."
Alexsh писал(а): и еще предложение по улучшению софта.
Не у всех датчик Probe tool setter установлен стационарно. Было бы очень удобно подвести инструмент к датчику, нажать кнопочку и вуаля- координаты датчика сохранены до следующего нажатия этой кнопочки.
Хорошее предложение. В принципе, достаточно добавить всего одну "галочку", если она отмечена - то ехать в точку, заданную в INI, если не отмечена - то делать измерение tool settera прямо где стоИшь.
Аватара пользователя
verser
Мастер
Сообщения: 1903
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: [WIKI] Ручная смена инструмента с автоизмерением длины.

Сообщение verser »

verser писал(а):
Alexsh писал(а): и еще предложение по улучшению софта.
Не у всех датчик Probe tool setter установлен стационарно. Было бы очень удобно подвести инструмент к датчику, нажать кнопочку и вуаля- координаты датчика сохранены до следующего нажатия этой кнопочки.
Хорошее предложение. В принципе, достаточно добавить всего одну "галочку", если она отмечена - то ехать в точку, заданную в INI, если не отмечена - то делать измерение tool settera прямо где стоИшь.
А вообще-то, лучше не засорять интерфейс. Можно, кому надо, просто в файле probe_down.ngc удалить 2 и 3-ю строчки

Код: Выделить всё

G53 G0 Z[#<_ini[AXIS_2]MAX_LIMIT>]
G53 G0 X[#<_ini[TOOLSENSOR]X>] Y[#<_ini[TOOLSENSOR]Y>]
P.S. Ниже выяснили, что это не прокатит. Отмена :) .
Последний раз редактировалось verser 29 дек 2015, 09:55, всего редактировалось 1 раз.
Аватара пользователя
Alexsh
Опытный
Сообщения: 100
Зарегистрирован: 25 дек 2015, 22:28
Репутация: 15
Настоящее имя: Алексей
Контактная информация:

Re: [WIKI] Ручная смена инструмента с автоизмерением длины.

Сообщение Alexsh »

Спасибо! Да, я уже обнаружил лишнюю строчку. :good:

А как быть с недоездом до заданной точки? Инструмент не доезжает только когда относительные координаты совпадают с машинными, если относительные координаты ближе к середине оси Y- все штатно (доезжает, просит подтерждения смены и движется к датчику):wik:
verser писал(а):На мой взгляд, более правильное лечение - это задавать home не точно по MAX_LIMIT, а на 0,1 или 1 мм сместить наружу (или MAX_LIMIT сместить внутрь). Это должно помочь избавиться от "Exceeded positive soft limit on joint..."
Если Home будет за пределами лимита, выскочит ошибка во время выполнения хомления - превышен лимит.. можно только внутрь. Я делал разницу до 0.1 , а точность моих Home дачиков 0.03 и все равно ошибка иногда выскакивает. В описанном мной варианте лчения ошибку не наблюдал.
verser писал(а):Хорошее предложение. В принципе, достаточно добавить всего одну "галочку", если она отмечена - то ехать в точку, заданную в INI, если не отмечена - то делать измерение tool settera прямо где стоИшь.
Тогда добавить еще одну галочку- "запонить координаты датчика" если галочка не стоит, предлагать в ручную сместить в нужное место.... :thinking:
Последний раз редактировалось Alexsh 29 дек 2015, 09:44, всего редактировалось 1 раз.
Аватара пользователя
Alexsh
Опытный
Сообщения: 100
Зарегистрирован: 25 дек 2015, 22:28
Репутация: 15
Настоящее имя: Алексей
Контактная информация:

Re: [WIKI] Ручная смена инструмента с автоизмерением длины.

Сообщение Alexsh »

verser писал(а): А вообще-то, лучше не засорять интерфейс. Можно, кому надо, просто в файле probe_down.ngc удалить 2 и 3-ю строчки

Код: Выделить всё • Развернуть

G53 G0 Z[#<_ini[AXIS_2]MAX_LIMIT>]
G53 G0 X[#<_ini[TOOLSENSOR]X>] Y[#<_ini[TOOLSENSOR]Y>]
Ачто будет происходить, когда в УП появится код смены инструмента и после подтверждения его смены?
Аватара пользователя
verser
Мастер
Сообщения: 1903
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: [WIKI] Ручная смена инструмента с автоизмерением длины.

Сообщение verser »

Alexsh писал(а):
verser писал(а): А вообще-то, лучше не засорять интерфейс. Можно, кому надо, просто в файле probe_down.ngc удалить 2 и 3-ю строчки

Код: Выделить всё • Развернуть

G53 G0 Z[#<_ini[AXIS_2]MAX_LIMIT>]
G53 G0 X[#<_ini[TOOLSENSOR]X>] Y[#<_ini[TOOLSENSOR]Y>]
Ачто будет происходить, когда в УП появится код смены инструмента и после подтверждения его смены?
Хм. Замечание по существу. Лучше пока все оставить как было. Изменение кода под нестационарный tool setter возможно потребует больше, чем одна галочка.
Последний раз редактировалось verser 29 дек 2015, 10:00, всего редактировалось 1 раз.
Аватара пользователя
Alexsh
Опытный
Сообщения: 100
Зарегистрирован: 25 дек 2015, 22:28
Репутация: 15
Настоящее имя: Алексей
Контактная информация:

Re: [WIKI] Ручная смена инструмента с автоизмерением длины.

Сообщение Alexsh »

Думаю многим было бы очень приятно иметь такую функцию к своему переносному датчику (особенно если он один на все!)
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: [WIKI] Ручная смена инструмента с автоизмерением длины.

Сообщение Сергей Саныч »

Пару лет назад сделал такое Re: Вкладки в pyvcp. Автопереключение #89, практически на чистом G-коде и pyvcp.
2015-12-29_125031.jpg (2897 просмотров) <a class='original' href='./download/file.php?id=67521&mode=view' target=_blank>Загрузить оригинал (74.49 КБ)</a>
Можно общий принцип работы взять, довольно удобно получилось, особенно для маленького стола, когда выделить постоянное место для датчика - роскошь :)
И это: Когда появилась возможность (в версии 2.7), сделал расширение для M6, так что теперь нет необходимости вставлять вызовы подпрограмм в код обработки.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: [WIKI] Ручная смена инструмента с автоизмерением длины.

Сообщение Serg »

Alexsh писал(а):но этот код указан в топике, он должен быть не закомментирован. - раскомментировал и закоментировал в основном hal код для ручной смены и все заработало. :wtf:
А, здесь-же и ручная смена своя...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Ответить

Вернуться в «LinuxCNC»