Виртуальная поворотная ось
- Dmaster
- Мастер
- Сообщения: 1272
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Виртуальная поворотная ось
Так вот. Как всегда с чем нибудь кучерявым))
Поворотный стол на станке есть. Особенный)))
Поворот осуществляется подъемом стола гидравликой и зацеплением за зубчатую рейку жестко установленную на X.
Поворот осуществляется непосредственно перемещением X-a)
И да.. зацеплять стол можно только в том-же положении Х-а, где ты его отцеплял.. иначе в зуб рейки не попадет.
Возможности установки датчика нет ни какой.
Так вот... хочу такую бяку, Но ни как не пойму как.
дал я команду G0 B90
-станок по х-у приходит в заданную точку.
-поднимает стол.
-ползет на 90мм
-ставит стол
Ну фиг с G0 B90 я согласен на g91 G0 B90 X+90
но вот, как заставить его вернуться в то место где он его отцепил.
Можно тупо по запарке угрохать рейку. Пару раз забылся и готово.
И отображение соответственно 4-х координатное)) приятнее что-ли)
Поворотный стол на станке есть. Особенный)))
Поворот осуществляется подъемом стола гидравликой и зацеплением за зубчатую рейку жестко установленную на X.
Поворот осуществляется непосредственно перемещением X-a)
И да.. зацеплять стол можно только в том-же положении Х-а, где ты его отцеплял.. иначе в зуб рейки не попадет.
Возможности установки датчика нет ни какой.
Так вот... хочу такую бяку, Но ни как не пойму как.
дал я команду G0 B90
-станок по х-у приходит в заданную точку.
-поднимает стол.
-ползет на 90мм
-ставит стол
Ну фиг с G0 B90 я согласен на g91 G0 B90 X+90
но вот, как заставить его вернуться в то место где он его отцепил.
Можно тупо по запарке угрохать рейку. Пару раз забылся и готово.
И отображение соответственно 4-х координатное)) приятнее что-ли)
" Linux CNC - наше всё"
-
aftaev
- Зачётный участник

- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6194
- Откуда: Казахстан.
- Контактная информация:
Re: Виртуальная поворотная ось
так вот есть така пословица - лучше один раз увидеть, чем сто раз прочитать что ты написалDmaster писал(а):Так вот... хочу такую бяку, Но ни как не пойму как.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Виртуальная поворотная ось
Если без отображения и без указания оси (B), то можно процедурку на G-коде изобразить и вызывать (постпроцессором) в УП с указанием угла поворота. Всё равно ж полноценной 4-х осевой обработки не получить.
С отображением сложнее - думаю тут только свою кинематику писать, ну или какой драйвер между LinuxCNC и механикой привода.
С отображением сложнее - думаю тут только свою кинематику писать, ну или какой драйвер между LinuxCNC и механикой привода.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Dmaster
- Мастер
- Сообщения: 1272
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Виртуальная поворотная ось
Это уже готово, но хочется лучше.UAVpilot писал(а):Если без отображения и без указания оси (B), то можно процедурку на G-коде изобразить и вызывать (постпроцессором) в УП с указанием угла поворота.
" Linux CNC - наше всё"
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Виртуальная поворотная ось
Хммм а как может быть лучше чем O<B> CALL [90]?
Точнее как ты себе это представляешь?
Точнее как ты себе это представляешь?
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Виртуальная поворотная ось
Вот так:Nick писал(а):Точнее как ты себе это представляешь?
Dmaster писал(а): Так вот... хочу такую бяку,
...
дал я команду G0 B90
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Dmaster
- Мастер
- Сообщения: 1272
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Виртуальная поворотная ось
Проясню... сейчас по сути генерятся 3 программы для обработки одной детали ( с трех сторон)
Каждая часть имеет свою G54 (55, 56)
между ними тупо засунут код
-G53 G0 координата x-а , где можно зацепиться
-M64 Q0
-М66 P0 L3 Q10
-G91 G1 X90 F1000 ( ну что-б быстро не бегал)
-M65 Q0
-М66 P1 L3 Q10
И код конечно в axis выглядит УЖАСНО! крокозябра на крокозябре.
Каждая часть имеет свою 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: Виртуальная поворотная ось
Чтобы в axis выглядело нормально, можно действительно просто добавить виртуальную ось B.
вместо:
Тогда:
1. поворот делаем простым вызовом O<B> call [90].
2. в axis все будет красиво отображаться, т.к. он будет думать, что ось такая есть.
3. можно хранить текущий поворот в глобальной переменной #<_B>, чтобы потом точно знать, где зацепляться. Только надо будет что-то придумать на случай включения/выключения станка.
Ось B - виртуальная - ей ставим большие скорости и ускорения, и в hal axis.4.position-cmd => axis.4.position-fb.
вместо:
пишем-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: Виртуальная поворотная ось
ТЫ услышал меня О ВЕЛИКИЙ!))Nick писал(а):Чтобы в axis выглядело нормально, можно действительно просто добавить виртуальную ось B.
Может стоит писать данные о положении дополнительно в файл корректоров?.. что-б сохранялся при каждом повороте.Nick писал(а):Только надо будет что-то придумать на случай включения/выключения станка.
" Linux CNC - наше всё"
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Виртуальная поворотная ось
Можно и так...
А какой файл ты имеешь в виду? Корректоры инструментов или систем координат? Кстати, а они сохраняются?
Или вообще отдельный файл.
А какой файл ты имеешь в виду? Корректоры инструментов или систем координат? Кстати, а они сохраняются?
Или вообще отдельный файл.
http://youtu.be/dBMSu7CQ4cU?t=6m30sDmaster писал(а):ТЫ услышал меня О ВЕЛИКИЙ!))
- Dmaster
- Мастер
- Сообщения: 1272
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Виртуальная поворотная ось
НУ.. дело в том, что файл переменных сохраняется ТОЛЬКО когда выключаешь по нормальному. Если неожиданно падает свет, то файл .var остается пустым И НИ ДАЙ ТО БОГ запустить заново не откатив с .var.bak ... потеряешь все привязки и переменные.Nick писал(а):А какой файл ты имеешь в виду? Корректоры инструментов или систем координат? Кстати, а они сохраняются?
А вот файл toolltable переписывается каждый раз при смене инструмента. .. и пустым при аварии не остается.
Плачу.... с 5-го раза)))Nick писал(а): http://youtu.be/dBMSu7CQ4cU?t=6m30s
" Linux CNC - наше всё"
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Виртуальная поворотная ось
хмм... а как до этих значений достучаться?... в параметрах они вроде не хранятся...
разве что делать "виртуальную смену" инструмента на "поворотный механизм" и потом смотреть
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
, после чего выставлять новые значения...
разве что делать "виртуальную смену" инструмента на "поворотный механизм" и потом смотреть
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: Виртуальная поворотная ось
ОЙ НЕ НАДО!!! станок с ума сойдет. там 30 инструментов..Nick писал(а):"виртуальную смену"
ТОгда фиг с ним.. с записью в файл инструментов... надо О код замутить и попробовать....
" Linux CNC - наше всё"
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Виртуальная поворотная ось
Можно сделать запись/чтение файла через M100+...
- Dmaster
- Мастер
- Сообщения: 1272
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Виртуальная поворотная ось
Это как? ни разу не слышал!Nick писал(а):Можно сделать запись/чтение файла через M100+...
" Linux CNC - наше всё"
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Виртуальная поворотная ось
Это вот так:
http://linuxcnc.org/docs/html/gcode/m-c ... 00-to-M199
Т.е. файл m101 будет примерно такой:
M102:
А в O<B> пишем:
http://linuxcnc.org/docs/html/gcode/m-c ... 00-to-M199
Т.е. файл m101 будет примерно такой:
Код: Выделить всё
#!/bin/bash
echo $1 >bcoord.var
exit 0Код: Выделить всё
#!/bin/bash
b=`cat bcoord.var`
halcmd setp motion.analog-in-00 $b
exit 0Код: Выделить всё
M102
M66 E0 L0 Q10
(дальше едем с учетом #5399 )
(и потом записываем значение обратно в файл)
M101 P....
- Dmaster
- Мастер
- Сообщения: 1272
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Виртуальная поворотная ось
Подниму тему. Как всегда не хватало времени для внедрения виртуальной оси.. вот опять понадобилась, но вот только одна загвоздка.
Так вот вопрос. как сохранить значение пина или параметра в файл?
Из файла всё читает без проблем и применяет как надо
Это не сработало, а точнее не читает параметр $1 .. если вместо $1 написать любое чисто, то прекрасно сохраняется.Nick писал(а):#!/bin/bash
echo $1 >bcoord.var
exit 0
Так вот вопрос. как сохранить значение пина или параметра в файл?
Из файла всё читает без проблем и применяет как надо
" Linux CNC - наше всё"
- Dmaster
- Мастер
- Сообщения: 1272
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Виртуальная поворотная ось
Разобрался
я писал в файл сигнал.. и делается это так
gets имя_сигнала >bcoord.var
я писал в файл сигнал.. и делается это так
gets имя_сигнала >bcoord.var
" Linux CNC - наше всё"

