Конфиг для смены инструмента на токарке

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
ex71
Мастер
Сообщения: 697
Зарегистрирован: 18 май 2019, 13:23
Репутация: 96
Настоящее имя: Андрей
Контактная информация:

Конфиг для смены инструмента на токарке

Сообщение ex71 »

Взял готовый конфиг в качестве примера револьверной головки, но у меня не работает..
Включается вращение ииии дальше ничего. Как-будто повисает. Даже ограничение времени ожидания сигнала на порту никак не влияет.

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

o<m6>sub
(print, change tool=#<T>)
M64 P1
M66 P#<T> L3 Q5
M65 P1
M64 P0
M66P0 L3 Q5
G4 P0.8
M65 P0
o<m6> ends
M2
Этот код опробован на ремапе M400, а вот если перенести в М6 - то только первая строчка, и ступор. Чтобы остановить вращение приходится закрывать lcnc.
Что не так?

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

[RS274NGC]
REMAP=M6 modalgroup=6 ngc=m6 argspec=T
С прологами и эпилогами у меня были трудности - что-то не запускалось, но когда запустилось тоже не шло дальше вращения бошки. Поэтому с целью поиска проблемы - закомментил.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Конфиг для смены инструмента на токарке

Сообщение Serg »

Потому что готовые конфиги нужно применять с умом, адаптирую именно под себя... :)
Да и не нужны там никакие ремапы... Вот готовый кусок рабочего конфига (применять с умом!) для управления головой типа Pragati:

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

#  ---tool change signals---
# http://wiki.linuxcnc.org/cgi-bin/wiki.pl?ToolChange

loadrt flipflop names=ff-toolch-fwd,ff-toolch-rev,ff-toolch-start,ff-toolch-b1,ff-toolch-b2,ff-toolch-b3,ff-toolch-b4
addf ff-toolch-fwd servo-thread
addf ff-toolch-rev servo-thread
addf ff-toolch-start servo-thread
addf ff-toolch-b1 servo-thread
addf ff-toolch-b2 servo-thread
addf ff-toolch-b3 servo-thread
addf ff-toolch-b4 servo-thread

loadrt carousel pockets=8 encoding=binary num_sense=4 dir=2
addf carousel.0 servo-thread

loadrt comp names=cmp-toolch
addf cmp-toolch servo-thread

loadrt not names=not-tool-num
addf not-tool-num servo-thread

loadrt and2 names=and-toolch-end
addf and-toolch-end servo-thread

loadrt or2 names=or-toolch-err
addf or-toolch-err servo-thread

loadrt logic names=or-estop,or-alarm personality=0x202,0x205
addf or-estop servo-thread
addf or-alarm servo-thread

loadrt timedelay names=td-toolch
addf td-toolch servo-thread

# Голова стоит на дальнем конце суппорта
setp mux-gen.00.in-s32-00 0
setp mux-gen.00.in-s32-01 5
setp mux-gen.00.in-s32-02 6
setp mux-gen.00.in-s32-03 7
setp mux-gen.00.in-s32-04 8
setp mux-gen.00.in-s32-05 1
setp mux-gen.00.in-s32-06 2
setp mux-gen.00.in-s32-07 3
setp mux-gen.00.in-s32-08 4

net toolch-bit1 => ff-toolch-b1.data
net toolch-bit1t ff-toolch-b1.out => carousel.0.sense-0
net toolch-bit2 => ff-toolch-b2.data
net toolch-bit2t ff-toolch-b2.out => carousel.0.sense-1
net toolch-bit3 => ff-toolch-b3.data
net toolch-bit3t ff-toolch-b3.out => carousel.0.sense-2
net toolch-bit4 => ff-toolch-b4.data
net toolch-bit4t ff-toolch-b4.out => carousel.0.sense-3
net toolch-strobe => ff-toolch-b1.clk ff-toolch-b2.clk ff-toolch-b3.clk ff-toolch-b4.clk
#net toolch-hold => ff-toolch-b1.reset ff-toolch-b2.reset ff-toolch-b3.reset ff-toolch-b4.reset

