Виртуальная поворотная ось

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Dmaster
Мастер
Сообщения: 1272
Зарегистрирован: 15 июл 2011, 13:36
Репутация: 476
Контактная информация:

Виртуальная поворотная ось

Сообщение Dmaster »

Так вот. Как всегда с чем нибудь кучерявым))

Поворотный стол на станке есть. Особенный)))
Поворот осуществляется подъемом стола гидравликой и зацеплением за зубчатую рейку жестко установленную на X.
Поворот осуществляется непосредственно перемещением X-a)
И да.. зацеплять стол можно только в том-же положении Х-а, где ты его отцеплял.. иначе в зуб рейки не попадет.
Возможности установки датчика нет ни какой.


Так вот... хочу такую бяку, Но ни как не пойму как.
дал я команду G0 B90
-станок по х-у приходит в заданную точку.
-поднимает стол.
-ползет на 90мм
-ставит стол


Ну фиг с G0 B90 я согласен на g91 G0 B90 X+90
но вот, как заставить его вернуться в то место где он его отцепил.
Можно тупо по запарке угрохать рейку. Пару раз забылся и готово.

И отображение соответственно 4-х координатное)) приятнее что-ли)
" Linux CNC - наше всё"
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6194
Откуда: Казахстан.
Контактная информация:

Re: Виртуальная поворотная ось

Сообщение aftaev »

Dmaster писал(а):Так вот... хочу такую бяку, Но ни как не пойму как.
так вот есть така пословица - лучше один раз увидеть, чем сто раз прочитать что ты написал :)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
Dmaster
Мастер
Сообщения: 1272
Зарегистрирован: 15 июл 2011, 13:36
Репутация: 476
Контактная информация:

Re: Виртуальная поворотная ось

Сообщение Dmaster »

НАШЛОСЬ ФОТО)))) В ИНЕТЕ)))

Изображение
Вложения
ulyanovsk-prodam_obrabatyvayuschiy_centr_MCFH-40_395344.jpeg (3285 просмотров) <a class='original' href='./download/file.php?id=27599&mode=view' target=_blank>Загрузить оригинал (57.08 КБ)</a>
" Linux CNC - наше всё"
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Виртуальная поворотная ось

Сообщение Serg »

Если без отображения и без указания оси (B), то можно процедурку на G-коде изобразить и вызывать (постпроцессором) в УП с указанием угла поворота. Всё равно ж полноценной 4-х осевой обработки не получить.

С отображением сложнее - думаю тут только свою кинематику писать, ну или какой драйвер между LinuxCNC и механикой привода.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Dmaster
Мастер
Сообщения: 1272
Зарегистрирован: 15 июл 2011, 13:36
Репутация: 476
Контактная информация:

Re: Виртуальная поворотная ось

Сообщение Dmaster »

UAVpilot писал(а):Если без отображения и без указания оси (B), то можно процедурку на G-коде изобразить и вызывать (постпроцессором) в УП с указанием угла поворота.
Это уже готово, но хочется лучше.
" Linux CNC - наше всё"
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Виртуальная поворотная ось

Сообщение Nick »

Хммм а как может быть лучше чем O<B> CALL [90]?
Точнее как ты себе это представляешь?
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Виртуальная поворотная ось

Сообщение Serg »

Nick писал(а):Точнее как ты себе это представляешь?
Вот так:
Dmaster писал(а): Так вот... хочу такую бяку,
...
дал я команду G0 B90
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Dmaster
Мастер
Сообщения: 1272
Зарегистрирован: 15 июл 2011, 13:36
Репутация: 476
Контактная информация:

Re: Виртуальная поворотная ось

Сообщение Dmaster »

Проясню... сейчас по сути генерятся 3 программы для обработки одной детали ( с трех сторон)
Каждая часть имеет свою G54 (55, 56)
между ними тупо засунут код
-G53 G0 координата x-а , где можно зацепиться
-M64 Q0
-М66 P0 L3 Q10
-G91 G1 X90 F1000 ( ну что-б быстро не бегал)
-M65 Q0
-М66 P1 L3 Q10

И код конечно в axis выглядит УЖАСНО! крокозябра на крокозябре.
" Linux CNC - наше всё"
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Виртуальная поворотная ось

Сообщение Nick »

Чтобы в axis выглядело нормально, можно действительно просто добавить виртуальную ось B.
вместо:
-G53 G0 координата x-а , где можно зацепиться
-M64 Q0
-М66 P0 L3 Q10
-G91 G1 X90 F1000 ( ну что-б быстро не бегал)
-M65 Q0
-М66 P1 L3 Q10
пишем

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

O<B> SUB
  G53 G0 (координата x-а , где можно зацепиться)
  M64 Q0
  М66 P0 L3 Q10
  G91 G1 X#1 F1000 ( ну что-б быстро не бегал)
  M65 Q0
  М66 P1 L3 Q10
  G0 B#1
O<B> ENDSUB
Тогда:
1. поворот делаем простым вызовом O<B> call [90].
2. в axis все будет красиво отображаться, т.к. он будет думать, что ось такая есть.
3. можно хранить текущий поворот в глобальной переменной #<_B>, чтобы потом точно знать, где зацепляться. Только надо будет что-то придумать на случай включения/выключения станка.

