Страница 33 из 56
Re: Агрегатный станок
Добавлено: 28 янв 2013, 14:10
ЗАВ
nkp писал(а):а вот почему так работает - это вопрос возможно надо вначале кода прописать G61пробуй
попробовал , не реагирует. когда остается 0,5 градуса, шд потихоньку доводит стол, а программа не смотря на то что позиционирование не закончено идет дальше.думаю технологический останов тоже не решение, стол может проскочить , возврат назад , выборка люфта, не угадаешь, сколько ему надо 1или 5 секунд. где же выход , как сделать , что бы программа не шла дальше , пока не закончится позиционирование?
Re: Агрегатный станок
Добавлено: 28 янв 2013, 14:11
ЗАВ
и еще как сделать новый ярлык , что бы не запускать из терминала?
Re: Агрегатный станок
Добавлено: 28 янв 2013, 14:19
nkp
ЗАВ писал(а):и еще как сделать новый ярлык , что бы не запускать из терминала?
наверно обычным способом
Re: Агрегатный станок
Добавлено: 28 янв 2013, 14:22
ЗАВ
с этим ясно, спасибо, а как с позиционированием- варианты , кроме останова , есть?
Re: Агрегатный станок
Добавлено: 28 янв 2013, 14:24
nkp
а что за код ты запускаешь -не этот ли :
Код: Выделить всё
g91g0a45
m64p05
g4p10
m65p05
g91g0a45
m64p05
g4p10
m65p05
g91g0a45
m64p05
g4p10
m65p05
g91g0a45
m64p05
g4p10
m65p05
g91g0a45
m64p05
g4p10
m65p05
g91g0a45
m64p05
g4p10
m65p05
g91g0a45
m64p05
g4p10
m65p05
g91g0a45
m64p05
g4p10
m65p05
M30
m99
почему ж0 используешь??
если друкой код - выложи...
Re: Агрегатный станок
Добавлено: 28 янв 2013, 14:29
ЗАВ
1
nkp писал(а):почему ж0 используешь??
стол поворачивается для позиционирования, обработки во время поворота нет, максимальная скорость и ускорение подобраны так , что бы мощности шд хватало на максимально быстрый поворот.
2 программа эта. дабавлял в нее G61.программа не реагировала.
Re: Агрегатный станок
Добавлено: 28 янв 2013, 14:31
nkp
ЗАВ писал(а):как с позиционированием- варианты , кроме останова , есть?
я не просто по времени паузу предлагал - нечто иное :
у нас есть пин который сигнализирует - что мол все - в задание приехали
вот его можно заюзать
попробуй все таки G1 Fxx
Re: Агрегатный станок
Добавлено: 28 янв 2013, 14:33
ЗАВ
у меня 5-10кадров должны повторяться раз 100-500, если писать как повтор подпрограммы, то при загрузки линукс будет ее полчаса крутить проверяя. какой код повторяет программу до бесконечности/или до остановки оператора.
Re: Агрегатный станок
Добавлено: 28 янв 2013, 14:35
ЗАВ
nkp писал(а):попробуй все таки G1 Fxx
пробовал и так результат такой же , только какие то непонятные вещи происходили- шд первый поворот выполнял ускоренно, остальные какой на G1, какой в середине хода включал G0. непонятка какая то. но позиционирование не давала заканчивать.
Re: Агрегатный станок
Добавлено: 28 янв 2013, 14:44
Nick
проблема- поворот не закончился, а тормоз зажимает стол, шд пытается довести его , ясно что не получается. можно конечно заложить паузу, но думаю это не правильно. почему позиционирование стола (шд там связан с энкодером) не закончилось(примерно0,2). а программа дальше выполняется?
Лучше всего с паузой.
Суть вот в чем - LinuxCNC выдает команду на поворот стола в положение Х. Команда дается постепенно согласно настроенным скоростям и ускорениям. Как только дается команда на финальное положение LinuxCNC переходит к выполнению следующей строки. И если ось на самом деле отстает, ее никто ждать не будет. Поэтому, имхо G4 P1 нормальный вариант. Или можно сделать ожидание обратной связи через ladder или через sum2 (в sum2 сделать разницу axis.N.motor-pos-cmd и того, что подается на axis.N.motor-pos-fb,
а вообще лучше просто их сравнивать через near: http://linuxcnc.org/docs/html/man/man9/near.9.html)
Re: Агрегатный станок
Добавлено: 28 янв 2013, 14:48
ЗАВ
Nick писал(а):Или можно сделать ожидание обратной связи через ladder или через sum2 (в sum2 сделать разницу axis.N.motor-pos-cmd и того, что подается на axis.N.motor-pos-fb, а вообще лучше просто их сравнивать через near:
http://linuxcnc.org/docs/html/man/man9/near.9.html)
если это не сложно , давайте попробуем?
Re: Агрегатный станок
Добавлено: 28 янв 2013, 15:01
Nick
Не сложно:
в custom hal добавь:
Код: Выделить всё
# загружаем near
loadrt near names=near.x
net [сигнал положения] => near.x.in1
net [сигнал обратной связи] => near.x.in2
setp near.x.scale 1
setp near.x.difference [допуск на позиционирование]
# настраиваем выход near
net x-in-pos <= near.N.out => motion.digital-in-NN
И потом в Gкоде после перемещения ждем 1 на пине motion.digital-in-NN, т.е. M66 P0 L1
Re: Агрегатный станок
Добавлено: 28 янв 2013, 15:08
ЗАВ
Nick писал(а):И потом в Gкоде после перемещения ждем 1 на пине motion.digital-in-NN, т.е. M66 P0 L1
тут поподробнее пожалуйста.
Re: Агрегатный станок
Добавлено: 28 янв 2013, 15:10
ЗАВ
Nick писал(а):в custom hal добавь:
этот что у меня называется machne.hal?
Re: Агрегатный станок
Добавлено: 28 янв 2013, 15:27
Nick
ЗАВ писал(а):этот что у меня называется machne.hal?
не, должен быть еще custom.hal, лучше в него, он не перезаписывается при изменениях сделанных через pncconf. Или можешь просто в основной хал.
ЗАВ писал(а):тут поподробнее пожалуйста
http://linuxcnc.org/docs/html/gcode/m-c ... ut-Control
ждем на пине motion.digital-in-00 растущий фронт.
Re: Агрегатный станок
Добавлено: 28 янв 2013, 15:36
ЗАВ
объясни пожалуйста бестолковому еще раз-
1 custom.hal в конец копирую # загружаем near
loadrt near names=near.x
net [сигнал положения] => near.x.in1
net [сигнал обратной связи] => near.x.in2
setp near.x.scale 1
setp near.x.difference [допуск на позиционирование]
# настраиваем выход near
net x-in-pos <= near.N.out => motion.digital-in-NN
2
Nick писал(а): M66 P0 L1
- где это прописывать- при перемещении оси А? или вся управляющая программа остается прежней?
Re: Агрегатный станок
Добавлено: 28 янв 2013, 15:45
Nick
1. да, только вместо [сигнал ...] поставить названия нужных сигналов (команда положения оси и обратная связь по положению).
ЗАВ писал(а):- где это прописывать- при перемещении оси А?
после каждого перемещения, где нужно ждать точного позиционирования.
можешь сделать отдельную процедуру O<move-a> и в ней написать позиционирование и ожидание, и потом делать перемещения вот так O<move-a> CALL [координата]
Re: Агрегатный станок
Добавлено: 28 янв 2013, 15:47
ЗАВ
Nick писал(а):да, только вместо [сигнал ...] поставить названия нужных сигналов (команда положения оси и обратная связь по положению).
а где их взять/посмотреть?
Re: Агрегатный станок
Добавлено: 28 янв 2013, 15:48
ЗАВ
nkp писал(а):g91g0a45
вот строка в управляющей программе напиши - как она должна выглядеть ?
Re: Агрегатный станок
Добавлено: 28 янв 2013, 15:48
nkp
Код: Выделить всё
loadrt near names=near.x
addf near.x servo-thread
net fb axis.3.motor-pos-fb => near.x.in1
net cmd axis.3.motor-pos-cmd => near.x.in2
setp near.x.difference 0.1
net x-in-pos near.x.out => motion.digital-in-00
пропиши в machine.hal в конце
только значение 0.1 потом подправишь...