Авто ноль по Z в EMC

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.

Re: Авто ноль по Z в EMC

Сообщение Simmer » 23 окт 2013, 07:44

Странно все это... у меня стоит немного переработанная, но по сути все та же пластина на которой "+" станок заземлен и на нем так же "GND" от интерфейсной платы. Касание инструментом датчика приводит к замыканию и вуаля... есть сигнал. Переработка пластины заключается в том, что она подпружинена и установлена в 0 с рабочей поверхностью стола (реально -0,05). Подпружинил для того что бы мелкие фрезы не ломал при поиске нуля. А какой кондер можно поставить и куда?
А это куда записать?
Код: Выделить всёРазвернуть
loadrt debounce cfg=1
addf debounce.0 base-thread
setp debounce.0.delay  10
net prob_in parport.0.pin-XX-in-not  debounce.0.0.in
net prob_out   debounce.0.0.out  motion.probe-input
Simmer
Новичок
 
Сообщения: 28
Зарегистрирован: 10 окт 2012, 10:50
Репутация: 1

Re: Авто ноль по Z в EMC

Сообщение nkp » 23 окт 2013, 07:46

Simmer писал(а):А это куда записать?

в конец любого хал файла...
(только пин парпорта подправь)
nkp
Мастер
 
Сообщения: 7008
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1094
Медальки:

Re: Авто ноль по Z в EMC

Сообщение nanthony » 31 авг 2014, 20:21

Приветствую Вас, Господа!
Простите, что поднимаю такую старую тему, но что-то весь мозг обломал.

Сделал я датчик "конца", системы "кусок текстолита", подключил, настроил, все хорошо.
Поставил себе задачу: есть положение датчика и есть толщина жертвенного стола, который станок сам себе и профрезеровал (на уровне 11мм по Z и по всей рабочей плоскости).
Хочу сделать после проверки "конца" коррекцию, чтобы Z=0 попадал как раз в плоскость фрезерованого стола. Т.е. в абсолютных координатах в искомые Z=11.
Чтобы этого достичь надо к показанию #5063 добавить толщину датчика (датчик лежит на жертвенном столе). А станок, зараза, все делает, с виду, нормально, а арифметикой не занимается. Типа не обучен. При этом, как будто вообще никакой компенсации нет.
Делаю:
Код: Выделить всёРазвернуть
G17 G49 G21 G40 G90 G92.1 (типа все сбросить лишнее)
G91 G38.2 Z-90 F250

Все хорошо, доезжает, коротит датчик, стоит. #5063 содержит то, что надо. Делаю:
Код: Выделить всёРазвернуть
G91 G38.4 Z10 F10

Отъезжает, размыкает. #5063 содержит то, что надо. Делаю:
Код: Выделить всёРазвернуть
G90
G43
G43.1 Z[#5063+#<sacrificialTableWidth>]

Хрена, простите, лысого. Причем уже с бубном плясал, отнимал, прибавлял, считал в отдельном выражении, убирал G43, сбрасывал G49, G90 убирал, G91 менял (и координаты, соответственно). Нифигашеньки! Учебники по этому делу прочитал все, что нашел. У всех все просто "сделайте G38.2 и G38.4" и фсе! Будто я один такой тупой, что понять не могу. "8 часов на пару и не берет!"

Господа ГУРУ. Помогите безмозглому. Пожалуйста.
Лужу! Паяю! ЭВМ починяю! Дюралем фарцую! Наношу всякую другую неизгладимую пользу населению :)
Аватара пользователя
nanthony
Мастер
 
Сообщения: 491
Зарегистрирован: 06 ноя 2013, 18:58
Откуда: Москва
Репутация: 308
Настоящее имя: Антон Никифоров

Re: Авто ноль по Z в EMC

Сообщение verser » 31 авг 2014, 21:37