Ось B - виртуальная - ей ставим большие скорости и ускорения, и в hal axis.4.position-cmd => axis.4.position-fb.
Аватара пользователя
Dmaster
Мастер
Сообщения: 1272
Зарегистрирован: 15 июл 2011, 13:36
Репутация: 476
Контактная информация:

Re: Виртуальная поворотная ось

Сообщение Dmaster »

Nick писал(а):Чтобы в axis выглядело нормально, можно действительно просто добавить виртуальную ось B.
ТЫ услышал меня О ВЕЛИКИЙ!))
Nick писал(а):Только надо будет что-то придумать на случай включения/выключения станка.
Может стоит писать данные о положении дополнительно в файл корректоров?.. что-б сохранялся при каждом повороте.
" Linux CNC - наше всё"
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Виртуальная поворотная ось

Сообщение Nick »

Можно и так...
А какой файл ты имеешь в виду? Корректоры инструментов или систем координат? Кстати, а они сохраняются?
Или вообще отдельный файл.

Dmaster писал(а):ТЫ услышал меня О ВЕЛИКИЙ!))
http://youtu.be/dBMSu7CQ4cU?t=6m30s
Аватара пользователя
Dmaster
Мастер
Сообщения: 1272
Зарегистрирован: 15 июл 2011, 13:36
Репутация: 476
Контактная информация:

Re: Виртуальная поворотная ось

Сообщение Dmaster »

Nick писал(а):А какой файл ты имеешь в виду? Корректоры инструментов или систем координат? Кстати, а они сохраняются?
НУ.. дело в том, что файл переменных сохраняется ТОЛЬКО когда выключаешь по нормальному. Если неожиданно падает свет, то файл .var остается пустым И НИ ДАЙ ТО БОГ запустить заново не откатив с .var.bak ... потеряешь все привязки и переменные.
А вот файл toolltable переписывается каждый раз при смене инструмента. .. и пустым при аварии не остается.
Плачу.... с 5-го раза)))
" Linux CNC - наше всё"
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Виртуальная поворотная ось

Сообщение Nick »

хмм... а как до этих значений достучаться?... в параметрах они вроде не хранятся...
разве что делать "виртуальную смену" инструмента на "поворотный механизм" и потом смотреть
5401-5409 - Tool Offset (X Y Z A B C U V W)
5410 - Current Tool Diameter
5411 - Current Tool Front Angle
5412 - Current Tool Back Angle
5413 - Current Tool Orientation
, после чего выставлять новые значения...
Аватара пользователя
Dmaster
Мастер
Сообщения: 1272
Зарегистрирован: 15 июл 2011, 13:36
Репутация: 476
Контактная информация:

Re: Виртуальная поворотная ось

Сообщение Dmaster »

Nick писал(а):"виртуальную смену"
ОЙ НЕ НАДО!!! станок с ума сойдет. там 30 инструментов..

ТОгда фиг с ним.. с записью в файл инструментов... надо О код замутить и попробовать....
" Linux CNC - наше всё"
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Виртуальная поворотная ось

Сообщение Nick »

Можно сделать запись/чтение файла через M100+...
Аватара пользователя
Dmaster
Мастер
Сообщения: 1272
Зарегистрирован: 15 июл 2011, 13:36
Репутация: 476
Контактная информация:

Re: Виртуальная поворотная ось

Сообщение Dmaster »

Nick писал(а):Можно сделать запись/чтение файла через M100+...
Это как? ни разу не слышал!
" Linux CNC - наше всё"
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Виртуальная поворотная ось

Сообщение Nick »

Это вот так:
http://linuxcnc.org/docs/html/gcode/m-c ... 00-to-M199
Т.е. файл m101 будет примерно такой:

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

#!/bin/bash
echo $1 >bcoord.var
exit 0
M102:

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

#!/bin/bash
b=`cat bcoord.var`
halcmd setp motion.analog-in-00 $b
exit 0
А в O<B> пишем:

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

M102
M66 E0 L0 Q10
(дальше едем с учетом #5399 )
(и потом записываем значение обратно в файл)
M101 P....
Аватара пользователя
Dmaster
Мастер
Сообщения: 1272
Зарегистрирован: 15 июл 2011, 13:36
Репутация: 476
Контактная информация:

Re: Виртуальная поворотная ось

Сообщение Dmaster »

ТО ЧТО НАДО!!!!!
" Linux CNC - наше всё"
Аватара пользователя
Dmaster
Мастер
Сообщения: 1272
Зарегистрирован: 15 июл 2011, 13:36
Репутация: 476
Контактная информация:

Re: Виртуальная поворотная ось

Сообщение Dmaster »

Подниму тему. Как всегда не хватало времени для внедрения виртуальной оси.. вот опять понадобилась, но вот только одна загвоздка.
Nick писал(а):#!/bin/bash
echo $1 >bcoord.var
exit 0
Это не сработало, а точнее не читает параметр $1 .. если вместо $1 написать любое чисто, то прекрасно сохраняется.

Так вот вопрос. как сохранить значение пина или параметра в файл?

Из файла всё читает без проблем и применяет как надо
" Linux CNC - наше всё"
Аватара пользователя
Dmaster
Мастер
Сообщения: 1272
Зарегистрирован: 15 июл 2011, 13:36
Репутация: 476
Контактная информация:

Re: Виртуальная поворотная ось

Сообщение Dmaster »

Разобрался
я писал в файл сигнал.. и делается это так
gets имя_сигнала >bcoord.var
" Linux CNC - наше всё"
Ответить

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