[WIKI] Работа с центроискателем в LinuxCNC

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
yell
Опытный
Сообщения: 183
Зарегистрирован: 28 июн 2013, 14:27
Репутация: 22
Контактная информация:

Re: [WIKI] Работа с центроискателем

Сообщение yell »

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

Re: [WIKI] Работа с центроискателем

Сообщение Serg »

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

Re: [WIKI] Работа с центроискателем

Сообщение pkasy »

yell писал(а):Проблема оказалась в КЗ, которое приводило к тому, что сколько ни касайся датчиком, а на выходе все равно как будто никакого касания не было.
датчик на разрыв цепи!
yell писал(а):Потом, какое у тебя напряжение на шариках?
24V
UAVpilot писал(а):Если датчик сработал, то по G38.2 и G38.3 движения не будет.
это ты так думаешь.

опять загнул!
датчик срабатывает, а EMC это игнорирует. и едет по G38 и ломает датчик!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: [WIKI] Работа с центроискателем

Сообщение Nick »

pkasy писал(а):датчик срабатывает, а EMC это игнорирует. и едет по G38 и ломает датчик!
У тебя только одна команда, или несколько?
Какой именно G38 (.1,.2,.3,.4)?
pkasy
Мастер
Сообщения: 1139
Зарегистрирован: 15 мар 2013, 09:39
Репутация: 45
Откуда: Владивосток

Re: [WIKI] Работа с центроискателем

Сообщение pkasy »

G38.2
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: [WIKI] Работа с центроискателем

Сообщение Nick »

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

Re: [WIKI] Работа с центроискателем

Сообщение pkasy »

целая, именно эта программа.

вот еще ошибка. проверял сегодня несколько раз
суть - после перемешания по Y и проведения замера по высоте, программа показывает старое значение, прошлого замера. повторный замер, без перемещения, показывает правильное значение.
вот протокол, снизу вврех, как сделано в этой программе:
10:23:39 Probe Down Z=238.6363 правильное
10:23:01 Probe Down Z=238.3603 старое значение на новом Y
10:17:02 Probe Down Z=238.3603 правильное
10:16:44 Probe Down Z=238.3618 правильное
10:16:02 Probe Down Z=238.6203 старое значение на новом Y
10:14:45 Probe Down Z=238.6203 правильное

то есть глючит либо эта программа работы с центроискателем, либо G38

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

Re: [WIKI] Работа с центроискателем

Сообщение pkasy »

вот опять показывает старое значени, теперь после перемешения по Z
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: [WIKI] Работа с центроискателем

Сообщение Nick »

pkasy писал(а):10:16:44 Probe Down Z=238.3618 правильное
10:16:02 Probe Down Z=238.6203 старое значение на новом Y
10:14:45 Probe Down Z=238.6203 правильное
Вот тут вроде все нормально.
Аватара пользователя
verser
Мастер
Сообщения: 1903
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: [WIKI] Работа с центроискателем

Сообщение verser »

pkasy писал(а):вот опять показывает старое значение...
Вот какая функция в Probe Screen рождает список координат после G38

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

    def probed_position_with_offsets(self) :
        self.stat.poll()
        probed_position=list(self.stat.probed_position)
        coord=list(self.stat.probed_position)
        g5x_offset=list(self.stat.g5x_offset)
        g92_offset=list(self.stat.g92_offset)
        tool_offset=list(self.stat.tool_offset)
        for i in range(0, len(probed_position)-1):
             coord[i] = probed_position[i] - g5x_offset[i] - g92_offset[i] - tool_offset[i]
        angl=self.stat.rotation_xy
        res=self.rott00_point(coord[0],coord[1],-angl)
        coord[0]=res[0]
        coord[1]=res[1]
        return coord
вроде не замечал у себя глюков, может кто-то увидит в коде проблемы, исправлю, если что.
pkasy
Мастер
Сообщения: 1139
Зарегистрирован: 15 мар 2013, 09:39
Репутация: 45
Откуда: Владивосток

Re: [WIKI] Работа с центроискателем

Сообщение pkasy »

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

Re: [WIKI] Работа с центроискателем

Сообщение pkasy »

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

Re: [WIKI] Работа с центроискателем

Сообщение verser »