nanthony писал(а):Делаю:
Код: Выделить всёРазвернуть
G90
G43
G43.1 Z[#5063+#<sacrificialTableWidth>]

Хрена, простите, лысого.

Вы не показали что выбран какой-то инструмент из таблицы
Код: Выделить всёРазвернуть
T1 M6
он там хоть есть-то у Вас?
Ещё тут http://linuxcnc.org/docs/html/gcode/gcode.html#sec:G43_1
вроде пишут
G43.1 does not cause any motion. The next time a compensated axis is moved, that axis’s endpoint is the compensated location.

этой следующей команды, которая-то и сделает перемещение, Вы тоже не показали.
Аватара пользователя
verser
Мастер
 
Сообщения: 1402
Зарегистрирован: 21 июл 2013, 22:28
Откуда: Минск
Репутация: 813
Медальки:
Настоящее имя: Сергей

Re: Авто ноль по Z в EMC

Сообщение nanthony » 01 сен 2014, 06:01

Добрейшее утро.
verser писал(а):Вы не показали что выбран какой-то инструмент из таблицы

Конечно есть, причем, я знаю, что если был T6 и стал T6, то вообще ничего не происходит разумного. Т.е. измерения проходят, а вот "поездка" в точку смены инструмента, которая, к слову сказать, тоже настроена - не происходит. И сообщение LinuxCNC не выдает и программу не останавливает.

verser писал(а):этой следующей команды, которая-то и сделает перемещение, Вы тоже не показали.

Конечно есть, там много чего есть. Хоть:
Код: Выделить всёРазвернуть
G53 G0 Z20 ....

Это вроде объяснимо, так станок поедет по "абсолютным" координатам, но я нигде не нашел указания, что на систему G53 не влияет компенсация.
Хоть:
Код: Выделить всёРазвернуть
G54
G0 Z20 ....

Одна помойка. Едет без учета инструмента.
Причем моя "озадаченность" в том, что что-бы я ни записал в #5063 или что-бы я ни сказал G43.X - результат одинаковый.

Программка вообще-то большая. Я написал цикл, который меняет инструмент и "погоняв" по станку в разные точки измеряет инструмент еще раз. Хотел проверить "повторяемость". На 50 циклах, к слову сказать, "разлет" измерений составил:
Код: Выделить всёРазвернуть
minZDelta = 0.000168
maxZDelta = 0.032450
Лужу! Паяю! ЭВМ починяю! Дюралем фарцую! Наношу всякую другую неизгладимую пользу населению :)
Аватара пользователя
nanthony
Мастер
 
Сообщения: 491
Зарегистрирован: 06 ноя 2013, 18:58
Откуда: Москва
Репутация: 308
Настоящее имя: Антон Никифоров

Re: Авто ноль по Z в EMC

Сообщение gennadiy » 01 сен 2014, 09:52

Попробуйте так (для версии linuxcnc >2.6):

(для просмотра содержимого нажмите на ссылку)
Код: Выделить всёРазвернуть
1. В Вашем файле с настройками станка ( .ini) в [RS274NGC] добавить:
   REMAP=M6 modalgroup=6 ngc=m6
2. Файл m6.ngc копируем в ~/linuxcnc/nc_files/m6.ngc (папка как в [DISPLAY] PROGRAM_PREFIX = ...)
3. В m6.ngc меняем на свои значения:
   #<substrate> = [4]       (толщина подложки или "жертвенного стола", мм)
   #<detail_hight> = [10]   (высота готовой детали, мм)
   #<probe_hight> = [16.34] (высота датчика Probe (датчик установлен на столе станка), мм)
   #<probe_x> = [-18]       (абсолютная координата расположения датчика Probe по X)
   #<probe_y> = [-323]      (абсолютная координата расположения датчика Probe по Y)
   Если задать высоту готовой детали = [0], то Z=0 будет на уровне подложки в относительных координатах
4. Попробовать в работе:
   T1 M6
   M2
Вложения
m6.ngc
(491 байт) Скачиваний: 216
gennadiy
Кандидат
 
Сообщения: 45
Зарегистрирован: 03 ноя 2013, 22:28
Откуда: Брест
Репутация: 21

Re: Авто ноль по Z в EMC

Сообщение nanthony » 01 сен 2014, 12:18

gennadiy писал(а):Попробуйте так (для версии linuxcnc >2.6):

Приветствую Вас, Геннадий!
Круто должно быть, если так работает.
Поехал "к станку" проверять :) и :rail: и :thinking:
Лужу! Паяю! ЭВМ починяю! Дюралем фарцую! Наношу всякую другую неизгладимую пользу населению :)
Аватара пользователя
nanthony
Мастер
 
Сообщения: 491
Зарегистрирован: 06 ноя 2013, 18:58
Откуда: Москва
Репутация: 308
Настоящее имя: Антон Никифоров

