В каких переменных LinuxCNC хранит текущее положение?

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Bmax77
Мастер
Сообщения: 400
Зарегистрирован: 13 авг 2013, 11:05
Репутация: 39
Контактная информация:

В каких переменных LinuxCNC хранит текущее положение?

Сообщение Bmax77 »

Хочу сохранять положение инструмента чтобы после смены и пробы новый инструмент возвращался в позицию предыдущего.
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

Re: В каких переменных LinuxCNC хранит текущее положение?

Сообщение Алексс »

g28.1 + g28
Каждая собака, бегущая на поводке впереди хозяина, думает, что ведет его за собой.
Bmax77
Мастер
Сообщения: 400
Зарегистрирован: 13 авг 2013, 11:05
Репутация: 39
Контактная информация:

Re: В каких переменных LinuxCNC хранит текущее положение?

Сообщение Bmax77 »

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

Re: В каких переменных LinuxCNC хранит текущее положение?

Сообщение Serg »

Вообще-то g28 предназначена совсем для другого.
Непонятно вообще желание запоминать положение инструмента перед сменой. Всё равно позиционированием инструмента должна ведать CAM-программа, ведь только она точно знает где продолжится обработка.
Ну или представьте такую ситуацию: закончили работать короткой фрезой, запомнили положение, поменяли фрезу на более длинную, поехали в запомненное положение и приехали фрезой в стол/деталь.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

Re: В каких переменных LinuxCNC хранит текущее положение?

Сообщение Алексс »

UAVpilot писал(а):Вообще-то g28 предназначена совсем для другого.
для чего ?

четко по мануалу
G28.1 - stores the current absolute position into parameters 5161-5166.
G28 - makes a rapid traverse move from the current position to the absolute position of the values in parameters 5161-5166
сохранить и вернуться. читп :)
Каждая собака, бегущая на поводке впереди хозяина, думает, что ведет его за собой.
Bmax77
Мастер
Сообщения: 400
Зарегистрирован: 13 авг 2013, 11:05
Репутация: 39
Контактная информация:

Re: В каких переменных LinuxCNC хранит текущее положение?

Сообщение Bmax77 »

UAVpilot писал(а):Ну или представьте такую ситуацию: закончили работать короткой фрезой, запомнили положение, поменяли фрезу на более длинную, поехали в запомненное положение и приехали фрезой в стол/деталь.
Я пишу функцию смены инструмента с автоопределением вылета, есть у меня датчик. По этому фрезой мы не въедем никуда, а вот подвести инструмент в то место где закончилась обработка я считаю правильным, ибо САМ не знает как происходит смена, он просто пишет вызов процедуры, и потом брошенный где попало инструмент вот это ОПАСНО.

А вот использование G28 прямая дорога фрезой в деталь ибо сохраняются машинные координаты и более длинная фреза точно уйдет в деталь.

Ок, ну а хотябы где хранятся текущие абсолютные координаты? чтобы их можно было вытащить let var=#NNNN?
Последний раз редактировалось Bmax77 03 сен 2013, 14:58, всего редактировалось 1 раз.
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

Re: В каких переменных LinuxCNC хранит текущее положение?

Сообщение Алексс »

кам на 100% знает безопасную высоту на которой можно летать куда хочешь. если она задана не верно то ССЗБ.
на форуме детально описана процедура смены инструмента.
Каждая собака, бегущая на поводке впереди хозяина, думает, что ведет его за собой.
Bmax77
Мастер
Сообщения: 400
Зарегистрирован: 13 авг 2013, 11:05
Репутация: 39
Контактная информация:

Re: В каких переменных LinuxCNC хранит текущее положение?

Сообщение Bmax77 »

Кам может и знает, но бывают нюансы. По тому и спрашиваю.
Ок. чтобы не разводить полемику, забудем про смену инструмента, как из LinuxCNC получить текущие координаты, желательно с учетом всех текущих смещений на данный момент?
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

Re: В каких переменных LinuxCNC хранит текущее положение?

Сообщение Алексс »

Bmax77 писал(а):брошенный где попало инструмент вот это ОПАСНО
очень опасно!
поэтому инструмент нужно убирать после смены и не разбрасывать где попало. :freak:
Каждая собака, бегущая на поводке впереди хозяина, думает, что ведет его за собой.
Bmax77
Мастер
Сообщения: 400
Зарегистрирован: 13 авг 2013, 11:05
Репутация: 39
Контактная информация:

Re: В каких переменных LinuxCNC хранит текущее положение?

Сообщение Bmax77 »

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

Re: В каких переменных LinuxCNC хранит текущее положение?

Сообщение Serg »

