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

Re: ИР500, горизонтально фрезерный. Вторая жизнь.

Добавлено: 05 фев 2016, 21:48
Leo_1943
Спасибо, Nick. Уже решил через ladder, разжим по М64Р0, поворот G0 или G1 A...., и зажим по М65Р0. Счёт по конечнику по 5 градусов. Вращение пока только в одну сторону, думаю так и оставить. Но остался вопрос, в режиме MDI все идеально (видео выложу), но в программе нужен какой то останов пока не выполнялся поворот стола. Как это сделать?

Re: ИР500, горизонтально фрезерный. Вторая жизнь.

Добавлено: 06 фев 2016, 00:36
Nick
Через M66 http://linuxcnc.org/docs/html/gcode/m-c ... #mcode:m66
M66 Pxx L1 Q100 - ждем растущий фронт на входном пине 100 секунд потом можно еще проверку добавить O... IF [#5399 EQ -1 ]
(DEBUG, Стол застрял!!!)
M0.

Re: ИР500, горизонтально фрезерный. Вторая жизнь.

Добавлено: 06 фев 2016, 01:12
Leo_1943
Nick писал(а):Через M66 http://linuxcnc.org/docs/html/gcode/m-c ... #mcode:m66
M66 Pxx L1 Q100 - ждем растущий фронт на входном пине 100 секунд потом можно еще проверку добавить O... IF [#5399 EQ -1 ]
(DEBUG, Стол застрял!!!)
M0.
Есть пример применения на практике? (это читал, без примера не понял)

Re: ИР500, горизонтально фрезерный. Вторая жизнь.

Добавлено: 06 фев 2016, 01:16
Nick
Поищи по M66
https://www.google.ru/search?q=site%3Acnc-club.ru+m66

Суть такая, когда появляется M66 LinuxCNC останавливается и ждет. Ждет сигнала. Ждет на пине P-- это motion.digital-in-xx E-- P-- это motion.analog-in-xx.
Дальше идет режим - L - ждать растущий фронт, падающий, ждать 1, ждать 0, или просто взять текущий сигнал.

Q - жать столько секунд. Если не дождались за это время, то значение будет -1

После этого кода в #5399 запишется значение которое было на пине.

Re: ИР500, горизонтально фрезерный. Вторая жизнь.

Добавлено: 06 фев 2016, 01:22
Leo_1943
Nick писал(а):Поищи по M66
https://www.google.ru/search?q=site%3Acnc-club.ru+m66

Суть такая, когда появляется M66 LinuxCNC останавливается и ждет. Ждет сигнала. Ждет на пине P-- это motion.digital-in-xx E-- P-- это motion.analog-in-xx.
Дальше идет режим - L - ждать растущий фронт, падающий, ждать 1, ждать 0, или просто взять текущий сигнал.

Q - жать столько секунд. Если не дождались за это время, то значение будет -1

После этого кода в #5399 запишется значение которое было на пине.
Завтра буду пробовать. И смену инструмента отладить останется.

Re: ИР500, горизонтально фрезерный. Вторая жизнь.

Добавлено: 06 фев 2016, 01:33
Leo_1943
Хотя нет, наверно оставлю в инструкции формат типа
g64p0
goa....
g4p25
m65p0
зачем мучится, инструкцию ведь мне писать.

Re: ИР500, горизонтально фрезерный. Вторая жизнь.

Добавлено: 06 фев 2016, 01:47
Nick
А если не довернется?
ЗЫ можно все это в отдельную подпрограмму вынести.

Re: ИР500, горизонтально фрезерный. Вторая жизнь.

Добавлено: 06 фев 2016, 02:52
vovafed
Leo_1943 писал(а):Есть пример применения на практике? (это читал, без примера не понял)
http://www.cnc-club.ru/forum/viewtopic. ... 58#p253258
здесь немножко разбирался
уже работает
только без обратной связи от датчиков пока без сбоев но датчики буду подключать

Re: ИР500, горизонтально фрезерный. Вторая жизнь.

Добавлено: 08 фев 2016, 22:59
Leo_1943
vovafed писал(а):
Leo_1943 писал(а):Есть пример применения на практике? (это читал, без примера не понял)
http://www.cnc-club.ru/forum/viewtopic. ... 58#p253258
здесь немножко разбирался
уже работает
только без обратной связи от датчиков пока без сбоев но датчики буду подключать
Спасибо, добрый саморетянин!
Не помогло, у меня linuxcnc2.5 он компонент carousel не понял, собственно, как и компонент orient. Начал все настраивать через classicladder поворот магазина уже готов, правда в одну сторону пока(так и оставлю) и с обнулением вначале (типа home), осталась рука и ориентация шпинделя. Думаю точно никто не подскажет как через ladder организовать.

Re: ИР500, горизонтально фрезерный. Вторая жизнь.

Добавлено: 09 фев 2016, 10:28
vovafed
а обновить версию)

Re: ИР500, горизонтально фрезерный. Вторая жизнь.

Добавлено: 11 фев 2016, 22:25
Leo_1943
vovafed писал(а):а обновить версию)
А не обновляя, это самый лучший совет? Индекс и счёт энкодера буду пробовать в ladder завести.

Re: ИР500, горизонтально фрезерный. Вторая жизнь.