Re: Авто ноль по Z в EMC

Сообщение UAVpilot » 01 сен 2014, 13:02

nanthony писал(а):Т.е. измерения проходят, а вот "поездка" в точку смены инструмента, которая, к слову сказать, тоже настроена - не происходит. И сообщение LinuxCNC не выдает и программу не останавливает.

А LinuxCNC знает, что нужно ездить в точку смены инструмента?..
1. Робот не может ответить отказом на предложение человека выпить или своим бездействием допустить, чтобы человек напился один.
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 14613
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 3505
Медальки:
Настоящее имя: Сергей

Re: Авто ноль по Z в EMC

Сообщение Predator » 01 сен 2014, 14:55

UAVpilot писал(а):А LinuxCNC знает, что нужно ездить в точку смены инструмента?..
А, если и не знает, то наверное его можно этому научить :think:
Великую цивилизацию не покорить извне — пока она не разрушит себя изнутри!
Аватара пользователя
Predator
Мастер
 
Сообщения: 9192
Зарегистрирован: 18 июл 2013, 18:26
Репутация: 2378
Медальки:
Настоящее имя: Александр

Re: Авто ноль по Z в EMC

Сообщение UAVpilot » 01 сен 2014, 16:00

Уметь куда-то ездить
Уметь-то он умеет, причём разными способами. Вопрос в том, сообщили-ли ему, что при смене надо ехать в позицию смены инструмента?..
1. Робот не может ответить отказом на предложение человека выпить или своим бездействием допустить, чтобы человек напился один.
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 14613
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 3505
Медальки:
Настоящее имя: Сергей

Re: Авто ноль по Z в EMC

Сообщение nanthony » 02 сен 2014, 07:15

Господа!
Да, я новичок, но уж простите, новичок-новичку рознь. У меня станок и в точку смены инструмента и в G28 и в G30 и по-кругу и джигу пляшет (если скорость большую указать, то даже со стола норовит на пол и в пляс) :D .
И я понимаю, что Вы тут все знатоки (уж точно круче меня) и совсем не обязаны мне отвечать и помогать. Но отвечаете и помогаете.
Именно по-этому я не задаю дурацких вопросов типа: "А почему М2 едет по прямой к точке смены, она же инструмент сломает и заготовку испортит?" На подобное способен ответить сам и не пишу об этом тут чтобы Вас не отвлекать по-пустякам.

Но приступать к "выпиливанию" не решаюсь пока я "плаваю" во всем этом хозяйстве. Понадобилось тут срочно вырезать деталь - я это сделал. За 1 день без подготовки и тестов. Сразу начисто. Только подачу подкрутить пришлось по-ходу. А так 6 колпаков для фонарей уже украшают эти самые фонари. Но, делая эти колпаки я понял, что не просто профан, а 0 полный. И начал грызть гранит.

В данный момент я обламываю свой мозг на компенсациях, калибровках и прочих выдумках предков. И вообще тестирую все встреченные мной G-коды. Хочу понять принцип. Найти стиль, если хотите. И, возможно, даже, задумку автора увидеть.

Вот, кажется мне, что смещение начала отсчета после калибровки (которые Геннадий так любезно предложил, да еще и с плюшкой в виде ini подмены М кода) не совсем правильно. Координатные системы для другого. А "для этого" - коррекция на длину инструмента. Вот она-то у меня и не работает, зараза. Тестировать-тестирует, коды выполняет - ничего не меняется.

А думалось мне, что, если, коррекция будет введена как положено, как праотцами задумывалось, то даже в абсолютных координатах станок не поедет обламывать инструмент об стол. (хотя, в абсолютных - это я многого хочу, но вдруг?).
Хотя, если вспомнить цех в НИИ в 1985-6 годах, где меня учили на фрезерах с ЧПУ работать и программу на перфоленте составлять, так вот там, если фреза калибровалась в "0", то даже с ручного пульта ее воткнуть в стол было нельзя. Так что может мечтаю я не о несбыточном.


Я пытался сократить свой вопрос до рамок темы и по-существу. По этой причине не указал всей программы и всего остального. Начинаю:
1. Задача: "погонять" станок в разные позиции, останавливаться в них по M2 (чтобы можно было отключить), периодически "заглядывать" к датчику и проверять калибровку.
2. Задача решена полностью двумя вложенными циклами, (один "гоняет", и в конце "прогона" вызывает измерение, а другой "накладной" вызывает предыдущий, но "просит" инструмент сменить через параметр функции) за одним исключением и одной особенностью. Все переменные, их разницы, суммы, распределения и статистика записываются в log-файл.

