прошу помощи настроить pncconf для 6 осей

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: прошу помощи настроить pncconf для 6 осей

Сообщение Nick »

pkasy писал(а):как я понял, есть два ладдера, один для реальной работы в лснс, а второй для отладки. при этом файлы не обладают переносимостью и нужно набирать / перерисовывать заново.
Просто встроенный, чуть по проще и редактировать в нем чуть по сложнее... Кстати, встроенный можешь проще всего запусить так: в конфигураторе проставь галочку Add classic ladder и все. Или в hal файл допиши

loadrt classicladder_rt
addf classicladder.0.refresh servo-thread
loadusr classicladder

К последней строчке можно дописать имя файла.

pkasy писал(а):то есть? можно написать
TOOL_CHANGE_POSITION = Z 0
TOOL_CHANGE_POSITION = Y 0
блин, синтаксис то команды какой? если
Насколько я понимаю, можно комбинировать только в quil_up... хотя на практике не пробовал. Попробуй - расскажешь.
ИМХО должно быть
TOOL_CHANGE_POSITION = Z0 Y100 X100 - и тогда поедет в указанные координаты по прямой.
pkasy писал(а):сначала поднять, до машинного нуля, потом сдвинуть по Z до машинного нуля.
Это не одно и тоже??? :)
pkasy писал(а):потом релюшки-концевики
Погоди, а старый инструмент надо выкидывать?
pkasy
Мастер
Сообщения: 1139
Зарегистрирован: 15 мар 2013, 09:39
Репутация: 45
Откуда: Владивосток

Re: прошу помощи настроить pncconf для 6 осей

Сообщение pkasy »

Nick писал(а):Это не одно и тоже???
ошибся, конечно. по Y поехать до магазина
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: прошу помощи настроить pncconf для 6 осей

Сообщение nkp »

Nick писал(а):Просто встроенный, чуть по проще и редактировать в нем чуть по сложнее.
это наверно не самые важные отличия ;)
больше пользую отдельный ладдер из-за того , что там можно сразу (без коммутации пинов в хал) "включать " схему..
то есть уже видно - как она работает и ошибки сразу выплывают...
во встроенном это недоступно...
pkasy
Мастер
Сообщения: 1139
Зарегистрирован: 15 мар 2013, 09:39
Репутация: 45
Откуда: Владивосток

Re: прошу помощи настроить pncconf для 6 осей

Сообщение pkasy »

Nick писал(а):Погоди, а старый инструмент надо выкидывать?
ну да, в цеху есть корзина для обрезков, старый инструмент выкидывается туда.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: прошу помощи настроить pncconf для 6 осей

Сообщение Nick »

я в плане того, что у тебя есть дополнительная рука, которая меняет инструмент, или надо сначала старый инструмент скинуть, прокрутить карусель до нового и потом его забрать?
pkasy
Мастер
Сообщения: 1139
Зарегистрирован: 15 мар 2013, 09:39
Репутация: 45
Откуда: Владивосток

Re: прошу помощи настроить pncconf для 6 осей

Сообщение pkasy »

pkasy писал(а):в общем, мне нужно сначала поднять, до машинного нуля, потом сдвинуть по Z до машинного нуля. потом релюшки-концевики, потом повернуть шаговиком на нужный инстремент, потом релюшки-концевики, вернуться по Y, продолжить выполнение файла.
ну ладно, раз нужны подробности, распишем.
во время работы инструмент уже стоит, исходим из этого.
1. команда нас смену инструмента получена
2. шпиндель стоп
3. ось Z в машинный ноль
4. карусель поднять - релюшка клапана пневмоцилиндра 1 включена
4.а ждем срабатывания концевика - карусель поднята
5. y в машинный ноль. шпиндель въезжает инструментом в свободное гнездо карусели.
6. инструмент разжать - релюшка клапана пневмозажима 2 включена
7. ждем срабатывания датчика шпинделя - инструмент разжат
8. карусель опустить - релюшка клапана пневмоцилиндра 1 выключена
8.а ждем срабатывания концевика - карусель опущена
9. повернуть карусель шаговиком на нужный инструмент. можно задействовать датчики. это вторично.
10. карусель поднять - релюшка клапана пневмоцилиндра 1 включена
10.а ждем срабатывания концевика - карусель поднята
11. инструмент зажать - релюшка клапана пневмозажима 2 выключена
12. ждем срабатывания датчика шпинделя - инструмент зажат
13. ось Y возврат. шпиндель выезжает и освобождает гнездо карусели.
14. карусель опустить - релюшка клапана пневмоцилиндра 1 выключена
14.а ждем срабатывания концевика - карусель опущена

