Страница 1 из 1

Mach3 + G31 + #2002 + ncUSBpod == fail ???

Добавлено: 14 мар 2015, 22:31
KarakurT
Товарищи уже сломал голову над вот каким вопросом.
Даю команду G31 Z-100
Мало того что это самое -100 он отрабатывает относительно машинных координат (хотя тут еще надо покопаться, до этого руки не дошли),
Так в результате в переменной 2002 оказывается не значение координаты Z во время касания, а, судя по всему, значение work offset. (во всяком случае что-то похожее)
На первом скриншоте (SC1.png) видно состояние системы в момент касания зондом (После G31 Z-100)

После этого, я выполнил скрипт чтобы определить значения внутренних переменных мача:

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

Set objFSO=CreateObject("Scripting.FileSystemObject")
outFile="c:\text.txt"
Set objFile = objFSO.CreateTextFile(outFile,True)
For i = 1 To 30000
 If (GetVar(i) <> 0) Then
  objFile.Write i & " " & GetVar(i) & ";"  & VbCrLf
        End If
Next
objFile.Close  
Из полезного он мне выдал:
2000 -23.9875;
2001 21.7875;
2002 84.884375;
2010 -23.9875;
2011 21.7875;
2012 84.884375;
5220 1;
5221 23.9875;
5222 -21.7875;
5223 -84.884375;
Т.е. по оси Z значение ~84.88.

Может кто подскажет где я (или не я) косячу.

Пока у меня варианты следующие:
1 - Я косячу с системами координат или настройками мача.
2 - Я особо нигде не косячу, но просто не до конца понимаю принцип работы G31 (хотя тогда код от программы pcbzcorrect работал бы правильно, что не так)
3 - Это глюк китайской USB платы упревления. Китаец дров не дал, сам нашел и качал отсюда:
https://translate.google.com/translate? ... t=&act=url
Мач судя по всему не причем, т.к. тестил на разных версиях, но с одним и тем-же XML.

В общем SOS.

Re: Mach3 + G31 + #2002 + ncUSBpod == fail ???

Добавлено: 15 мар 2015, 01:43
KarakurT
Частично разобрался.
G31 Z-100 он отрабатывает честно относительно того, что задано G90 и G91 (абсолютные или относительные кординаты). Что, в принципе, верно.
Т.е. если задано G90, то при поиске нуля он будет продвигать щуп до точки Z-100. А непенятки были вызваны как-раз таки неправильным значением в переменной #2002.

Что касается #2002, провел пару опытов.
Если команда G31 завершает свою работу срабатыванием зонда, то в этой переменной значение... так скажем однозначно не определено, но!
Если команда G31 завершает работу достижением указаной точки (Z-100), то в #2002 значение соостветствует реальности.

Таким образом код:

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

G31 Z0
#101 = #2002
Я заменил на:

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

G91 (относительные кординаты)
G31 Z-10
G0 Z6 (приподнимаем зонд на 6мм)
G31 Z-1 (опускаем зонд медленно на 1 мм, теперь в #2002 будет нужное нам значение + 5мм)
#101 = [#2002 - 5]
G90
Мач ругается, но работает.

Тем не менее вопрос почему оно так остается открытым. Склоняюсь к тому что это косяк производителя usb контроллера.
Терять мне нечего, щас накатаю им мыло, посмотрим что из этого выйдет

Re: Mach3 + G31 + #2002 + ncUSBpod == fail ???

Добавлено: 25 апр 2017, 14:30
Aleks_S
У меня похожая проблема, моя тема http://www.cnc-club.ru/forum/viewtopic. ... 16#p354616.

KarakurT отпишитесь, пожалуйста, как решили проблему, чем все закончилось, возможно выявили какие-то новые причины...

Re: Mach3 + G31 + #2002 + ncUSBpod == fail ???

Добавлено: 16 июл 2017, 21:25
KarakurT
Китайцу тогда замылил, мы с девушкой мило пообщались, она обещала передать все мои претензии (а их много накопилось) программистам. Что-то они по итогу исправили, что-то нет. В основном нет :).
С тех пор они "обновили" линейку и новые их драйвера не подходят к железу 4 версии, только к 5. Так что проблема осталась и решена не будет. Сейчас для определения нуля пользую вот такой скрипт:

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

FeedCurrent = GetOemDRO(818) 	'Get the current settings
Code "F100"			'slow feed rate to 100 MM/MIN
GageH = GetUserDRO(1152)
Code "G31 Z-100"' &ZNew
While IsMoving()
Wend
Call SetDro (2,GageH)
Code  "G53 G0 Z0"' &25
Code "F" &FeedCurrent  		'restore starting feed rate    
Сейчас встал вопрос о сканировании поверхности, с этой usb платой это не простая задачка, но скрипт уже почти готов. Как закончу - выложу в отдельной теме.
Т.к. на форуме бываю редко, то для общения, если будут вопросы или мысли, пишите сюда https://vk.com/id13727654

Re: Mach3 + G31 + #2002 + ncUSBpod == fail ???

Добавлено: 18 июл 2017, 15:25
Kachik
В параллельной ветке уже отписался, но повторю здесь. Берите значения x, y, z, прямо с экрана то есть oemdro с 80 по 82. Другие переменные на китае часто глючат.

Re: Mach3 + G31 + #2002 + ncUSBpod == fail ???

Добавлено: 19 июл 2017, 18:35
Kachik
Извините ошибся dro 800-802 соответственно.