Страница 1 из 1

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

Добавлено: 30 сен 2019, 22:46
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
С прологами и эпилогами у меня были трудности - что-то не запускалось, но когда запустилось тоже не шло дальше вращения бошки. Поэтому с целью поиска проблемы - закомментил.

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

Добавлено: 01 окт 2019, 01:43
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 могут быть лишние, какие-то мог забыть - у меня подобные строки вынесн в отдельный файл.

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

Добавлено: 01 окт 2019, 20:11
ex71
нуу... я попробую сделать на ладдере и каруселе. Но у меня все равно останется вопрос:
почему при ремапе М6, как-бы подвисает обработка NGC файла?

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

Добавлено: 01 окт 2019, 21:58
merkwurdigliebe
не знаю почему, но вот такое соединение есть?

net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared

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

Добавлено: 01 окт 2019, 23:48
Serg
ex71 писал(а):почему при ремапе М6, как-бы подвисает обработка NGC файла?
Точно при ремапе? Без него работает?..

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

Добавлено: 02 окт 2019, 12:22
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.

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

Добавлено: 02 окт 2019, 20:55
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.
Почитайте описание, к команде смены инструмента, там этот момент описан. Я когда свой свенщик писал с этим столкнулся. Просто не дочитал.

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

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

Был вариант на ладдере, но там надо было с ноля разбираться в управлении. С каруселью тоже какие-то сложности по стыковке портов и подачи разных импульсов.
В любом случае - ремап используется в штатном примере карусели. Поэтому я решил добить свой ремап код, вместо изучения "всего сразу".
А так мне нужно будет перейти на "grey код" для задания номера инструмента, тогда и разберусь.
Vaycartana писал(а):Только я не знаю меняется ли инструмент в программе.
Инструмент в программе меняется, это видно по его треугольнику (если вид инструмента задан правильно в таблице). Так же у меня ВСЕГДА при Тх М6 инструмент "перелетал" в рабочем поле программы. И рисовалась траектория передвижения. Если есть корректоры, то они загружались в значения TLO (они отображаются под координатами).

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

Добавлено: 03 окт 2019, 01:42
Serg
ex71 писал(а):С каруселью тоже какие-то сложности по стыковке портов и подачи разных импульсов.
Нет там никаких сложностей, компонент написан грамотно, видно, что автор знаком с разными вариантами управления.
ex71 писал(а):В любом случае - ремап используется в штатном примере карусели.
Описание смены через ремап M6 - всего лишь пример ремапа. А вот компонент carousel и есть штатный способ с момента появления в дистрибутиве.

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

Добавлено: 04 сен 2020, 22:56
Фрост
Подскажите, в строке ini

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

REMAP=M6 modalgroup=6 argspec=T ngc=m6 prolog=change_prolog epilog=change_epilog
откуда берутся пролог и эпилог? Без них не меняет номер инструмента, с ними выдает ошибку pycall remap.change_prolog failed. Нашел похожее на них упоминание в файле stdglue.py но как и что сделать не догоняю

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

Добавлено: 04 сен 2020, 23:22
alex_sar

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

Добавлено: 04 сен 2020, 23:35
Serg
В доках же подробно всё описано, даже с примерами.

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

Добавлено: 04 сен 2020, 23:48
xenon-alien
Может кто подсказать где почитать по линейному магазину?
Ну и с комбинацией с револьверкой. :thinking:

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

Добавлено: 05 сен 2020, 00:33
alex_sar
А что вы хотите прочитать по линейному магазину? Смещения инструментов забили и готово.
Вот в комбинации с револьверкой это уже творчески надо ) чтобы револьверка только для определенных номеров срабатывала.

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

Добавлено: 05 сен 2020, 02:44
Фрост
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
на четвертую строку ругается, что пропущен операнд, задающий целевой файл...

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

Добавлено: 05 сен 2020, 02:45
alex_sar
ничего там не пропущено, копируйте внимательней!

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

Добавлено: 05 сен 2020, 02:53
Фрост
alex_sar писал(а): 05 сен 2020, 02:45 ничего там не пропущено, копируйте внимательней!
верно, точку в конце не зацепил)

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

Добавлено: 05 сен 2020, 02:57
Фрост
при запуске с терминала
**** PYGST libray not installed? ****
**** is python-gstX.XX installed? ****
хотя python-gst установлен последней версии, куда копать?