net toolch-fwd carousel.0.motor-fwd ff-toolch-fwd.set
net toolch-rev carousel.0.motor-rev ff-toolch-rev.set
net toolch-motor-fwd <= ff-toolch-fwd.out
net toolch-motor-rev <= ff-toolch-rev.out
setp ff-toolch-fwd.data 0
setp ff-toolch-rev.data 0
net toolch-hold => ff-toolch-fwd.clk ff-toolch-rev.clk

setp td-toolch.on-delay 5
net toolch-err or-toolch-err.out => td-toolch.in
net toolch-tout td-toolch.out => or-alarm.in-04

net tool-change.request => ff-toolch-start.set
net tool-change.confirmed => ff-toolch-start.reset and-toolch-end.in0
net toolch-start ff-toolch-start.out => or-toolch-err.in0

net tool-number => i2f-toolch-num.in
net tool-current carousel.0.current-position => i2f-toolch-current.in
net tool-number-f i2f-toolch-num.out => cmp-toolch.in0
net tool-currnt-f i2f-toolch-current.out => cmp-toolch.in1
net tool-nubmer-ok cmp-toolch.equal => not-tool-num.in
net tool-number-ok-not not-tool-num.out => and-toolch-end.in1
net tool-number-bad and-toolch-end.out => or-toolch-err.in1

net tool-number iocontrol.0.tool-prep-number => tool-s32-u32.in
net tool-number-u tool-s32-u32.out => mux-gen.00.sel-int
net tool-number-enc mux-gen.00.out-s32 => carousel.0.pocket-number
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
net tool-change.request iocontrol.0.tool-change => carousel.0.enable
net tool-change.confirmed iocontrol.0.tool-changed <= carousel.0.ready

net toolch-bit1   hm2_[HOSTMOT2](BOARD0).0.7i77.0.0.input-16
net toolch-bit2   hm2_[HOSTMOT2](BOARD0).0.7i77.0.0.input-17
net toolch-bit3   hm2_[HOSTMOT2](BOARD0).0.7i77.0.0.input-18
net toolch-bit4   hm2_[HOSTMOT2](BOARD0).0.7i77.0.0.input-19
net toolch-strobe hm2_[HOSTMOT2](BOARD0).0.7i77.0.0.input-20
net toolch-alarm  hm2_[HOSTMOT2](BOARD0).0.7i77.0.0.input-21
net toolch-hold   hm2_[HOSTMOT2](BOARD0).0.7i77.0.0.input-22

net toolch-motor-rev    hm2_[HOSTMOT2](BOARD0).0.7i77.0.0.output-03
net toolch-motor-fwd    hm2_[HOSTMOT2](BOARD0).0.7i77.0.0.output-04
Какие-то компонентны в loadrt могут быть лишние, какие-то мог забыть - у меня подобные строки вынесн в отдельный файл.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
ex71
Мастер
Сообщения: 697
Зарегистрирован: 18 май 2019, 13:23
Репутация: 96
Настоящее имя: Андрей
Контактная информация:

Re: Конфиг для смены инструмента на токарке

Сообщение ex71 »

нуу... я попробую сделать на ладдере и каруселе. Но у меня все равно останется вопрос:
почему при ремапе М6, как-бы подвисает обработка NGC файла?
Аватара пользователя
merkwurdigliebe
Мастер
Сообщения: 608
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 580
Откуда: București
Контактная информация:

Re: Конфиг для смены инструмента на токарке

Сообщение merkwurdigliebe »

не знаю почему, но вот такое соединение есть?

net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Конфиг для смены инструмента на токарке

Сообщение Serg »

ex71 писал(а):почему при ремапе М6, как-бы подвисает обработка NGC файла?
Точно при ремапе? Без него работает?..
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
ex71
Мастер
Сообщения: 697
Зарегистрирован: 18 май 2019, 13:23
Репутация: 96
Настоящее имя: Андрей
Контактная информация:

Re: Конфиг для смены инструмента на токарке

Сообщение ex71 »

merkwurdigliebe писал(а):не знаю почему, но вот такое соединение есть?

net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
Помогло ) Спасибо!
Только я не знаю меняется ли инструмент в программе.
UAVpilot писал(а):Точно при ремапе? Без него работает?..
Получается что порты ввода в ремапе М6 не подключались к ngc скрипту.
Если я делаю ремап М400, то этот код работает. Если переношу в М6 - то при старте ожидания сигнала на порту скрипт тормозится. И ждет бесконечно.
То есть "M66 P1 L3 Q5" никогда не завершится - сигнал не видит, таймаут не срабатывает.
Эту проблему обсуждали на оф.сайте, но решения никто не выложил. Только конфиги из примеров, где нет описания какая строчка "что и зачем". Поэтому ч пропустил tool-prepared.
Vaycartana
Опытный
Сообщения: 106
Зарегистрирован: 15 мар 2018, 10:27
Репутация: 12
Настоящее имя: Sergey
Контактная информация:

Re: Конфиг для смены инструмента на токарке

Сообщение Vaycartana »

ex71 писал(а):
merkwurdigliebe писал(а):не знаю почему, но вот такое соединение есть?

net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
Помогло ) Спасибо!
Только я не знаю меняется ли инструмент в программе.
UAVpilot писал(а):Точно при ремапе? Без него работает?..
Получается что порты ввода в ремапе М6 не подключались к ngc скрипту.
Если я делаю ремап М400, то этот код работает. Если переношу в М6 - то при старте ожидания сигнала на порту скрипт тормозится. И ждет бесконечно.
То есть "M66 P1 L3 Q5" никогда не завершится - сигнал не видит, таймаут не срабатывает.
Эту проблему обсуждали на оф.сайте, но решения никто не выложил. Только конфиги из примеров, где нет описания какая строчка "что и зачем". Поэтому ч пропустил tool-prepared.
Почитайте описание, к команде смены инструмента, там этот момент описан. Я когда свой свенщик писал с этим столкнулся. Просто не дочитал.
ex71
Мастер
Сообщения: 697
Зарегистрирован: 18 май 2019, 13:23
Репутация: 96
Настоящее имя: Андрей
Контактная информация:

Re: Конфиг для смены инструмента на токарке

Сообщение ex71 »

Это надо быть программистом чтобы разобраться в их документации. Но к сожалению с ходу даже опытный кодер не поймет.
Даже подключив питон оказалось, что все не так просто. Револьверка то крутится. А вот прога не знает что инструмент изменен. Позже я выяснил, что при ремапе еще надо возвращать значение нового инструмента. Но этот момент опять же нигде не описан. Ну как-бы описан конечно, но в разделе програмирования на питоне. А никак не в примере ремапа М6.
Поэтому пришлось лезть глубже. Доделаю станок - выложу все описание, подробно. Завтра суда закину конфиг.

Был вариант на ладдере, но там надо было с ноля разбираться в управлении. С каруселью тоже какие-то сложности по стыковке портов и подачи разных импульсов.
В любом случае - ремап используется в штатном примере карусели. Поэтому я решил добить свой ремап код, вместо изучения "всего сразу".
А так мне нужно будет перейти на "grey код" для задания номера инструмента, тогда и разберусь.
Vaycartana писал(а):Только я не знаю меняется ли инструмент в программе.
Инструмент в программе меняется, это видно по его треугольнику (если вид инструмента задан правильно в таблице). Так же у меня ВСЕГДА при Тх М6 инструмент "перелетал" в рабочем поле программы. И рисовалась траектория передвижения. Если есть корректоры, то они загружались в значения TLO (они отображаются под координатами).
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Конфиг для смены инструмента на токарке

Сообщение Serg »