вот тут более развёрнуто: http://www.cnccookbook.com/CCCNCGCodeG2 ... erence.htm
G28 в основном используется как позиция смены инструмента, ибо CAM как правило не знает где именно находится автосменщик. Позиция как правило настраивается один раз при пусконаладке станка.
Используется это примерно так:
G28 Z0 (едем на безопасную высоту)
G28 X100 (объезжаем торчащий крепёж)
G28 (едем в позицию смены)
(меняем инструмент)
G29 Xnnn Ymmm Zkkk (возвращаемся к продолжению работы, куда CAM требует)
Bmax77 писал(а):Я пишу функцию смены инструмента с автоопределением вылета, есть у меня датчик. По этому фрезой мы не въедем никуда, а вот подвести инструмент в то место где закончилась обработка я считаю правильным, ибо САМ не знает как происходит смена, он просто пишет вызов процедуры, и потом брошенный где попало инструмент вот это ОПАСНО.
Правильный CAM (постпроцессор) сначала с помощью G28 уводит инструмент в безопасное место и только потом вызывает процедуру смены инструмента. Сразу вызывать процедуру смены нельзя даже если в ней есть уход на безопасную высоту, ибо в конкретном случае могут использоваться приспособления, в которые можно въехать и на максимальной для станка высоте.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

Re: В каких переменных LinuxCNC хранит текущее положение?

Сообщение Алексс »

UAVpilot писал(а):вот тут более развёрнуто:
ай спасибо дорогой!
вот оно решение моей проблемы:
g91 g28x0y0
красота!

сегодня испытаю.
Каждая собака, бегущая на поводке впереди хозяина, думает, что ведет его за собой.
Bmax77
Мастер
Сообщения: 400
Зарегистрирован: 13 авг 2013, 11:05
Репутация: 39
Контактная информация:

Re: В каких переменных LinuxCNC хранит текущее положение?

Сообщение Bmax77 »

Позор на мою седую голову!!!
Вот ответ 5420-5428 - Current Position including offsets in current program units (X Y Z A B C U V W)
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: В каких переменных LinuxCNC хранит текущее положение?

Сообщение Nick »

Bmax77 писал(а):Вот ответ 5420-5428 - Current Position including offsets in current program units (X Y Z A B C U V W)
Чуть запоздало, но... в последних версиях также работают и #<_x> #<_y> ... #<_w>.

Кстати, это локальные координаты, т.е. смена системы координат на них влияет, но это в принципе уже написано.
Аватара пользователя
ALS
Опытный
Сообщения: 159
Зарегистрирован: 15 ноя 2013, 01:46
Репутация: 161
Откуда: Севастополь
Контактная информация:

Re: В каких переменных LinuxCNC хранит текущее положение?

Сообщение ALS »

если уже обсуждалось - прошу тыкнуть носом...
Как (каким образом) эти координаты можно отправить в последовательный порт ?
Задача - повесить над станком внешний LED-дисплей, отображающий текущие координаты.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: В каких переменных LinuxCNC хранит текущее положение?

Сообщение nkp »

ALS писал(а):Как (каким образом) эти координаты можно отправить в последовательный порт ?
можно использовать питон и модуль pySerial,
написать нужный компонент наподобие этого...
в этой же теме упоминается готовый компонент lcd я так понял к 7I73
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: В каких переменных LinuxCNC хранит текущее положение?

Сообщение Nick »

Кто будет этот led перерисовывать? Какая плата?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: В каких переменных LinuxCNC хранит текущее положение?

Сообщение nkp »

так работает:

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

#!/usr/bin/python
import serial
import hal, time

ser = serial.Serial('/dev/ttyS0', 9600, timeout=1)
h = hal.component("com-out")
h.newpin("inX", hal.HAL_FLOAT, hal.HAL_IN)
h.newpin("inY", hal.HAL_FLOAT, hal.HAL_IN)
h.newpin("inZ", hal.HAL_FLOAT, hal.HAL_IN)
h.newpin("out", hal.HAL_FLOAT, hal.HAL_OUT)
h.ready()
try:
	while 1:
		time.sleep(1)
		ser.write('%f' % (h['inX'])) 
		ser.write('%f' % (h['inY']))
		ser.write('%f' % (h['inZ']))
except KeyboardInterrupt:
    raise SystemExit
вот архив с конфигом - можно сразу запустить и пробовать читать устройством:
Sherline3Axis_com_serial.rar
(5.3 КБ) 385 скачиваний
Выделение_050.png (2842 просмотра) <a class='original' href='./download/file.php?id=20978&mode=view' target=_blank>Загрузить оригинал (96.59 КБ)</a>
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: В каких переменных LinuxCNC хранит текущее положение?

Сообщение Сергей Саныч »

Что-то я туплю :monkey:
Не могу сообразить, как привязать переменные LCNC к пинам hal :thinking:
Просто, скажем, чтобы вывести значение переменной (#5xxx или #<_xxx>) на панель pyvcp.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
ALS
Опытный
Сообщения: 159
Зарегистрирован: 15 ноя 2013, 01:46
Репутация: 161
Откуда: Севастополь
Контактная информация:

Re: В каких переменных LinuxCNC хранит текущее положение?

Сообщение ALS »

nkp, большое спасибо, буду пробовать.
Nick, есть разные платы, собираю сам. В их основе - микроконтроллер с аппаратным UART-ом, работающим в 9600-8-N-1, к которому подключены линейки светодиодных индикаторов (или 20х4 LCD). Получается как бы "умный" LED.
Ответить

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