Исключение (собственно вопрос по-теме): Ввод коррекции на длину инструмента G43.1 Z[#5063+#<sacrificialTableWidth>] не делает ни фига и последующие G00 или G01 "едут" куда ехали. Не понимаю куда смотреть. (Не спрашивайте, включал ли я G53-59, да, по-всякому делал. Смена координат - проходит. Компенсация - нет)

Особенность (примечание, не совсем по-теме): Если указан код M06 TХ и новыйХ=старыйХ, то станок "долетает" до точки смены и сразу, без сообщений и остановок, начинает тестироваться. То, что он в точку смены не ездит - это был мой нубский промах. Датчик находится под точкой смены. По-сему я "думал", что если он не останавливается, то и не "ездит". Ездит, но без остановки.
Хотя, в этой связи возникает вопрос, а если я хочу инструмент Т109452 поменять на такойже, ну источился тот, программа длинная и все такое. Фигли он за меня думает? Сказано "менять" - значит менять. А он, вонючка, только дразницца.
Лужу! Паяю! ЭВМ починяю! Дюралем фарцую! Наношу всякую другую неизгладимую пользу населению :)
Аватара пользователя
nanthony
Мастер
 
Сообщения: 491
Зарегистрирован: 06 ноя 2013, 18:58
Откуда: Москва
Репутация: 308
Настоящее имя: Антон Никифоров

Re: Авто ноль по Z в EMC

Сообщение Сергей Саныч » 02 сен 2014, 11:55

Здесь это обсуждалось однажды
Чтобы система "забыла" про то, что инструмент уже установлен, можно использовать M6 T0


Здесь тоже полезная информация http://www.linuxcnc.org/docs/html/gui/a ... ool-Change
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
 
Сообщения: 7392
Зарегистрирован: 30 май 2012, 14:20
Откуда: Тюмень
Репутация: 2259
Медальки:

Re: Авто ноль по Z в EMC

Сообщение nanthony » 03 сен 2014, 09:34

Огромное спасибо, Господа! За подсказки и ссылки.

Отступ на инструмент у меня не добавлялся, потому что я лопух. Перед G43.1 надо позвать G43. Это четко указано в документации, а я не внимательный. К 0 он ничего прибавлять не хочет.

Отступы из постов выше - огромное спасибо за наводки. Научился и перенаправлять команды и вообще измерения производить по-человечьи.

Психоз, связанный с использованием 5063 при калибре, был связан с тем, что я просто не понимал сути этой переменной. Если она уже и есть измерение, то не надо ее в это измерение совать еще раз. :) Да и вообще лучше не тыкать переменными куда не гоже.

Но так и не нашел искомого: возможности заставить станок ни при каких обстоятельствах не втыкать инструмент в самого себя. :(
Но это другая тема.
Лужу! Паяю! ЭВМ починяю! Дюралем фарцую! Наношу всякую другую неизгладимую пользу населению :)
Аватара пользователя
nanthony
Мастер
 
Сообщения: 491
Зарегистрирован: 06 ноя 2013, 18:58
Откуда: Москва
Репутация: 308
Настоящее имя: Антон Никифоров

Re: Авто ноль по Z в EMC

Сообщение Nick » 08 сен 2014, 15:48

nanthony писал(а):. Задача: "погонять" станок в разные позиции, останавливаться в них по M2 (чтобы можно было отключить), периодически "заглядывать" к датчику и проверять калибровку.


все просто, либо расставляем в Gкоде M1 (а не M2) и останавливаемся в нужных местах, но это не даст нам возможности кататься и мерить интрумент с последующим стартом. (точнее позволит, но придется жать выполнить с выбранной строки, что может быть не очень удобно)

Лучше сделать через block delete
http://linuxcnc.org/docs/html/gcode/ove ... k_delete_a
Т.е. делаем процедуру измерения, скажем O#<measure> SUB, расставляем в коде строки, где мы можем измерять инструмент со / в начале строки :
Код: Выделить всёРазвернуть
 /O#<measure> CALL

Теперь, если мы выключим block delete (ALt+M+/) то станок поедет на измерение.

