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

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

Добавлено: 24 апр 2014, 19:27
Dmaster
Так вот. Как всегда с чем нибудь кучерявым))

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


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


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

И отображение соответственно 4-х координатное)) приятнее что-ли)

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

Добавлено: 24 апр 2014, 20:28
aftaev
Dmaster писал(а):Так вот... хочу такую бяку, Но ни как не пойму как.
так вот есть така пословица - лучше один раз увидеть, чем сто раз прочитать что ты написал :)

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

Добавлено: 24 апр 2014, 20:30
Dmaster
НАШЛОСЬ ФОТО)))) В ИНЕТЕ)))

Изображение

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

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

С отображением сложнее - думаю тут только свою кинематику писать, ну или какой драйвер между LinuxCNC и механикой привода.

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

Добавлено: 25 апр 2014, 12:55
Dmaster
UAVpilot писал(а):Если без отображения и без указания оси (B), то можно процедурку на G-коде изобразить и вызывать (постпроцессором) в УП с указанием угла поворота.
Это уже готово, но хочется лучше.

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

Добавлено: 28 апр 2014, 12:46
Nick
Хммм а как может быть лучше чем O<B> CALL [90]?
Точнее как ты себе это представляешь?

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

Добавлено: 28 апр 2014, 13:43
Serg
Nick писал(а):Точнее как ты себе это представляешь?
Вот так:
Dmaster писал(а): Так вот... хочу такую бяку,
...
дал я команду G0 B90

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

Добавлено: 28 апр 2014, 20:55
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 выглядит УЖАСНО! крокозябра на крокозябре.

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

Добавлено: 29 апр 2014, 09:09
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.

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

Добавлено: 29 апр 2014, 18:33
Dmaster
Nick писал(а):Чтобы в axis выглядело нормально, можно действительно просто добавить виртуальную ось B.
ТЫ услышал меня О ВЕЛИКИЙ!))
Nick писал(а):Только надо будет что-то придумать на случай включения/выключения станка.
Может стоит писать данные о положении дополнительно в файл корректоров?.. что-б сохранялся при каждом повороте.

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

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

Dmaster писал(а):ТЫ услышал меня О ВЕЛИКИЙ!))
http://youtu.be/dBMSu7CQ4cU?t=6m30s

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

Добавлено: 29 апр 2014, 19:38
Dmaster
Nick писал(а):А какой файл ты имеешь в виду? Корректоры инструментов или систем координат? Кстати, а они сохраняются?
НУ.. дело в том, что файл переменных сохраняется ТОЛЬКО когда выключаешь по нормальному. Если неожиданно падает свет, то файл .var остается пустым И НИ ДАЙ ТО БОГ запустить заново не откатив с .var.bak ... потеряешь все привязки и переменные.
А вот файл toolltable переписывается каждый раз при смене инструмента. .. и пустым при аварии не остается.
Плачу.... с 5-го раза)))

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

Добавлено: 29 апр 2014, 20:05
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
, после чего выставлять новые значения...

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

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

ТОгда фиг с ним.. с записью в файл инструментов... надо О код замутить и попробовать....

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

Добавлено: 29 апр 2014, 20:40
Nick
Можно сделать запись/чтение файла через M100+...

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

Добавлено: 29 апр 2014, 21:30
Dmaster
Nick писал(а):Можно сделать запись/чтение файла через M100+...
Это как? ни разу не слышал!

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

Добавлено: 30 апр 2014, 13:00
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....

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

Добавлено: 30 апр 2014, 20:10
Dmaster
ТО ЧТО НАДО!!!!!

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

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

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

Из файла всё читает без проблем и применяет как надо

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

Добавлено: 01 ноя 2015, 22:26
Dmaster
Разобрался
я писал в файл сигнал.. и делается это так
gets имя_сигнала >bcoord.var