Страница 2 из 3

Re: Программная корректировка пропуска шагов

Добавлено: 30 июл 2013, 15:41
nkp
Nick писал(а):можно его при нажатии кнопки сохранять...
да, по разному можно, просто делал именно минмаксом...

Re: Программная корректировка пропуска шагов

Добавлено: 05 авг 2013, 14:06
Urx
Посмотрите пожалуйста, вот написал процедуру для вставки в G-код. В некоторых строчках сомневаюсь, можно ли вообще так писать, что касается - "Возвращаемся в прежнее положение". И можно ли так писать переменные. Заранее извиняюсь за безграмотность.
Ноль по Z - верхняя поверхность заготовки.

Выключить шпиндель
M5
Сохранение текущих координат
#<CurX>=#<_x>
#<CurY>=#<_y>
#<CurZ>=#<_z>
Отключить смещение начала системы координат станка
G53 G0 X0 Y0 Z0
Выносим ось Z вверх, 5мм над поверхностью заготовки
G0 Z5
Перемещаемся в точку 10, 10 около датчика
G0 X10 Y10
Делаем пробу по X
G38.2 X
Перемещаемся в точку 10, 10 около датчика
G0 X10 Y10
Делаем пробу по Y
G38.2 Y
Перемещаемся в точку 10, 10 около датчика
G0 X10 Y10
Делаем пробу по Z
G38.2 Z
Выставляем Z, 5мм над поверхностью заготовки
G0 Z5
Учитываем толщину пластинки по Z, 2мм
#5063=#5063-2
Делаем временные отступы
G92 X#5061 Y#5062 Z#5063
Возвращаемся в прежнее положение
G0 X#<CurX> Y#<CurY> Z#<CurZ>
Включаем шпиндель
М3

Re: Программная корректировка пропуска шагов

Добавлено: 07 авг 2013, 15:02
Nick
Urx писал(а):Отключить смещение начала системы координат станка
G53 G0 X0 Y0 Z0
G53 модификатор, который заставляет считать координаты станочными. Т.е. G53 G0 X0 Y0 Z0 сделает обычный G0, только все координаты будут станочные без всех отступов. Т.е. станок по этой команде поедет в чет знает куда...

Тебе по идее надо делать так:

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

; поднимаем фрезу на уровень 0
G53 G0 Z0 
; едем к датчику
G53 G0 X0 Y0
(если не используются дополнительные отступы, то можно g53 не писать)

; включаем относительные координаты
G91 

; едем в X +10 
G0 X10 
; опускаемся на глубину датчика 
G0 Z-10 
; делаем пробу по X 
G38.2 X-20 F100 
; Обнуляем X  /2 - толщина инструмента или датчика/
G92 X[0-2]
; поднимаемся назад
G0 Z10 

(сюда надо добавить остальные оси, да, сначала лучше обнулять Z)

; возвращаем абсолютные координаты 
G90 

; едем в запомненное положение 
G0 X#<CurX> Y<#CurY>
M3 
G1 Z#<CurZ>

Re: Программная корректировка пропуска шагов

Добавлено: 16 авг 2013, 09:15
Urx
Nick, а второй параметр G38.2 просто указывает в каком направлении делать пробу? Или это конечная координата? Или несколько большая чем конечная, и фреза сама остановится при соприкосновении с датчиком?

Re: Программная корректировка пропуска шагов

Добавлено: 16 авг 2013, 10:34
Nick
Параметры с названием осей указывают направление (их может быть несколько, например G38.2 X100 Y200 Z-10 - проба по диагонали, F= Feed = скорость подачи = скорость пробы). Но тут возможны варианты,
если включен режим G90 (абсолютные координаты) - то указывается конечная точка
если G91 (относительные координаты) - то как бы направление, т.е. относительное смещение конечной точки.
В последнем примере включается режим G91
; включаем относительные координаты
G91

Потом делаются все измерения, т.е. все направления пробы указываются относительно текущей точки.
Потом возвращаемся в режим G90
; возвращаем абсолютные координаты
G90

Re: Программная корректировка пропуска шагов

