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

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

Добавлено: 03 сен 2013, 14:11
Bmax77
Хочу сохранять положение инструмента чтобы после смены и пробы новый инструмент возвращался в позицию предыдущего.

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

Добавлено: 03 сен 2013, 14:14
Алексс
g28.1 + g28

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

Добавлено: 03 сен 2013, 14:25
Bmax77
Ну это как вариант, но должен же быть способ получить текущие координаты станка, реальные или с учетом всех смещений?

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

Добавлено: 03 сен 2013, 14:30
Serg
Вообще-то g28 предназначена совсем для другого.
Непонятно вообще желание запоминать положение инструмента перед сменой. Всё равно позиционированием инструмента должна ведать CAM-программа, ведь только она точно знает где продолжится обработка.
Ну или представьте такую ситуацию: закончили работать короткой фрезой, запомнили положение, поменяли фрезу на более длинную, поехали в запомненное положение и приехали фрезой в стол/деталь.

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

Добавлено: 03 сен 2013, 14:46
Алексс
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
сохранить и вернуться. читп :)

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

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

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

Ок, ну а хотябы где хранятся текущие абсолютные координаты? чтобы их можно было вытащить let var=#NNNN?

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

Добавлено: 03 сен 2013, 14:58
Алексс
кам на 100% знает безопасную высоту на которой можно летать куда хочешь. если она задана не верно то ССЗБ.
на форуме детально описана процедура смены инструмента.

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

Добавлено: 03 сен 2013, 14:59
Bmax77
Кам может и знает, но бывают нюансы. По тому и спрашиваю.
Ок. чтобы не разводить полемику, забудем про смену инструмента, как из LinuxCNC получить текущие координаты, желательно с учетом всех текущих смещений на данный момент?

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

Добавлено: 03 сен 2013, 15:08
Алексс
Bmax77 писал(а):брошенный где попало инструмент вот это ОПАСНО
очень опасно!
поэтому инструмент нужно убирать после смены и не разбрасывать где попало. :freak:

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

Добавлено: 03 сен 2013, 15:12
Bmax77
Алексс писал(а):поэтому инструмент нужно убирать после смены и не разбрасывать где попало. :freak:
Да у меня тут на днях целый набор сверел пропал, но это так и не приблизило меня к ответу как узнать текущие координаты?

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

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

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

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

сегодня испытаю.

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

Добавлено: 03 сен 2013, 16:14
Bmax77
Позор на мою седую голову!!!
Вот ответ 5420-5428 - Current Position including offsets in current program units (X Y Z A B C U V W)

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

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

Кстати, это локальные координаты, т.е. смена системы координат на них влияет, но это в принципе уже написано.

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

Добавлено: 15 ноя 2013, 01:52
ALS
если уже обсуждалось - прошу тыкнуть носом...
Как (каким образом) эти координаты можно отправить в последовательный порт ?
Задача - повесить над станком внешний LED-дисплей, отображающий текущие координаты.

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

Добавлено: 15 ноя 2013, 08:18
nkp
ALS писал(а):Как (каким образом) эти координаты можно отправить в последовательный порт ?
можно использовать питон и модуль pySerial,
написать нужный компонент наподобие этого...
в этой же теме упоминается готовый компонент lcd я так понял к 7I73

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

Добавлено: 15 ноя 2013, 11:19
Nick
Кто будет этот led перерисовывать? Какая плата?

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

Добавлено: 15 ноя 2013, 12:01
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 (2844 просмотра) <a class='original' href='./download/file.php?id=20978&mode=view' target=_blank>Загрузить оригинал (96.59 КБ)</a>

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

Добавлено: 15 ноя 2013, 13:39
Сергей Саныч
Что-то я туплю :monkey:
Не могу сообразить, как привязать переменные LCNC к пинам hal :thinking:
Просто, скажем, чтобы вывести значение переменной (#5xxx или #<_xxx>) на панель pyvcp.

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

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