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

Смена инструмента на токарнике

Добавлено: 30 июн 2011, 00:24
freeform
Здравствуйте!
Я долго и нудно модернизирую токарный 16А20Ф3, заменил привода, ЧПУ соответственно ЕМС2, сейчас наконец дошло дело до настроек. Застрял на вопросе смены инструмента, не понимаю как ее реализовать. На станке стоит револьверная головка на 8 позиций, крутиться умеет только в одну сторону, фиксация в позиции происходит реверсом мотора. В ЕМС у меня заведены следующие пины: Tool_1 ..... Tool_8, Turret_CW, Turret_CCW и Toolchange_complete. Последний сигнал приходит, когда мотор головки на реверсе упирается.
Вроде бы логика работы очень простая, но я уже всю голову сломал, как это сделать. Насколько я понимаю, надо писать ладдер под это дело, но я в него никак не могу въехать :( . Последнее, что я писал, было на С и почти 10 лет назад..
Есть идеи?

Re: Смена инструмента на токарнике

Добавлено: 30 июн 2011, 21:13
Nick
Щас разберемся :). Вот тут есть пример по автоматической смене инструмента на токарнике: http://wiki.linuxcnc.org/emcinfo.pl?Cla ... ool_Turret
Минут через 15 напишу комментарии.

Re: Смена инструмента на токарнике

Добавлено: 30 июн 2011, 21:30
Nick
Нужно уточнить, что твои пины означают:
Tool_1 ..... Tool_8 - на этих пинах появляется значение, если соответствующий инструмент на нужном месте? Т.е. это пины ввода?
Turret_CW - вертеть барабан с инструментов почасовой, это смещение на один инструмент или нет?
Turret_CCW - вертеть против, т.е. фиксация инструмента?
Toolchange_complete - это пин ввода, что можно продолжать выполнение программы?

Re: Смена инструмента на токарнике

Добавлено: 30 июн 2011, 22:39
freeform
Nick писал(а):Tool_1 ..... Tool_8 - на этих пинах появляется значение, если соответствующий инструмент на нужном месте? Т.е. это пины ввода?
Да.
Nick писал(а):Turret_CW - вертеть барабан с инструментов почасовой, это смещение на один инструмент или нет?
Нет, это просто команда вращения. Т.е крутим по часовой и ждем нужного инструмента, при появлении сигнала нужного инструмента включаем реверс для затяжки. Когда мотор на реверсе встает, появляется сигнал Toolchange_complete, смена завершена, реверс надо выключить.

Re: Смена инструмента на токарнике

Добавлено: 30 июн 2011, 23:41
Nick
Значит так. Нам понадобится:
1. пин на старт вращения, на него заводим iocontrol.0.tool-change. В ladder logic он должен выглядеть примерно как верхняя строчка на этой картинке:

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

 --+----[ ]---+----[\]----( )
   |   start |    stop   run   
   |         |                 
   +----[ ]--+                 
        run       
run нужно вывести на turret_ccw или turret_cw, какой там у тебя в нужную сторону вращает?

2. Заводим пин iocontrol.0.tool-prep-number на вход ladder logic.
3. Потом нам нужно будет создать восемь строчек для каждого инструмента, на вход подается пин от tool_n, такого вида:

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

                        +----------------------+           
 ------[ ]---------------+ compare req_num = n  +------+----( )
    tool_n              +----------------------+      |   stop   
                                                      |
                                                      +----( )
                                                          finish
Т.е. смотрим, если на входном пине появился сигнал, сравниваем номер пина и номер требуемого инструмента, тогда включаем stop и finish. Stop остановит run в первой строке, а finish должен зафиксировать карусель и подать сигнал к дальнейшей обработке.
4. И в конце на finish можно повесить включение реверса и вывод в iocontrol.0.tool-prepared и iocontrol.0.tool-changed.

Re: Смена инструмента на токарнике

Добавлено: 01 июл 2011, 00:07
freeform
Спасибо большое, завтра попробую.

Re: Смена инструмента на токарнике

Добавлено: 15 июл 2011, 20:53
Nick
Как результат? Получилось или на чем-то застрял?

Re: Смена инструмента на токарнике