Добавлено: 16 авг 2013, 11:02
Urx
Спасибо.
У меня вот такой датчик, высота 15, длина и ширина по 40:
529369c1479d.jpg (1150 просмотров) <a class='original' href='./download/file.php?id=17690&mode=view' target=_blank>Загрузить оригинал (24.89 КБ)</a>
Поэтому немного откорректировал код:

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

; Выключить шпиндель
M5
; Сохранение текущих координат
#<CurX>=#<_x>
#<CurY>=#<_y>
#<CurZ>=#<_z>
; поднимаем фрезу на уровень 5
G53 G0 Z5 
; едем к датчику
G53 G0 X10 Y10
; включаем относительные координаты
G91
; делаем пробу по Z 
G38.2 Z-20 F10
; Обнуляем Z  /2 - толщина датчика/
G92 Z[0-2]
; поднимаемся назад
G0 Z5
; делаем пробу по X 
G38.2 X-20 F10
; Обнуляем X
G92 X[0]
; поднимаемся назад
G0 X10
; делаем пробу по Y 
G38.2 Y-20 F10
; Обнуляем Y
G92 X[0]
; поднимаемся назад
G0 Y10
; возвращаем абсолютные координаты 
G90
; едем в запомненное положение 
G0 X#<CurX> Y<#CurY>
M3 
G1 Z#<CurZ>

Re: Программная корректировка пропуска шагов

Добавлено: 16 авг 2013, 11:29
Nick
Молодцом! :)
Можно еще попробовать уточнять пробу - сначала на более большом F100, а потом после касания обратно на F1.
; Обнуляем Y
G92 X[0]
Тут Y поставь.

ЗЫ Фотографии вешай прямо на форум!!! На надо радикалов! Под формой ответа есть кнопочка добавить вложения!\

Да, тебе бы еще учесть толщину фрезы при замере XY...

Re: Программная корректировка пропуска шагов

Добавлено: 16 авг 2013, 12:49
Urx
Спасибо за найденные ошибки. С фото - учту. Насчет толщины фрезы по X Y - необязательно, просто этот же датчик будет использоваться как хоме, потом его штеккер переткнуть из хоме в пробе. Работать буду единственной фрезой.

Re: Программная корректировка пропуска шагов

Добавлено: 16 авг 2013, 14:11
Urx
Nick. Хочу усовершенствовать код. Есть ли возможность выводить на экран эти смещения в реальном времени? Для того, чтобы определить причину пропуска.

Re: Программная корректировка пропуска шагов

Добавлено: 16 авг 2013, 16:03
Nick
Urx писал(а):Хочу усовершенствовать код. Есть ли возможность выводить на экран эти смещения в реальном времени?
В смысле хочешь увидеть разницу?
В Gкоде:

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

