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

Тяжелые фрезерные станки по металлу.
Leo_1943
Мастер
Сообщения: 875
Зарегистрирован: 03 май 2014, 07:24
Репутация: 250
Настоящее имя: Леонид
Откуда: Харьков

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

Сообщение Leo_1943 »

Спасибо, Nick. Уже решил через ladder, разжим по М64Р0, поворот G0 или G1 A...., и зажим по М65Р0. Счёт по конечнику по 5 градусов. Вращение пока только в одну сторону, думаю так и оставить. Но остался вопрос, в режиме MDI все идеально (видео выложу), но в программе нужен какой то останов пока не выполнялся поворот стола. Как это сделать?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Через M66 http://linuxcnc.org/docs/html/gcode/m-c ... #mcode:m66
M66 Pxx L1 Q100 - ждем растущий фронт на входном пине 100 секунд потом можно еще проверку добавить O... IF [#5399 EQ -1 ]
(DEBUG, Стол застрял!!!)
M0.
Leo_1943
Мастер
Сообщения: 875
Зарегистрирован: 03 май 2014, 07:24
Репутация: 250
Настоящее имя: Леонид
Откуда: Харьков

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

Сообщение 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.
Есть пример применения на практике? (это читал, без примера не понял)
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение 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 запишется значение которое было на пине.
Leo_1943
Мастер
Сообщения: 875
Зарегистрирован: 03 май 2014, 07:24
Репутация: 250
Настоящее имя: Леонид
Откуда: Харьков

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

Сообщение 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 запишется значение которое было на пине.
Завтра буду пробовать. И смену инструмента отладить останется.
Leo_1943
Мастер
Сообщения: 875
Зарегистрирован: 03 май 2014, 07:24
Репутация: 250
Настоящее имя: Леонид
Откуда: Харьков

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

Сообщение Leo_1943 »

Хотя нет, наверно оставлю в инструкции формат типа
g64p0
goa....
g4p25
m65p0
зачем мучится, инструкцию ведь мне писать.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

А если не довернется?
ЗЫ можно все это в отдельную подпрограмму вынести.
Аватара пользователя
vovafed
Мастер
Сообщения: 1822
Зарегистрирован: 08 фев 2013, 16:19
Репутация: 325
Настоящее имя: Владимир
Откуда: башкортостан
Контактная информация:

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

Сообщение vovafed »

Leo_1943 писал(а):Есть пример применения на практике? (это читал, без примера не понял)
http://www.cnc-club.ru/forum/viewtopic. ... 58#p253258
здесь немножко разбирался
уже работает
только без обратной связи от датчиков пока без сбоев но датчики буду подключать
Leo_1943
Мастер
Сообщения: 875
Зарегистрирован: 03 май 2014, 07:24
Репутация: 250
Настоящее имя: Леонид
Откуда: Харьков

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

Сообщение Leo_1943 »

vovafed писал(а):
Leo_1943 писал(а):Есть пример применения на практике? (это читал, без примера не понял)
http://www.cnc-club.ru/forum/viewtopic. ... 58#p253258
здесь немножко разбирался
уже работает
только без обратной связи от датчиков пока без сбоев но датчики буду подключать
Спасибо, добрый саморетянин!
Не помогло, у меня linuxcnc2.5 он компонент carousel не понял, собственно, как и компонент orient. Начал все настраивать через classicladder поворот магазина уже готов, правда в одну сторону пока(так и оставлю) и с обнулением вначале (типа home), осталась рука и ориентация шпинделя. Думаю точно никто не подскажет как через ladder организовать.
Аватара пользователя
vovafed
Мастер
Сообщения: 1822
Зарегистрирован: 08 фев 2013, 16:19
Репутация: 325
Настоящее имя: Владимир
Откуда: башкортостан
Контактная информация:

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

Сообщение vovafed »

а обновить версию)
Leo_1943
Мастер
Сообщения: 875
Зарегистрирован: 03 май 2014, 07:24
Репутация: 250
Настоящее имя: Леонид
Откуда: Харьков

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