ex71 писал(а):С каруселью тоже какие-то сложности по стыковке портов и подачи разных импульсов.
Нет там никаких сложностей, компонент написан грамотно, видно, что автор знаком с разными вариантами управления.
ex71 писал(а):В любом случае - ремап используется в штатном примере карусели.
Описание смены через ремап M6 - всего лишь пример ремапа. А вот компонент carousel и есть штатный способ с момента появления в дистрибутиве.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Фрост
Мастер
Сообщения: 382
Зарегистрирован: 28 окт 2013, 00:18
Репутация: 17
Настоящее имя: Сергей
Контактная информация:

Re: Конфиг для смены инструмента на токарке

Сообщение Фрост »

Подскажите, в строке ini

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

REMAP=M6 modalgroup=6 argspec=T ngc=m6 prolog=change_prolog epilog=change_epilog
откуда берутся пролог и эпилог? Без них не меняет номер инструмента, с ними выдает ошибку pycall remap.change_prolog failed. Нашел похожее на них упоминание в файле stdglue.py но как и что сделать не догоняю
alex_sar
Мастер
Сообщения: 1672
Зарегистрирован: 28 авг 2018, 17:13
Репутация: 278
Настоящее имя: Алексей
Контактная информация:

Re: Конфиг для смены инструмента на токарке

Сообщение alex_sar »

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

Re: Конфиг для смены инструмента на токарке

Сообщение Serg »

В доках же подробно всё описано, даже с примерами.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4506
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

Re: Конфиг для смены инструмента на токарке

Сообщение xenon-alien »

Может кто подсказать где почитать по линейному магазину?
Ну и с комбинацией с револьверкой. :thinking:
alex_sar
Мастер
Сообщения: 1672
Зарегистрирован: 28 авг 2018, 17:13
Репутация: 278
Настоящее имя: Алексей
Контактная информация:

Re: Конфиг для смены инструмента на токарке

Сообщение alex_sar »

А что вы хотите прочитать по линейному магазину? Смещения инструментов забили и готово.
Вот в комбинации с револьверкой это уже творчески надо ) чтобы револьверка только для определенных номеров срабатывала.
Фрост
Мастер
Сообщения: 382
Зарегистрирован: 28 окт 2013, 00:18
Репутация: 17
Настоящее имя: Сергей
Контактная информация:

Re: Конфиг для смены инструмента на токарке

Сообщение Фрост »

UAVpilot писал(а): 04 сен 2020, 23:35 В доках же подробно всё описано, даже с примерами.
доки тоже кривые, например п.4

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

$ cd /home/user/xxx
$ mkdir python
$ cd python
$ cp /usr/share/linuxcnc/ncfiles/remap_lib/python-stdglue/stdglue.py .
$ echo 'from stdglue import *' >remap.py
$ echo 'import remap' >toplevel.py
на четвертую строку ругается, что пропущен операнд, задающий целевой файл...
alex_sar
Мастер
Сообщения: 1672
Зарегистрирован: 28 авг 2018, 17:13
Репутация: 278
Настоящее имя: Алексей
Контактная информация:

Re: Конфиг для смены инструмента на токарке

Сообщение alex_sar »

ничего там не пропущено, копируйте внимательней!
Фрост
Мастер
Сообщения: 382
Зарегистрирован: 28 окт 2013, 00:18
Репутация: 17
Настоящее имя: Сергей
Контактная информация:

Re: Конфиг для смены инструмента на токарке

Сообщение Фрост »

alex_sar писал(а): 05 сен 2020, 02:45 ничего там не пропущено, копируйте внимательней!
верно, точку в конце не зацепил)
Фрост
Мастер
Сообщения: 382
Зарегистрирован: 28 окт 2013, 00:18
Репутация: 17
Настоящее имя: Сергей
Контактная информация:

Re: Конфиг для смены инструмента на токарке

Сообщение Фрост »

при запуске с терминала
**** PYGST libray not installed? ****
**** is python-gstX.XX installed? ****
хотя python-gst установлен последней версии, куда копать?
Ответить

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