Кстати, в конец процедуры измерения можно добавить сброс block delete - чтобы в следующем цикле не ехать снова его измерять. Сделать это можно через пины halui
halui.program.block-delete.is-on bit out
status pin telling that block delete is on

halui.program.block-delete.off bit in
pin for requesting that block delete is off

halui.program.block-delete.on bit in
pin for requesting that block delete is on
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22330
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1330
Заслуга: Developer
Медальки:

Re: Авто ноль по Z в EMC

Сообщение PKM » 22 авг 2016, 15:41

А почему никто не использует G10 L1 (L10, L11)? Я вот хочу прикрутить команды из этой группы к датчику инструмента
Аватара пользователя
PKM
Почётный участник
Почётный участник
 
Сообщения: 4033
Зарегистрирован: 31 мар 2011, 18:11
Откуда: Украина
Репутация: 591
Медальки:
Настоящее имя: Андрей

Авто ноль по Z в EMC

Сообщение Olitawpn » 22 авг 2016, 16:10

а от куда взята информация, отелось побольше узнать ... И есть кто спаивал по этой семе, ну и конечно же стоимость всего этого ?
Olitawpn
Новичок
 
Сообщения: 1
Зарегистрирован: 21 авг 2016, 22:24
Репутация: 0
Настоящее имя: Olitawpn

Re: Авто ноль по Z в EMC

Сообщение verser » 22 авг 2016, 16:54

PKM писал(а):А почему никто не использует G10 L1 (L10, L11)? Я вот хочу прикрутить команды из этой группы к датчику инструмента

В Auto Tool Measurement встроена перезапись новой высоты инструмента после обмера именно такого вида
Код: Выделить всёРазвернуть
G10 L1 P0 Z[touch_result - probeheight + blockheight]
G43
Аватара пользователя
verser
Мастер
 
Сообщения: 1402
Зарегистрирован: 21 июл 2013, 22:28
Откуда: Минск
Репутация: 813
Медальки:
Настоящее имя: Сергей

Re: Авто ноль по Z в EMC

Сообщение UAVpilot » 22 авг 2016, 17:11

PKM писал(а):А почему никто не использует G10 L1 (L10, L11)? Я вот хочу прикрутить команды из этой группы к датчику инструмента

Как это не никто? Все только их и пользуют. :)
1. Робот не может ответить отказом на предложение человека выпить или своим бездействием допустить, чтобы человек напился один.
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 14613
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 3505
Медальки:
Настоящее имя: Сергей

Re: Авто ноль по Z в EMC

Сообщение PKM » 22 авг 2016, 21:13

Запускал поиск по форуму по этим командам - результата ноль. Вот и подумал, что не используют :)

Сегодня прикрутил ренишоу, завтра буду экспериментировать. Думаю выставить ноль G59.3 по касанию датчика и потом просто
G38.2 Z-100
G10 L11 P#<_current_tool> Z#<_z>
Аватара пользователя
PKM
Почётный участник
Почётный участник
 
Сообщения: 4033
Зарегистрирован: 31 мар 2011, 18:11
Откуда: Украина
Репутация: 591
Медальки:
Настоящее имя: Андрей

Re: Авто ноль по Z в EMC

Сообщение PKM » 23 авг 2016, 15:36

Итак, правильная команда для выставления tool offset
G10 L11 P#<_current_tool> Z0
где Z0 - координата датчика в G59.3
И никаких вычислений
Аватара пользователя
PKM
Почётный участник
Почётный участник
 
Сообщения: 4033
Зарегистрирован: 31 мар 2011, 18:11
Откуда: Украина
Репутация: 591
Медальки:
Настоящее имя: Андрей

Пред.След.

Вернуться в LinuxCNC

Кто сейчас на конференции

Зарегистрированные пользователи: 3DLab, _taras_, aftaev, aicT, Alexa [Bot], Alexversh, Bing [Bot], borodaagvali, CNCZavod, Din, evgenyjp, evgenymcp, Google [Bot], hmnijp, ignv, igoryan74, Majestic-12 [Bot], mefisto, MGG, nik0, nik1, paganel, partizann, sergay, sidor094, SShultz, tampotrafaret, ultrus, VAT, Vorovus, Yahoo [Bot], Yandex [bot], Владимир_36

Поделиться

Reputation System ©'