возвращаемся к программе.

можно крутить шаговиком на нужное число шагов после индекса = равное номеру инструмена * кол-во шагов на один инструмент.
а можно навешать датчики и проверять, какой номер подан.

как-то так. надо теперь придумать, как это сделать лснс.
pkasy
Мастер
Сообщения: 1139
Зарегистрирован: 15 мар 2013, 09:39
Репутация: 45
Откуда: Владивосток

Re: прошу помощи настроить pncconf для 6 осей

Сообщение pkasy »

вообще, карусель всю дорогу поднята, то есть должна быть поднята только один раз, во время первого запроса.
это понятно и решается какой-нибудь переменной в ладере.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: прошу помощи настроить pncconf для 6 осей

Сообщение nkp »

а если подпрограммой (как вариант):

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

<toolchang> sub
M5                        # 1.шпиндель стоп
G53 Z0                    # 2.ось Z в машинный ноль                    
M64 P01                   # 3.карусель поднять - релюшка клапана пневмоцилиндра 1 включена                  
   M66 P0 L1 Q5           # 4.ждем срабатывания концевика - карусель поднята         
   O<M66> if [#5399 LT 0] 
      M64 P00               
   O<M66> endif
G53 Y0                    # 5.y в машинный ноль. шпиндель въезжает инструментом в свободное гнездо карусели
M64 P02                   # 6.инструмент разжать - релюшка клапана пневмозажима 2 включена
   M66 P1 L1 Q5           # 7. ждем срабатывания датчика шпинделя - инструмент разжат 
   O<M66> if [#5399 LT 0] 
      M64 P00  
   O<M66> endif
M65 P01                   # 8. карусель опустить - релюшка клапана пневмоцилиндра 1 выключена
   M66 P2 L1 Q5           # 8.а ждем срабатывания концевика - карусель опущена 
   O<M66> if [#5399 LT 0] 
      M64 P00  
   O<M66> endif
M64 P03                   # 9. повернуть карусель шаговиком на нужный инструмент. можно задействовать датчики. это вторично.
M64 P01                   # 10. карусель поднять - релюшка клапана пневмоцилиндра 1 включена
   M66 P0 L1 Q            # 10.а ждем срабатывания концевика - карусель поднята
   O<M66> if [#5399 LT 0] 
      M64 P00               
   O<M66> endif
M65 P02                   # 11. инструмент зажать - релюшка клапана пневмозажима 2 выключена
   M66 P3 L1 Q5           # 12. ждем срабатывания датчика шпинделя - инструмент зажат
   O<M66> if [#5399 LT 0] 
      M64 P00  
   O<M66> endif
# 13. ось Y возврат. шпиндель выезжает и освобождает гнездо карусели.
M65 P01                   # 14. карусель опустить - релюшка клапана пневмоцилиндра 1 выключена
   M66 P2 L1 Q5           # 8.а ждем срабатывания концевика - карусель опущена 
   O<M66> if [#5399 LT 0] 
      M64 P00  
   O<M66> endif
<toolchang> endsub
M64 Pxx - включает пин motion.digital-out-хх
M65 Pxx - выключает пин motion.digital-out-хх
M66 Pхх L1 Q5 - ждать сигнала на пине motion.digital-in-хх 5 секунд
=============
в ини раздел [FILTER] :
PROGRAM_EXTENSION = .ngc Script sed
ngc = sed 's/M6/<toolchang>call/i ;s/M06/<toolchang>call/i ; s/m6/<toolchang>call/i '
теперь M6 (и все ее вариации ) будут емс восприниматься как вызов подпрограммы <toolchang>
---------------
M64 P00 - feed-hold
Последний раз редактировалось nkp 22 мар 2013, 16:22, всего редактировалось 2 раза.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: прошу помощи настроить pncconf для 6 осей

Сообщение nkp »

по п.13 не знаю....
может предварительно (перед п.5 ) обнуляться в выбраной для этого (не рабочей) системе координат - а
потом в п.13 в ней же возвращаться в нули....
pkasy
Мастер
Сообщения: 1139
Зарегистрирован: 15 мар 2013, 09:39
Репутация: 45
Откуда: Владивосток

Re: прошу помощи настроить pncconf для 6 осей

Сообщение pkasy »

спасибо огромное.
п. 13 можно просто G53 Y100
завтра попробуй помучать.
pkasy
Мастер
Сообщения: 1139
Зарегистрирован: 15 мар 2013, 09:39
Репутация: 45
Откуда: Владивосток

Re: прошу помощи настроить pncconf для 6 осей

Сообщение pkasy »

nkp писал(а):M64 P03                   # 9. повернуть карусель шаговиком на нужный инструмент. можно задействовать датчики. это вторично.
не получится.
нужно вычислить переменную, к примеру ААА, а потом
G1 C(AAA), то есть C на ААА, чтобы шаговик повернул карусель на нужную позицию.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: прошу помощи настроить pncconf для 6 осей

Сообщение nkp »

а не будет ли у нас ААА для каждого инструмента своя постоянная величина??
если да - то можно их забить в подпрограмму
если нет - то как вычислять ААА ??
pkasy
Мастер
Сообщения: 1139
Зарегистрирован: 15 мар 2013, 09:39
Репутация: 45
Откуда: Владивосток

Re: прошу помощи настроить pncconf для 6 осей

Сообщение pkasy »

конечно, для каждого своя.
к примеру 1 2 ... 9 10
то есть номеру инструмента соответствует номер условных единиц. двигателю же совсем не важно, куда ехать, он просто шаги отрабатывает.
так что для первого инструмента
G1 C1
второй
G1 C2
и так далее.
как это реализовать в подпрограмме?
собственно это все, что и требовалось.

объясни, пожалуйста, синтаксис этой строки
nkp писал(а):ngc = sed 's/M6/<toolchang>call/i ;s/M06/<toolchang>call/i ; s/m6/<toolchang>call/i '
pkasy
Мастер
Сообщения: 1139
Зарегистрирован: 15 мар 2013, 09:39
Репутация: 45
Откуда: Владивосток

Re: прошу помощи настроить pncconf для 6 осей

Сообщение pkasy »

вот еще вопрос.
в какой поток грузятся компоненты mesa 5i20 7i37 GPIO?
мне нужно подключить так же вывод энкодеров Z, для уточнения положения Home.
в быстрый или серво? не пропустит ли...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: прошу помощи настроить pncconf для 6 осей

Сообщение nkp »

pkasy писал(а):в какой поток грузятся компоненты mesa 5i20 7i37 GPIO?
вот здесь об этом пишут (Note)
рабочий конфиг внизу (может что полезное подсмотришь)
pkasy
Мастер
Сообщения: 1139
Зарегистрирован: 15 мар 2013, 09:39
Репутация: 45
Откуда: Владивосток

Re: прошу помощи настроить pncconf для 6 осей

Сообщение pkasy »

nkp писал(а):вот здесь об этом пишут (Note)рабочий конфиг внизу (может что полезное подсмотришь)
спасибо, посмотрел. фиг с ним, с точным хомом.
потерплю.
надоел собственный перфекционизм. надо делать топором! тогда быстрее получится.
pkasy
Мастер
Сообщения: 1139
Зарегистрирован: 15 мар 2013, 09:39
Репутация: 45
Откуда: Владивосток

Re: прошу помощи настроить pncconf для 6 осей

Сообщение pkasy »

nkp писал(а):а если подпрограммой (как вариант):
ткни мне, пожалуйста, где прочитать про подпрограммы подробнее.
pkasy
Мастер
Сообщения: 1139
Зарегистрирован: 15 мар 2013, 09:39
Репутация: 45
Откуда: Владивосток

Re: прошу помощи настроить pncconf для 6 осей

Сообщение pkasy »

nkp писал(а):<toolchang> sub
никак не могу справиться с ошибкой "Unexpected character after O"
файл создал, сохранил как toolchang.ngc в директорию, прописанную в SUBROUTINE_PATH
в чем может быть ошибка?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: прошу помощи настроить pncconf для 6 осей

Сообщение nkp »

там в ошибке номер строки есть(интересно на какую ругается)
Ответить

Вернуться в «LinuxCNC»