Добавлено: 15 фев 2016, 07:50
vovafed
c ladder у меня совсем никак
а на что ругается при установки карусели посмотреть можно
может что не допрописано :thinking:

Re: ИР500, горизонтально фрезерный. Вторая жизнь.

Добавлено: 17 фев 2016, 21:51
Leo_1943
Доброго всем вечера!
Подскажите кто нибудь, как поймать сигнал ноль метки шпинделя, дабы завести в ladder. Стоит 5i25+7i77, нет сигнала phase-z, index-enablе двунаправленный сигнал, не могу в него 1 записать, дабы каждый оборот count обнулялось.

Re: ИР500, горизонтально фрезерный. Вторая жизнь.

Добавлено: 18 фев 2016, 00:50
Leo_1943
Неужели даже ГУРУ форума не помогут- UAVpilot, Nick, Aftaev, PKM....

Re: ИР500, горизонтально фрезерный. Вторая жизнь.

Добавлено: 18 фев 2016, 01:57
Serg
я уже в какой-то теме писал, что именно из-за его двунаправленности его сложно использовать в ладдере и т.п. Разве что изобразить свой компонент-конвертор.
Не понятна фраза "нет сигнала phase-z". У энкодера нет такого сигнала? Если есть, то заводи на обычный вход и используй в ладдере и где хочешь, но будет погрешность в длительность сервоцикла.

Re: ИР500, горизонтально фрезерный. Вторая жизнь.

Добавлено: 18 фев 2016, 02:04
Leo_1943
UAVpilot писал(а):я уже в какой-то теме писал, что именно из-за его двунаправленности его сложно использовать в ладдере и т.п. Разве что изобразить свой компонент-конвертор.
Не понятна фраза "нет сигнала phase-z". У энкодера нет такого сигнала? Если есть, то заводи на обычный вход и используй в ладдере и где хочешь, но будет погрешность в длительность сервоцикла.
прошу прощение за не понимание, как конвертировать, или что для этого использовать?

Re: ИР500, горизонтально фрезерный. Вторая жизнь.

Добавлено: 18 фев 2016, 02:26
Serg
компонент-конвертор - у него с одной стороны обычные пины для управления/считывания, а с другой этот самый index-enablе.
Логика работы index-enablе такова: в неактивном состоянии там ноль. При записи в него "1" он переходит в "состояние ожидания" индексной метки. При появлении оной 5i25 сбрасывает index-enablе обратно в "0" и счётчик соотв. энкодера в 5i25 обнуляется.
собственно конвертору нужны два пина один IN с помощью которого будет "взводится" index-enablе и один OUT, где будет появляться результирующий сигнал.

Re: ИР500, горизонтально фрезерный. Вторая жизнь.

Добавлено: 18 фев 2016, 09:34
nkp
пишем простейший компонент leo.comp:

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

component leo "detecting index";
pin in bit enin;
pin io bit out;

function _;
license "GPL"; // indicates GPL v2 or later
;;
out = enin ;
//sudo halcompile --install  leo.comp
ложим его в домашнюю папку
в терминале командуем sudo halcompile --install leo.comp (если емс свежий)
или sudo comp --install leo.comp (если емс не сильно свежий))
должен без ошибок установиться...
------------------
теперь мы можем его(компонент) использовать в хал:

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

#+++++++++++++++++++++++++++++++
loadrt sim_encoder 
addf sim-encoder.make-pulses  servo-thread
addf sim-encoder.update-speed servo-thread
setp sim-encoder.0.ppr  1024
net speed motion.spindle-speed-out-rps    sim-encoder.0.speed
#+++++++++++++++++++++++++++++++
loadrt encoder
addf encoder.update-counters   base-thread
addf encoder.capture-position  servo-thread

net enc.a  sim-encoder.0.phase-A   encoder.0.phase-A 
net enc.b  sim-encoder.0.phase-B   encoder.0.phase-B
net enc.z  sim-encoder.0.phase-Z   encoder.0.phase-Z

setp encoder.0.position-scale 250

loadrt leo
addf leo.0  servo-thread

net index   classicladder.0.out-05    leo.0.enin
net outi leo.0.out  encoder.0.index-enable
loadusr sim_pin classicladder.0.in-12 
 
sim-encoder - потому как нет в системе реального энкодера
смысл всего:
заводим кнопку(classicladder.0.in-12 ==>classicladder.0.out-05) на вход нашего компонента leo ( leo.0.enin)
а выход (leo.0.out ,а он у нас уже IO) коммутируем с encoder.0.index-enable
так он уже срабатывает:
Выделение_063.png (2267 просмотров) <a class='original' href='./download/file.php?id=72504&sid=4aa8af8bb0663a3aa84c6e5363cb40dd&mode=view' target=_blank>Загрузить оригинал (68.29 КБ)</a>
https://www.youtube.com/watch?v=abp-SmKxUBQ

Re: ИР500, горизонтально фрезерный. Вторая жизнь.

Добавлено: 18 фев 2016, 20:37
Serg
Чтобы посмотреть это видео, войдите в аккаунт.
Это действительно так необходимо?..

Re: ИР500, горизонтально фрезерный. Вторая жизнь.

Добавлено: 23 фев 2016, 13:34
Leo_1943
На обе команды sudo comp... И sudo halcompile... Выдаёт sudo:...:command not found