pkasy писал(а):
verser писал(а):Вот какая функция в Probe Screen рождает список координат после G38
это список, а где само обращение к результату G38?
Вот часть из python программы, замеряющая Z

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

    # Down
    def on_down_released(self, gtkbutton, data = None):
        self.command.mode( linuxcnc.MODE_MDI )
        self.command.wait_complete()
        # Start down.ngc
        if self.ocode ("O<down> call") == -1:
            return
        a=self.probed_position_with_offsets()
        self.lb_probe_z.set_text( "%.4f" % float(a[2]) )
        self.add_history(gtkbutton.get_tooltip_text(),"Z",0,0,0,0,0,0,0,0,a[2],0,0)
        self.set_zerro("Z",0,0,a[2])
а здесь вызываемый g-code O<down>

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

o<down> sub
	
#<z>=#<_z> (save current Z position)
G91
F #<_hal[probe.ps_searchvel]>
G38.2 Z[-#<_hal[probe.ps_probe_max]>]
G1 Z[#<_hal[probe.ps_probe_latch]>] F#<_ini[TOOLSENSOR]RAPID_SPEED> 
F #<_hal[probe.ps_probevel]>
G4 P0.5 
G38.2 Z[-#<_hal[probe.ps_probe_latch]>*2]
G90
(back to start point)
G1 Z#<z> F#<_ini[TOOLSENSOR]RAPID_SPEED> 
	
o<down> endsub
M2
pkasy
Мастер
Сообщения: 1139
Зарегистрирован: 15 мар 2013, 09:39
Репутация: 45
Откуда: Владивосток

Re: [WIKI] Работа с центроискателем

Сообщение pkasy »

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

Re: [WIKI] Работа с центроискателем

Сообщение verser »

pkasy писал(а):то есть ты берешь результат не из #5062?
В питоне есть своя переменная для этих целей - stat.probed_position, ей пользуюсь.
pkasy
Мастер
Сообщения: 1139
Зарегистрирован: 15 мар 2013, 09:39
Репутация: 45
Откуда: Владивосток

Re: [WIKI] Работа с центроискателем

Сообщение pkasy »

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

Re: [WIKI] Работа с центроискателем

Сообщение verser »

pkasy писал(а):хорошо.
где поставить вывод в терминал содержимого #5062
См. Пост 253 отладочные строчки (print...
По аналогии для Z параметр будет #5063, файл down.ngc
pkasy
Мастер
Сообщения: 1139
Зарегистрирован: 15 мар 2013, 09:39
Репутация: 45
Откуда: Владивосток

Re: [WIKI] Работа с центроискателем

Сообщение pkasy »

поставил отладочные строки, как ты и говорил.

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

#<z>=#<_z> (save current Z position)
(print,z = #<z>)
G91
F #<_hal[probe.ps_searchvel]>
G38.2 Z[-#<_hal[probe.ps_probe_max]>]
(print,1th z  = #5063)
G0 Z[#<_hal[probe.ps_probe_latch]>]
F #<_hal[probe.ps_probevel]>
G4 P0.5 
G38.2 Z[-#<_hal[probe.ps_probe_latch]>*2]
(print,2th z  = #5063)
G90
G0 Z#<z> (back to start point)
вот результат:

на экране отображается
19:06:51 Error: User probe error

в терминале
Emit interp-run
z = 69.965650
error User probe error
Emit interp-run
1th z = 66.128150
2th z = 66.185650

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

Re: [WIKI] Работа с центроискателем

Сообщение verser »

pkasy писал(а):поставил отладочные строки, как ты и говорил.
...
то есть твой модуль получает ошибку пробника, а G38 почему-то выдает результат.
1. Отличная работа! +1 :good:
2. Получается, что пин probe.user.error не сбрасывается в false. Это в файле ~/.axisrc . А содержимое ~/.axisrc соответствует ли инструкции по установке из шапки этой темы?
3. Такое случается в каждом замере или "как повезёт"?
pkasy
Мастер
Сообщения: 1139
Зарегистрирован: 15 мар 2013, 09:39
Репутация: 45
Откуда: Владивосток

Re: [WIKI] Работа с центроискателем

Сообщение pkasy »

verser писал(а):А содержимое ~/.axisrc соответствует ли инструкции по установке из шапки этой темы?
ставил по инструкции из этой темы. а до этой темы про него даже и не знал.
Ответить

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