Страница 1 из 2
Коробка шпинделя. (4-х скоростная) Нужен совет!
Добавлено: 02 апр 2016, 13:00
jo_key
Доброго времени суток, друзья!!
Анализировал топик
Коробка шпинделя.. Нужны советы!) но что-то не могу осилить свою конфигурацию: 4-х скоростную коробку передач.
Вот исходные данные, но они возможно потом немного поменяются.
- имеется КС (коробка скоростей) с двумя блоками шестерён без нейтрального положения (4 диапазона)
- положение блоков шестерён определяется датчиками, активное состояние которых "0"
- Привод шпинделя - двигатель постоянного тока, возможно потребуется изменение скорости в пределах этих 4-х диапазонов (но это не первостепенная задача)
Вопросы нашему обществу, посоветуйте
1) философию подхода к решению данной задачи. (CL или средствами .comp и других разных костылей)
2) возможно вопросов будет куча - поэтому буду задавать по мере поступления.... или не буду вообще))
Заранее благодарен за понимание.
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
Добавлено: 02 апр 2016, 13:17
jo_key
Получается, что для переключения этих диапазона будет применяться команда типа M111-M114 ?
Где в данных М11х будут описываться действия...
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
Добавлено: 02 апр 2016, 13:24
nkp
jo_key писал(а):к решению данной задачи
а как переключаются передачи - вручную?
если да - то так ли нужны команды М... ??
я про то ,что стоит задача всего лишь "сделать" соответствие задаваемых оборотов и
фактических...
(это всё - если переключаем руками)
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
Добавлено: 02 апр 2016, 13:38
jo_key
переключение будет в автоматическом режиме по М-коду
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
Добавлено: 02 апр 2016, 13:45
jo_key
В ближайшее время опишу полностью процесс переключения. но они сходны с 2-х скоростными коробками..
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
Добавлено: 02 апр 2016, 13:47
nkp
есть такой пример:
Код: Выделить всё
!/bin/bash
## sets scale gain to make output speed accurate
## for each of 4 pulley settings
if [ ! $# -ge 1 ]; then
echo "Usage: M101 n - where n is speed range 1 - 4"
exit 1
fi
float=$1
int=${float/\.*}
case $int in
1 ) halcmd setp scale.0.gain 0.595;;
# accurate at 1200 in M4 for turning
2 ) halcmd setp scale.0.gain 1.16;;
# accurate at 600 in M4 for turning
3 ) halcmd setp scale.0.gain 2.175;;
# accurate at 300 in M3 for threading
4 ) halcmd setp scale.0.gain 4.3;;
# accurate at 150 in M3 for threading
esac
exit 0
дополнить его командами для пинов включения передач ...
ну и контроль реального включения через какую нибудь логику (and ,...)
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
Добавлено: 02 апр 2016, 13:55
jo_key
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
Добавлено: 02 апр 2016, 13:56
jo_key
Вери сенкс....пошел усваивать написанное...))
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
Добавлено: 02 апр 2016, 14:27
Dmaster
А нафига по м коду? Ц меня шпиндель сам выбирает нужную скорость в зависимости от оборотов.
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
Добавлено: 02 апр 2016, 14:47
nkp
Dmaster писал(а):А нафига по м коду? Ц меня шпиндель сам выбирает нужную скорость в зависимости от оборотов.
а если 800 об\мин можно выбрать в двух диапазонах(или в трех) - тогда как?
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
Добавлено: 02 апр 2016, 14:56
jo_key
Вероятнее всего скорости и положение шестерен будут выбираться из УП.... но это еще не факт...
Dmaster писал(а):А нафига по м коду? Ц меня шпиндель сам выбирает нужную скорость в зависимости от оборотов.
а как он определяет положение блока шестерен??
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
Добавлено: 02 апр 2016, 15:20
Dmaster
Так вы сказали, что есть концевики
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
Добавлено: 02 апр 2016, 17:50
jo_key
точно
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
Добавлено: 05 апр 2016, 13:15
jo_key
Коллеги! Предоставляю более развернутую задачу по КС. Заранее простите за глупые вопросы, но они буду такими:
- имеется КС (коробка скоростей) с двумя блоками шестерён без нейтрального положения (4 диапазона)
- положение блоков шестерён (БШ) определяется датчиками, активное состояние которых "0" (К1-К4)
- Перемещение БШ осуществляется гидроцилиндрами, через золотники (3-6)
- При переключении КС необходимо также необходимо использовать ограничение момента двигателя.
Из всего этого мы мы имеем:
5 выходов (4 золотника и ограничитель момента) и 4 входа (концевики положения БШ)
Принцип работы хочется таковой:
при получения команды M41-M44 или M141-M144 задается скорость вращения шпинделя 20-30 об-мин и вкл. реле ограничения момента привода шпинделя
при команде Мх41 (1 диапазон) включаются золотники 3 и 4 и действуют до срабатывания концевиков 1 и 3 (акт состояние "0") после срабатывания концевиков не отключаем золотники (установить таймер на 1 сек), что бы шестерни зашли в полное зацепление. после - считаем что переключение произошло успешно и снимаем сигнал с золотников.
соответсвенно при Мх42 золотники 4 и 5, концевики 3 и 2
соответсвенно при Мх43 золотники 3 и 6, концевики 1 и 4
соответсвенно при Мх44 золотники 4 и 6, концевики 3 и 4
сообсна вопрос - как лучше реализовать такой алгоритм переключения?
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
Добавлено: 05 апр 2016, 22:06
nkp
"красивей" всего написать компонент под эту коробку...
но можно попытаться и ладдером разрулить...
--------------
я так - попробовал,нужно конечно поподправлять))
используем remap:
в ини
Код: Выделить всё
[RS274NGC]
REMAP=M41 modalgroup=10 ngc=m41
REMAP=M42 modalgroup=10 ngc=m42
REMAP=M43 modalgroup=10 ngc=m43
REMAP=M44 modalgroup=10 ngc=m44
файлы m41.ngc,m42.ngc,m43.ngc,m44.ngc в папку со всеми жкодами
они такого вида:
Код: Выделить всё
o<m42>sub
M5
M65 P1 ; деактивируем P1
M65 P3 ; деактивируем P3
M65 P4 ; деактивируем P4
S20 M3 ; включаем нужные обороты
M64 P0 ; включаем реле момента
M64 P2 ;включаем 2 ступень
M66 P2 L0 Q60
o100 if[#5399 eq -1]
(debug, !!)
m0
o100 endif
M65 P0
M5
o<m42>endsub
файл ладдера:
- 4.clp
- (5.82 КБ) 1013 скачиваний
в хал:
Код: Выделить всё
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES num_dio=12 num_aio=12
#######Ladder##################################################################################
loadrt classicladder_rt numPhysInputs=25 numPhysOutputs=25 numS32in=10 numS32out=10 numFloatIn=10 numFloatOut=10
loadusr classicladder 4.clp
addf classicladder.0.refresh servo-thread
#######Ladder##################################################################################
net m64p1 motion.digital-out-01 classicladder.0.in-01
net m64p2 motion.digital-out-02 classicladder.0.in-02
net m64p3 motion.digital-out-03 classicladder.0.in-03
net m64p4 motion.digital-out-04 classicladder.0.in-04
net q11 motion.digital-in-01 classicladder.0.out-11
net q12 motion.digital-in-02 classicladder.0.out-12
net q13 motion.digital-in-03 classicladder.0.out-13
net q14 motion.digital-in-04 classicladder.0.out-14
если вызываем М41 , в нем строкой
через пин motion.digital-out-01
включаем classicladder.0.in-01,
а он уже "включает" выходы Q3,Q4
ну и так далее:
входы для датчиков: I11,I12,I13,I14
если пара датчиков сработала,только тогда выдается сигнал на соответствующий выход(Q11-Q14)
а с него на пины motion.digital-in-01-motion.digital-in-04 ,
которые ждет M66 в наших файлах m41.ngc - m44.ngc
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
Добавлено: 06 апр 2016, 17:19
jo_key
Капец....))) Низкий поклон...и огромное спасибо!!! Буду пробовать
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
Добавлено: 20 апр 2016, 13:27
jo_key
Вопросец, а как привязать classicladder.0.in-01 к пину hm2_5i25.0.7i77.0.0.input-16-not ??
net m64p1 motion.digital-out-01 classicladder.0.in-01
net m64p2 motion.digital-out-02 classicladder.0.in-02
net m64p3 motion.digital-out-03 classicladder.0.in-03
net m64p4 motion.digital-out-04 classicladder.0.in-04
net q11 motion.digital-in-01 classicladder.0.out-11
net q12 motion.digital-in-02 classicladder.0.out-12
net q13 motion.digital-in-03 classicladder.0.out-13
net q14 motion.digital-in-04 classicladder.0.out-14
------
net GB-I-up <= hm2_5i25.0.7i77.0.0.input-16-not
net GB-I-down <= hm2_5i25.0.7i77.0.0.input-17-not
net GB-II-up <= hm2_5i25.0.7i77.0.0.input-18-not
net GB-II-down <= hm2_5i25.0.7i77.0.0.input-19-not
не могу понять соответствие. я должен исправить GB-I-up на m64p1??
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
Добавлено: 29 апр 2016, 11:56
Nick
jo_key писал(а):Вопросец, а как привязать classicladder.0.in-01 к пину hm2_5i25.0.7i77.0.0.input-16-not ??
net signal => classicladder.0.in-01
net signal <= hm2_5i25.0.7i77.0.0.input-16-not
Другое дело, что у тебя: classicladder.0.in-01 уже привязан к motion.digital-out-01. И если хочешь к нему дополнительно привязать еще один пин OUT (а hm2...input-xx это out), то нужна какая-то логическая связка. Или сделать отдельный пин в classic ladder и связать их уже внутри ладдера.
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
Добавлено: 31 авг 2016, 11:40
vmarkiv
Аналогичная проблема с коробкой скоростей на шпинделе вылезла у меня . Станок модели SMO32 -аналог MAHO 700 . На коробке передач есть 4 концевика -перебор и 2 концевика -выбор ступени , хотя в результате 4 диапазона . Переключение коробки делается на ползучей и знакопеременной скорости шпинделя и сначала переключается электродвигатель перебора , потом диапазона . На видео
https://www.youtube.com/watch?v=kmLmR8ckn2s видно как это работает . Была ли похожая задача у кого-то ?
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
Добавлено: 31 авг 2016, 12:05
nkp
vmarkiv писал(а):Аналогичная проблема с коробкой скоростей на шпинделе вылезла у меня
а в чем конкретно проблема?