Сообщение Leo_1943 »

vovafed писал(а):а обновить версию)
А не обновляя, это самый лучший совет? Индекс и счёт энкодера буду пробовать в ladder завести.
Аватара пользователя
vovafed
Мастер
Сообщения: 1822
Зарегистрирован: 08 фев 2013, 16:19
Репутация: 325
Настоящее имя: Владимир
Откуда: башкортостан
Контактная информация:

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

Сообщение vovafed »

c ladder у меня совсем никак
а на что ругается при установки карусели посмотреть можно
может что не допрописано :thinking:
Leo_1943
Мастер
Сообщения: 875
Зарегистрирован: 03 май 2014, 07:24
Репутация: 250
Настоящее имя: Леонид
Откуда: Харьков

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

Сообщение Leo_1943 »

Доброго всем вечера!
Подскажите кто нибудь, как поймать сигнал ноль метки шпинделя, дабы завести в ladder. Стоит 5i25+7i77, нет сигнала phase-z, index-enablе двунаправленный сигнал, не могу в него 1 записать, дабы каждый оборот count обнулялось.
Leo_1943
Мастер
Сообщения: 875
Зарегистрирован: 03 май 2014, 07:24
Репутация: 250
Настоящее имя: Леонид
Откуда: Харьков

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

Сообщение Leo_1943 »

Неужели даже ГУРУ форума не помогут- UAVpilot, Nick, Aftaev, PKM....
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

я уже в какой-то теме писал, что именно из-за его двунаправленности его сложно использовать в ладдере и т.п. Разве что изобразить свой компонент-конвертор.
Не понятна фраза "нет сигнала phase-z". У энкодера нет такого сигнала? Если есть, то заводи на обычный вход и используй в ладдере и где хочешь, но будет погрешность в длительность сервоцикла.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Leo_1943
Мастер
Сообщения: 875
Зарегистрирован: 03 май 2014, 07:24
Репутация: 250
Настоящее имя: Леонид
Откуда: Харьков

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

Сообщение Leo_1943 »

UAVpilot писал(а):я уже в какой-то теме писал, что именно из-за его двунаправленности его сложно использовать в ладдере и т.п. Разве что изобразить свой компонент-конвертор.
Не понятна фраза "нет сигнала phase-z". У энкодера нет такого сигнала? Если есть, то заводи на обычный вход и используй в ладдере и где хочешь, но будет погрешность в длительность сервоцикла.
прошу прощение за не понимание, как конвертировать, или что для этого использовать?
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

компонент-конвертор - у него с одной стороны обычные пины для управления/считывания, а с другой этот самый index-enablе.
Логика работы index-enablе такова: в неактивном состоянии там ноль. При записи в него "1" он переходит в "состояние ожидания" индексной метки. При появлении оной 5i25 сбрасывает index-enablе обратно в "0" и счётчик соотв. энкодера в 5i25 обнуляется.
собственно конвертору нужны два пина один IN с помощью которого будет "взводится" index-enablе и один OUT, где будет появляться результирующий сигнал.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение 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 (2247 просмотров) <a class='original' href='./download/file.php?id=72504&sid=aae157a5c50d2c8ec53287390fcf16c8&mode=view' target=_blank>Загрузить оригинал (68.29 КБ)</a>
https://www.youtube.com/watch?v=abp-SmKxUBQ
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

Чтобы посмотреть это видео, войдите в аккаунт.
Это действительно так необходимо?..
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Leo_1943
Мастер
Сообщения: 875
Зарегистрирован: 03 май 2014, 07:24
Репутация: 250
Настоящее имя: Леонид
Откуда: Харьков

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

Сообщение Leo_1943 »

На обе команды sudo comp... И sudo halcompile... Выдаёт sudo:...:command not found
Ответить

Вернуться в «Фрезерные станки по металлам»