Страница 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
Есть пример применения на практике? (это читал, без примера не понял)
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 у меня совсем никак
а на что ругается при установки карусели посмотреть можно
может что не допрописано
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
так он уже срабатывает:
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