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

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.

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

Сообщение Nick » 22 мар 2013, 11:49

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 писал(а):потом релюшки-концевики

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

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

Сообщение pkasy » 22 мар 2013, 12:07

Nick писал(а):Это не одно и тоже???

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

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

Сообщение nkp » 22 мар 2013, 12:13

Nick писал(а):Просто встроенный, чуть по проще и редактировать в нем чуть по сложнее.

это наверно не самые важные отличия ;)
больше пользую отдельный ладдер из-за того , что там можно сразу (без коммутации пинов в хал) "включать " схему..
то есть уже видно - как она работает и ошибки сразу выплывают...
во встроенном это недоступно...
nkp
Мастер
 
Сообщения: 8260
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1539
Медальки:

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

Сообщение pkasy » 22 мар 2013, 12:45

Nick писал(а):Погоди, а старый инструмент надо выкидывать?

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

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

Сообщение Nick » 22 мар 2013, 12:46

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

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

Сообщение pkasy » 22 мар 2013, 13:03

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 » 22 мар 2013, 13:05

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

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

Сообщение nkp » 22 мар 2013, 13:53

а если подпрограммой (как вариант):
Код: Выделить всёРазвернуть
<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
Мастер
 
Сообщения: 8260
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1539
Медальки:

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

Сообщение nkp » 22 мар 2013, 14:18

по п.13 не знаю....
может предварительно (перед п.5 ) обнуляться в выбраной для этого (не рабочей) системе координат - а
потом в п.13 в ней же возвращаться в нули....
nkp
Мастер
 
Сообщения: 8260
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1539
Медальки:

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

Сообщение pkasy » 22 мар 2013, 14:44

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

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

Сообщение pkasy » 22 мар 2013, 14:47

nkp писал(а):M64 P03                   # 9. повернуть карусель шаговиком на нужный инструмент. можно задействовать датчики. это вторично.

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

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

Сообщение nkp » 22 мар 2013, 14:53

а не будет ли у нас ААА для каждого инструмента своя постоянная величина??
если да - то можно их забить в подпрограмму
если нет - то как вычислять ААА ??
nkp
Мастер
 
Сообщения: 8260
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1539
Медальки:

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

Сообщение pkasy » 23 мар 2013, 01:49

конечно, для каждого своя.
к примеру 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 » 23 мар 2013, 11:45

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

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

Сообщение nkp » 23 мар 2013, 12:11

pkasy писал(а):в какой поток грузятся компоненты mesa 5i20 7i37 GPIO?

вот здесь об этом пишут (Note)
рабочий конфиг внизу (может что полезное подсмотришь)
nkp
Мастер
 
Сообщения: 8260
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1539
Медальки:

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

Сообщение pkasy » 23 мар 2013, 13:28

nkp писал(а):вот здесь об этом пишут (Note)рабочий конфиг внизу (может что полезное подсмотришь)

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

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

Сообщение pkasy » 23 мар 2013, 14:08

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

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

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

Сообщение nkp » 23 мар 2013, 14:24

nkp
Мастер
 
Сообщения: 8260
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1539
Медальки:

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

Сообщение pkasy » 23 мар 2013, 16:03

nkp писал(а):<toolchang> sub

никак не могу справиться с ошибкой "Unexpected character after O"
файл создал, сохранил как toolchang.ngc в директорию, прописанную в SUBROUTINE_PATH
в чем может быть ошибка?
pkasy
Мастер
 
Сообщения: 1139
Зарегистрирован: 15 мар 2013, 09:39
Откуда: Владивосток
Репутация: 45

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

Сообщение nkp » 23 мар 2013, 16:10

там в ошибке номер строки есть(интересно на какую ругается)
nkp
Мастер
 
Сообщения: 8260
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1539
Медальки:

Пред.След.

Вернуться в LinuxCNC

Кто сейчас на конференции

Зарегистрированные пользователи: aftaev, Bing [Bot], Сергей Саныч, drey82, FREEKER, Google [Bot], Kupfershcmidt, Kuzma30, michael-yurov, mikehv, Mikhgen, P_M_Ch, pegas13, Prav, rage, sima8520, SNS, tehnic, tpolimer2000, UAVpilot, Vichkins888, xvovanx, Yandex [bot]

Reputation System ©'