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

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
KarakurT
Новичок
Сообщения: 9
Зарегистрирован: 03 мар 2015, 15:09
Репутация: 2
Настоящее имя: Андрей Владимирович Родионов
Контактная информация:

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

Сообщение 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.
Вложения
sc1.png (4902 просмотра) <a class='original' href='./download/file.php?id=45439&mode=view' target=_blank>Загрузить оригинал (14.66 КБ)</a>
KarakurT
Новичок
Сообщения: 9
Зарегистрирован: 03 мар 2015, 15:09
Репутация: 2
Настоящее имя: Андрей Владимирович Родионов
Контактная информация:

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

Сообщение 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 контроллера.
Терять мне нечего, щас накатаю им мыло, посмотрим что из этого выйдет
Aleks_S
Новичок
Сообщения: 9
Зарегистрирован: 24 апр 2017, 23:55
Репутация: 0
Контактная информация:

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

Сообщение Aleks_S »

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

KarakurT отпишитесь, пожалуйста, как решили проблему, чем все закончилось, возможно выявили какие-то новые причины...
KarakurT
Новичок
Сообщения: 9
Зарегистрирован: 03 мар 2015, 15:09
Репутация: 2
Настоящее имя: Андрей Владимирович Родионов
Контактная информация:

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

Сообщение 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
Аватара пользователя
Kachik
Мастер
Сообщения: 1413
Зарегистрирован: 13 янв 2017, 16:22
Репутация: 308
Настоящее имя: Сергей
Откуда: Питер
Контактная информация:

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

Сообщение Kachik »

В параллельной ветке уже отписался, но повторю здесь. Берите значения x, y, z, прямо с экрана то есть oemdro с 80 по 82. Другие переменные на китае часто глючат.
Аватара пользователя
Kachik
Мастер
Сообщения: 1413
Зарегистрирован: 13 янв 2017, 16:22
Репутация: 308
Настоящее имя: Сергей
Откуда: Питер
Контактная информация:

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

Сообщение Kachik »

Извините ошибся dro 800-802 соответственно.
Ответить

Вернуться в «Windows / Mach»