Страница 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 писал(а):брошенный где попало инструмент вот это ОПАСНО
очень опасно!
поэтому инструмент нужно убирать после смены и не разбрасывать где попало.

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

Да у меня тут на днях целый набор сверел пропал, но это так и не приблизило меня к ответу как узнать текущие координаты?
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
вот архив с конфигом - можно сразу запустить и пробовать читать устройством:
Re: В каких переменных LinuxCNC хранит текущее положение?
Добавлено: 15 ноя 2013, 13:39
Сергей Саныч
Что-то я туплю
Не могу сообразить, как привязать переменные LCNC к пинам hal
Просто, скажем, чтобы вывести значение переменной (#5xxx или #<_xxx>) на панель pyvcp.
Re: В каких переменных LinuxCNC хранит текущее положение?
Добавлено: 15 ноя 2013, 14:09
ALS
nkp, большое спасибо, буду пробовать.
Nick, есть разные платы, собираю сам. В их основе - микроконтроллер с аппаратным UART-ом, работающим в 9600-8-N-1, к которому подключены линейки светодиодных индикаторов (или 20х4 LCD). Получается как бы "умный" LED.