Добавлено: 25 июл 2011, 13:34
freeform
Nick писал(а):Как результат? Получилось или на чем-то застрял?
Застрял, но по железным причинам. Клинит головку, решаем чего с ней делать. Новая стоит дофига, а в этой все потроха менять надо, тоже куча денег :(

Re: Смена инструмента на токарнике

Добавлено: 25 июл 2011, 14:07
Nick
Жаль... как появятся результаты пиши...

Re: Смена инструмента на токарнике

Добавлено: 08 авг 2011, 15:29
freeform
Ну что же.. Все заработало! :) Программа правда не совсем такая вышла, завтра спишу со станка и выложу. Ладдер оказался совсем нестрашной вещью :)

Re: Смена инструмента на токарнике

Добавлено: 08 авг 2011, 16:21
Nick
Поздравляю! Ждем конфигов :)!

Re: Смена инструмента на токарнике

Добавлено: 09 авг 2011, 19:11
freeform
Ну собственно вот ладдер:
ladder.jpg (16878 просмотров) <a class='original' href='./download/file.php?id=1927&sid=b6552524629542e560c5dbbbf8fdd501&mode=view' target=_blank>Загрузить оригинал (283.88 КБ)</a>
На вид кривенько слегка, но работает как часы. Таймер ТМ2 для дозатяжки головки после сигнала от концевика, ТМ1 для четкой выдачи сигнала о завершении смены, без него сигнал слишком быстро проскакивал и ЕМС его не видела.

Re: Смена инструмента на токарнике

Добавлено: 09 авг 2011, 20:15
Nick
Так ты можешь ставить вместо простого вывода типа --( )--, вывод с запоминанием значения --(S)--, и тогда таймер будет не нужен. А перед стартом процедуры скидывать значение при помощи --(R)--Хммм.. странно, по идее по пину start, он должен "мигнуть" CW_Rot и вырубиться. Или у тебя еще где-то цикл спрятан?

Re: Смена инструмента на токарнике

Добавлено: 09 авг 2011, 20:37
freeform
Nick писал(а):Так ты можешь ставить вместо простого вывода типа --( )--, вывод с запоминанием значения --(S)--, и тогда таймер будет не нужен.

Угу. Наверное можно и так, я просто не вдавался особо, что это за тип выхода.
Nick писал(а):Хммм.. странно, по идее по пину start, он должен "мигнуть" CW_Rot и вырубиться. Или у тебя еще где-то цикл спрятан?
Неа, все работает, больше нигде ничего не спрятано :) . А с чего ему вырубаться собственно?
На картинке сейчас кстати странная ситуация, команд смены не было никаких, T_req не задано, почему нижняя строчка активна не очень понятно..

Re: Смена инструмента на токарнике

Добавлено: 09 авг 2011, 20:40
freeform
Все, понял, что тебя смутило. При подаче команды на смену T_req меняется на реальное число, и нижняя строчка выключается (или ,если задан уже стоящий инструмент, ничего не крутится, сразу Done выдается).

Re: Смена инструмента на токарнике

Добавлено: 09 авг 2011, 20:44
Nick
Не, я не о том. Просто по идее, когда ты выставляешь пин start в true, то сигдал доходит до CW_Rot. И барабан начинает вращаться, но как только пин старта исчезнет, сразу же вырубится и пин CW_Rot. И все остановится так и не сменившись.

Или я не прав?

Re: Смена инструмента на токарнике

Добавлено: 09 авг 2011, 20:45
freeform
Ну и соответственно
T_req это iocontrol.0.tool-prep-number
Done это iocontrol.0.tool-changed
Start это iocontrol.0.tool-change

Re: Смена инструмента на токарнике

Добавлено: 09 авг 2011, 20:48
freeform
Nick писал(а):Или я не прав?
Не прав :)
Пин старта никуда не исчезает до установки iocontrol.0.tool-changed в 1, где-то в каком-то мануале это описано.

Re: Смена инструмента на токарнике

Добавлено: 09 авг 2011, 20:59
Nick
Тогда все отл :)! Спасибо за инфу!!! Теперь буду всех сюда отправлять :hehehe:!

А можешь еще свой файл ladder прикрепить, чтобы не надо было самому составлять :roll:?
(возможно придется запаковать, чтобы прикрепился... )

Re: Смена инструмента на токарнике

Добавлено: 09 авг 2011, 21:54
freeform
Прикрепил. Остальные конфиги пока не буду выкладывать, там стыдный срач, надо причесать.
custom.rar
(1.59 КБ) 1233 скачивания