(DEBUG, Xcomp = #<_x>,  Ycomp = #<_y>,  Zcomp = #<_z>)
Точнее это надо делать до того как ты выполнил G92.
В принципе можешь сначала сделать все пробы, а потом:

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

(DEBUG, Xcomp = #<_x>,  Ycomp = #<_y>,  Zcomp = #<_z>)
G92 X0 Y0 Z-2

Re: Программная корректировка пропуска шагов

Добавлено: 16 авг 2013, 23:03
Urx
Тестировал на станке этот код. Прога ругнулась вначале на #<_x> #<_y> #<_z>, типа неизвестные переменные. Заменил их на #5061, #5062, #5063. УП запустилась. Впереди кода написал G0 X50 Y50 Z5, чтобы потом перейти в эту точку, но инструмент ушел за датчик, слегка его изогнув. Я думал что эти числовые переменные есть текущие координаты x y z.
Сейчас порыскал в сети, нашел следующее:
#5001 – #500n Значение командной координаты, с учетом корректора инструмента в рабочей КС
#5021-#502n Значения машинных координат
#5041-#504n В рабочей КС - значение программных координат, без учета корректора инструмента
#5061-#506n Значение координат контакта с измерительным щупом в рабочей КС без учета корректора инструмента

Я так понял, что мне надо использовать либо 5021 либо 5041, но какую именно?

Re: Программная корректировка пропуска шагов

Добавлено: 17 авг 2013, 10:12
Urx
Пробовал подставлять и 502... и 504... та же ситуация - едет в ноль X Y.
(ubuntu 10.04, axes 2.5.0)
Подстановка в DEBUG #<CurX>, #<CurY>, #<CurZ>, выводит нули.

Вознможно у меня старая версия 2.5.0. Как скачать обновление до 2.5.3 никак не пойму на сайте:
http://www.linuxcnc.org/index.php/download/21/

Re: Программная корректировка пропуска шагов

Добавлено: 17 авг 2013, 13:36
nkp
между 2.5.0 и 2.5.3 разница не большая.если хочешь обновляться - то до 2.6
я так понял - проблема в командах типа (DEBUG, Xcomp = #<_x>, Ycomp = #<_y>, Zcomp = #<_z>) - не отображает значения параметров???

Re: Программная корректировка пропуска шагов

Добавлено: 17 авг 2013, 13:50
nkp
2_2.ngc
(366 байт) 1000 скачиваний
попробуй выполить этот код - по идее в axis должны отображаться патаметры примерно так:
Выделение(027).jpg (1075 просмотров) <a class='original' href='./download/file.php?id=17710&mode=view' target=_blank>Загрузить оригинал (290.9 КБ)</a>

Re: Программная корректировка пропуска шагов

Добавлено: 17 авг 2013, 14:27
Urx
Проблема не в DEBUG, а в том что _x, _y, _z моя программа не понимает, я пытался перейти на численнные значения переменных, но не знаю на какие, какие не пробовал, всё не то.

Re: Программная корректировка пропуска шагов

Добавлено: 17 авг 2013, 20:34
nkp
Urx писал(а):Проблема не в DEBUG, а в том что _x, _y, _z моя программа не понимает
моя программа - это емс?
_x, _y, _z , _name - так обозначаются глобальные параметры...
они "работают" для всех файлов, расположенных в одной директории ,которая указанна в
файле .ini , PROGRAM_PREFIX = ...
(у меня например это папка PROGRAM_PREFIX = /home/nkp/linuxcnc/nc_files)
и в 2.4 и в 2.5 и в 2.6 это работает...

Re: Программная корректировка пропуска шагов

Добавлено: 17 авг 2013, 20:38
nkp
Urx писал(а):перейти на численнные значения переменных
описание системных параметров...

Re: Программная корректировка пропуска шагов

Добавлено: 18 авг 2013, 08:12
Urx
nkp писал(а):
Urx писал(а):Проблема не в DEBUG, а в том что _x, _y, _z моя программа не понимает
моя программа - это емс?
_x, _y, _z , _name - так обозначаются глобальные параметры...
они "работают" для всех файлов, расположенных в одной директории ,которая указанна в
файле .ini , PROGRAM_PREFIX = ...
(у меня например это папка PROGRAM_PREFIX = /home/nkp/linuxcnc/nc_files)
и в 2.4 и в 2.5 и в 2.6 это работает...
INI нашел, он в папке с конфигурацией лежит. Там нашел строку "PROGRAM_PREFIX =/home/cnc/linuxcnc/nc_files"
Файл в nc_files кинул. Обозвал cod.cnc
При открытии файла прога пишет:
"Ошибка G-кода на cod.cnc
Около строки 5 в /home/cnc/linuxcnc/nc_files/cod.cnc
Named parameter #<_x> not defined"

Re: Программная корректировка пропуска шагов

Добавлено: 18 авг 2013, 08:21
nkp
Urx писал(а):А где сам INI находится?
конфигурационные файлы станка (ini, hal и др.) находятся в /home/ЮЗЕР/linuxcnc/НАЗВАНИЕ_КОНФИГУРАЦИИ(СТАНКА)
ini файл содержит настройки станка...
найти строку PROGRAM_PREFIX = - путь ,который в этой строке указан служит для размещения программ(ж-кодов)
если ложить ж-коды только в эту папку - то глобальные параметры(типа_x) будут работать для всех файлов программ...

Re: Программная корректировка пропуска шагов

Добавлено: 18 авг 2013, 09:05
Urx
Пока писал, не заметил последнее сообщение, своё отредактировал выше.