Re: [WIKI] Работа с центроискателем
Добавлено: 15 янв 2016, 12:17
Код Probe Screen не смотрел. Но описывал поведение при джоггинге.
Статьи, обзоры, цены на станки и комплектующие.
https://cnc-club.ru/forum/
датчик на разрыв цепи!yell писал(а):Проблема оказалась в КЗ, которое приводило к тому, что сколько ни касайся датчиком, а на выходе все равно как будто никакого касания не было.
24Vyell писал(а):Потом, какое у тебя напряжение на шариках?
это ты так думаешь.UAVpilot писал(а):Если датчик сработал, то по G38.2 и G38.3 движения не будет.
У тебя только одна команда, или несколько?pkasy писал(а):датчик срабатывает, а EMC это игнорирует. и едет по G38 и ломает датчик!
Вот тут вроде все нормально.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 правильное
Вот какая функция в Probe Screen рождает список координат после G38pkasy писал(а):вот опять показывает старое значение...
Код: Выделить всё
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
это он переместился, провел замер и показывает такое же значение - что тут правильного?Nick писал(а):Вот тут вроде все нормально.
это список, а где само обращение к результату G38?verser писал(а):Вот какая функция в Probe Screen рождает список координат после G38
Вот часть из python программы, замеряющая Zpkasy писал(а):это список, а где само обращение к результату G38?verser писал(а):Вот какая функция в Probe Screen рождает список координат после G38
Код: Выделить всё
# 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])
Код: Выделить всё
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
В питоне есть своя переменная для этих целей - stat.probed_position, ей пользуюсь.pkasy писал(а):то есть ты берешь результат не из #5062?
См. Пост 253 отладочные строчки (print...pkasy писал(а):хорошо.
где поставить вывод в терминал содержимого #5062
Код: Выделить всё
#<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)1. Отличная работа! +1pkasy писал(а):поставил отладочные строки, как ты и говорил.
...
то есть твой модуль получает ошибку пробника, а G38 почему-то выдает результат.
ставил по инструкции из этой темы. а до этой темы про него даже и не знал.verser писал(а):А содержимое ~/.axisrc соответствует ли инструкции по установке из шапки этой темы?