Вот так помогай людямDmaster писал(а):как кого нибудь на станок намотает- скажу, что ты виноват!))))
Модернизация токарного станка
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Модернизация токарного станка
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Модернизация токарного станка
А размер секции никак нельзя увеличить?
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Модернизация токарного станка
Сломался я и сделал колхоз. ..... И ОНО РАБОТАЕЕЕТ!!!!!!!nkp писал(а):КОЛХОЗ!А какая разница сколько там разных цяцек . Лишь бы работало надежно! А работать будет
Меняте инструмент!.. две резцедержки крутятся как часы!)!!
Осталась коробка на понедельник))
Ах .да забыл.. СППАСИИИИИИБО!!!!
" Linux CNC - наше всё"
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Модернизация токарного станка
Я вот думаю надо с нуля CL описать-очень трудно (по крайней мере мне так было
) с наскоку въехать во все это.Такой маленький (или не очень) ликбез для тех, кто
столкнется в первый раз.Хочу для этого дополнять в свою тему в шапку инфу-если Ник не против.http://cnc-club.ru/forum/viewtopic.php?f=15&t=1470
Или другую тему открыть?
столкнется в первый раз.Хочу для этого дополнять в свою тему в шапку инфу-если Ник не против.http://cnc-club.ru/forum/viewtopic.php?f=15&t=1470
Или другую тему открыть?
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Модернизация токарного станка
Я вот только за, но увы понимаю, что мало-мальски сложную вещь не стоит писать на ладдере. Надо-бы язык какой нибудь поучить.
да и грамоско на ладдере выходит.. смена инструмента 6+6 умена вышла на 19 секций. а если там будет нормальная такая штука на 30 инструментов?.....
Из опыта по ладдеру скажу вот что. Когда присваиваешь имена переменным, то не работает compare с этими переменными))) лучше без имен.
Дальше .. если использовать call coil , то если с пина call coil снять true раньше, чем cнимется true в цикле описанном , на который call coil ссылается, то заклинит нафиг все перенные в том цикле.
Если спользовать jumpcoil и сослаться на секцию выше ..., то чпу нафиг зависнет!)))
да и грамоско на ладдере выходит.. смена инструмента 6+6 умена вышла на 19 секций. а если там будет нормальная такая штука на 30 инструментов?.....
Из опыта по ладдеру скажу вот что. Когда присваиваешь имена переменным, то не работает compare с этими переменными))) лучше без имен.
Дальше .. если использовать call coil , то если с пина call coil снять true раньше, чем cнимется true в цикле описанном , на который call coil ссылается, то заклинит нафиг все перенные в том цикле.
Если спользовать jumpcoil и сослаться на секцию выше ..., то чпу нафиг зависнет!)))
" Linux CNC - наше всё"
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Модернизация токарного станка
Ну об этом прямо сказано в wikiDmaster писал(а): Если спользовать jumpcoil и сослаться на секцию выше ..., то чпу нафиг зависнет!)))
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Модернизация токарного станка
А можно аргументировать (не в порядке спора,а только лишь для образовательных целей) "не стоит" .Dmaster писал(а):Я вот только за, но увы понимаю, что мало-мальски сложную вещь не стоит писать на ладдере. Надо-бы язык какой нибудь поучить.
CL
Последний раз редактировалось nkp 14 апр 2012, 09:50, всего редактировалось 1 раз.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Модернизация токарного станка
Не понял, чего ты хочешь, но я не противnkp писал(а):Хочу для этого дополнять в свою тему в шапку инфу-если Ник не против.http://cnc-club.ru/forum/viewtopic.php?f=15&t=1470
ИМХО, все, чему не нужен реалтайм можно писать без классик ладдера, но если речь идет о той же смене инструмента, где нужно четко тормозить карусель... хотя до конца не ясно, надо все это тестировать...
ЗЫ если будешь изучать языки, то изучай или Си или питон. Питон проще
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Модернизация токарного станка
Коробка запущена!)))) Инструмент меняется!))) скоро буду требовать медальку за собранный станок)
остались мелочи).
скорость шпинделя при M3 выводится с положительным знаком, а при M4 с отрицатльным. Я всю логику уже написал с тем условием, что задание на вращение всегда положительно. Как это поменять?).
остались мелочи).
скорость шпинделя при M3 выводится с положительным знаком, а при M4 с отрицатльным. Я всю логику уже написал с тем условием, что задание на вращение всегда положительно. Как это поменять?).
" Linux CNC - наше всё"
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Модернизация токарного станка
Ну можешь сделать через mux или через sum или через scale, и от этого компонента получить модуль от задания скорости шпинделя.
Как тебе больше нравится?
Для медальки надо будет отчет о проделанной работе, а то тема большая, лень всю перечитывать
.
Как тебе больше нравится?
Для медальки надо будет отчет о проделанной работе, а то тема большая, лень всю перечитывать
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Модернизация токарного станка
Запуск станка отожен в связи с мааааленьки упущением, ... А НЕТ В EMC кодов M10 M11(Открыть/Закрыть патрон)
Исходя из этого
http://www.linuxcnc.org/docs/devel/html ... cture.html
Добавить в ини файл такое - не проблема.
[RS274NGC]
REMAP=M10 modalgroup=10 ngc=chuckopen
REMAP=M11 modalgroup=10 ngc=chuckclose
Но вот как описать "O" процедуру, которая запретит исполнение м10 при вращении шпиндея. запретит вращение шпинделя, если не была проведена процедура м11.
Ой как не хочется запустить по цеху заготовку... потому. что кто-то невовремя на педаль нажал...
Исходя из этого
http://www.linuxcnc.org/docs/devel/html ... cture.html
Добавить в ини файл такое - не проблема.
[RS274NGC]
REMAP=M10 modalgroup=10 ngc=chuckopen
REMAP=M11 modalgroup=10 ngc=chuckclose
Но вот как описать "O" процедуру, которая запретит исполнение м10 при вращении шпиндея. запретит вращение шпинделя, если не была проведена процедура м11.
Ой как не хочется запустить по цеху заготовку... потому. что кто-то невовремя на педаль нажал...
" Linux CNC - наше всё"
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Модернизация токарного станка
ИМХО это надо не на o коде писать, а на hal... Есть какие-то датчики состояния патрона?
В о-кодах можно попробовать сделать через motion.digital-in-NN или motion.analog-in-NN
В о-кодах можно попробовать сделать через motion.digital-in-NN или motion.analog-in-NN
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Модернизация токарного станка
датчиков состояния патрона нет( точнее из не стало еще давно.)
а как это сделать, и как потом из хаа назначить М10Nick писал(а):это надо не на o коде писать, а на hal..
" Linux CNC - наше всё"
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Модернизация токарного станка
Если датчиков нет, тогда хреново...
Тогда делаем так на motion.digital-in-NN заводим пин состояния шпинделя - 1 вращается, 0 не вращается.
В O процедуре пишем:
M66 P[NN] L2
M65 P[хх] - говорим, что патрон разжат
И потом разжатие патрона. Вместо L2 - ожидание ниспадающего сигнала можно поставить L4 - ожидаание 0.
Зажатие:
M64 P[хх] - говорим, что патрон зажат
И в управлении шпинделем добавляем дополнительное условие, на наличие этого пина.
Тогда делаем так на motion.digital-in-NN заводим пин состояния шпинделя - 1 вращается, 0 не вращается.
В O процедуре пишем:
M66 P[NN] L2
M65 P[хх] - говорим, что патрон разжат
И потом разжатие патрона. Вместо L2 - ожидание ниспадающего сигнала можно поставить L4 - ожидаание 0.
Зажатие:
M64 P[хх] - говорим, что патрон зажат
И в управлении шпинделем добавляем дополнительное условие, на наличие этого пина.
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Модернизация токарного станка
а м11 м10 поставить можно?.Nick писал(а):M66 P[NN] L2 M65 P[хх] - говорим, что патрон разжат
что такое L2 и L4 ... что-то не могу найти мануал по O процедуре
" Linux CNC - наше всё"
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Модернизация токарного станка
Это от M66 параметры: http://linuxcnc.org/docs/html/gcode/m-c ... ut-ControlDmaster писал(а):что такое L2 и L4 ... что-то не могу найти мануал по O процедуре
ты же вот это писал:Dmaster писал(а):а м11 м10 поставить можно?.
я правда такое не пробовал никогда.Dmaster писал(а):[RS274NGC]REMAP=M10 modalgroup=10 ngc=chuckopen
REMAP=M11 modalgroup=10 ngc=chuckclose
По логике вещей, должно быть после такой настройки m11 будет вызывать файл chuckclose.ngc, в котором надо создать такую штуку:
o<chuckclose> sub
(сюда пишешь Gкод для зажима)
o<chuckclose> endsub
По О кодам вот тут ман: http://linuxcnc.org/docs/html/gcode/o-c ... ubroutines
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Модернизация токарного станка
Получается так. Добавляю в ини файл.
[RS274NGC]
REMAP=M10 modalgroup=10 ngc=chuckopen
REMAP=M11 modalgroup=10 ngc=chuckclose
в файле chuckopen.ngc
o<chuckopen> sub
M5
setp halcmd parport.5.pin-01-out 1
o<chuckopen>endsub
в файле chuckclose.ngc
o<chuckclose> sub
setp halcmd parport.5.pin-01-out 0
o<chuckclose> endsub
Завтра буду проверять)))
[RS274NGC]
REMAP=M10 modalgroup=10 ngc=chuckopen
REMAP=M11 modalgroup=10 ngc=chuckclose
в файле chuckopen.ngc
o<chuckopen> sub
M5
setp halcmd parport.5.pin-01-out 1
o<chuckopen>endsub
в файле chuckclose.ngc
o<chuckclose> sub
setp halcmd parport.5.pin-01-out 0
o<chuckclose> endsub
Завтра буду проверять)))
" Linux CNC - наше всё"
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Модернизация токарного станка
Не, так не должно сработать внутри файла по-идее должен быть Gкод...Dmaster писал(а):setp halcmd parport.5.pin-01-out 0
И вообще ИМХО лучше это делать через digital-in/out M66...
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Модернизация токарного станка
Вот пример того, как делали M код с подключением к халу. Но я его не понимаю. ибо не програмист. Можешь построчно объяснить что и зачем в этом коде.?
This is how I manipulate extra features on my lathe from gcode. For instance I use M106 to set "high gear". The HighGearRequest? signal is an input to Ladder. M106 sets HighGearRequest? to TRUE. Ladder waits until it's safe to switch gears (the spindle has stopped, etc.), then does it. The end result of the gear change is the HighClutch? HAL signal is set to TRUE. M106 uses the waitfor script to wait for this HighClutch? signal. EMC2, in turn, waits for M106 to complete before continuing.
The contents of ~/emc2/nc_files/M106:
#!/bin/sh
halcmd sets HighGearRequest 1
~/emc2/nc_files/waitfor HighClutch TRUE
halcmd sets HighGearRequest 0
The contents of ~/emc2/nc_files/waitfor:
#!/bin/bash
if [ $# != 2 ]; then
echo usage: $0 SignalName DesiredValue
exit 1
fi
signal=$1
value=$2
while :; do
set -- $(halcmd -s show sig $signal)
if [ x"$2" == x"$value" ]; then
exit 0
fi
sleep 1
done
This is how I manipulate extra features on my lathe from gcode. For instance I use M106 to set "high gear". The HighGearRequest? signal is an input to Ladder. M106 sets HighGearRequest? to TRUE. Ladder waits until it's safe to switch gears (the spindle has stopped, etc.), then does it. The end result of the gear change is the HighClutch? HAL signal is set to TRUE. M106 uses the waitfor script to wait for this HighClutch? signal. EMC2, in turn, waits for M106 to complete before continuing.
The contents of ~/emc2/nc_files/M106:
#!/bin/sh
halcmd sets HighGearRequest 1
~/emc2/nc_files/waitfor HighClutch TRUE
halcmd sets HighGearRequest 0
The contents of ~/emc2/nc_files/waitfor:
#!/bin/bash
if [ $# != 2 ]; then
echo usage: $0 SignalName DesiredValue
exit 1
fi
signal=$1
value=$2
while :; do
set -- $(halcmd -s show sig $signal)
if [ x"$2" == x"$value" ]; then
exit 0
fi
sleep 1
done
" Linux CNC - наше всё"
