Страница 8 из 18

Re: 5i23+2x7i47+7i42TA

Добавлено: 22 июл 2015, 13:23
sysrover
Такс опять дебри опять бред.
Для начала у нас есть 2 степгена. Каждый настроен на свой мотор.
У нас есть пины шпинделя и вообще шпиндель в линуксцнц.
Вот код

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

# Step Gen signals/setup

setp   hm2_5i23.0.stepgen.01.dirsetup        [SPINDLE_9]DIRSETUP
setp   hm2_5i23.0.stepgen.01.dirhold         [SPINDLE_9]DIRHOLD
setp   hm2_5i23.0.stepgen.01.steplen         [SPINDLE_9]STEPLEN
setp   hm2_5i23.0.stepgen.01.stepspace       [SPINDLE_9]STEPSPACE
setp   hm2_5i23.0.stepgen.01.position-scale  [SPINDLE_9]STEP_SCALE
setp   hm2_5i23.0.stepgen.01.step_type        0
setp   hm2_5i23.0.stepgen.01.control-type     1
setp   hm2_5i23.0.stepgen.01.maxaccel         [SPINDLE_9]MAX_ACCELERATION
setp   hm2_5i23.0.stepgen.01.maxvel           [SPINDLE_9]MAX_VELOCITY

net machine-is-enabled          =>  hm2_5i23.0.stepgen.01.enable
net spindle-vel-cmd-rps     =>  hm2_5i23.0.stepgen.01.velocity-cmd
net spindle-vel-fb         <=  hm2_5i23.0.stepgen.01.velocity-fb

setp   hm2_5i23.0.stepgen.00.dirsetup        [SPINDLE_9]DIRSETUP
setp   hm2_5i23.0.stepgen.00.dirhold         [SPINDLE_9]DIRHOLD
setp   hm2_5i23.0.stepgen.00.steplen         [SPINDLE_9]STEPLEN
setp   hm2_5i23.0.stepgen.00.stepspace       [SPINDLE_9]STEPSPACE
setp   hm2_5i23.0.stepgen.00.position-scale  [SPINDLE_9]STEP_SCALE
setp   hm2_5i23.0.stepgen.00.step_type        0
setp   hm2_5i23.0.stepgen.00.control-type     1
setp   hm2_5i23.0.stepgen.00.maxaccel         [SPINDLE_9]MAX_ACCELERATION
setp   hm2_5i23.0.stepgen.00.maxvel           [SPINDLE_9]MAX_VELOCITY

# ---setup spindle control signals---

net spindle-vel-cmd-rps        <=  motion.spindle-speed-out-rps
net spindle-vel-cmd-rps-abs    <=  motion.spindle-speed-out-rps-abs
net spindle-vel-cmd            <=  motion.spindle-speed-out
net spindle-vel-cmd-rpm-abs    <=  motion.spindle-speed-out-abs
net spindle-on                 <=  motion.spindle-on
net spindle-cw                 <=  motion.spindle-forward
net spindle-ccw                <=  motion.spindle-reverse
net spindle-brake              <=  motion.spindle-brake
net spindle-revs               =>  motion.spindle-revs
net spindle-at-speed           =>  motion.spindle-at-speed
net spindle-vel-fb             =>  motion.spindle-speed-in
net spindle-index-enable      <=>  motion.spindle-index-enable

# ---Setup spindle at speed signals---

sets spindle-at-speed true
строки

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

net machine-is-enabled          =>  hm2_5i23.0.stepgen.01.enable
net spindle-vel-cmd-rps     =>  hm2_5i23.0.stepgen.01.velocity-cmd
net spindle-vel-fb         <=  hm2_5i23.0.stepgen.01.velocity-fb
подключают пинам сепгена 01 двигателя енейбл, скорость и фидбек(правда непонятно нафига)
Теперь нужно сделать возможность включать 1 степген 2 степген и оба вместе и того 3 положения.

Re: 5i23+2x7i47+7i42TA

Добавлено: 22 июл 2015, 13:28
Nick
sysrover писал(а):net spindle-vel-cmd-rps     =>  hm2_5i23.0.stepgen.01.velocity-cmd
подключаем пин hm2_5i23.0.stepgen.01.velocity-cmd к сигналу spindle-vel-cmd-rps.
можешь посмотреть за одно, какие пины к нему еще подключены ;).(сам сигнал ничего не делает и ничего не значит его можно назвать как угодно например s0001)

Комментируешь эту строчку (#).
встраиваем mux2

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

net spindle-vel-cmd-rps     =>  mux2.0.in1 
net spindle-vel-cmd-rps-mux <= mux2.0.out => hm2_5i23.0.stepgen.01.velocity-cmd
------------------

также надо еще этот mux "загрузить". посмотри по файлу hal, там нет больше никаких mux?

Re: 5i23+2x7i47+7i42TA

Добавлено: 22 июл 2015, 13:44
sysrover
Нет там муксов не подключено.

Re: 5i23+2x7i47+7i42TA

Добавлено: 22 июл 2015, 13:46
sysrover
ну судя по твоей строке мы сделали новый сигнал с приставкой мукс и подключили к его ауту степген а к ин прежний сигнал

Re: 5i23+2x7i47+7i42TA

Добавлено: 22 июл 2015, 14:06
Nick
sysrover писал(а):ну судя по твоей строке мы сделали новый сигнал с приставкой мукс и подключили к его ауту степген а к ин прежний сигнал
нет. Мы:
1. присоединили старый сигнал к mux2.0.in1
2. создали новый сигнал.
3. присоединили кнему mux2.0.out и hm2_5i23.0.stepgen.01.velocity-cmd


Вот по компонентам:
http://www.cnc-club.ru/wiki/index.php/% ... %D1%8B_hal

Тебе надо загрузить два mux2 и добавить их к servo-thread, т.е.

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

loadrt mux2 count=2
addf mux2.0 servo-thread
addf mux2.1 servo-thread

Re: 5i23+2x7i47+7i42TA

Добавлено: 22 июл 2015, 14:11
sysrover
такс понял мы подгрузили этот мукс
создали новый и завязали на него степген и старый сигнал.
теперь нам нада сделать такойже для второго степгена ?

Re: 5i23+2x7i47+7i42TA

Добавлено: 22 июл 2015, 14:16
Nick
Да.

Re: 5i23+2x7i47+7i42TA

Добавлено: 22 июл 2015, 14:27
sysrover
окей
так ?
net spindle-vel-cmd-rps => mux2.1.in1
net spindle-vel-cmd-rps-mux <= mux2.1.out => hm2_5i23.0.stepgen.00.velocity-cmd

или так

net spindle-vel-cmd-rps => mux2.1.in1
net spindle-vel-cmd-rps-mux1 <= mux2.1.out => hm2_5i23.0.stepgen.00.velocity-cmd
?

Re: 5i23+2x7i47+7i42TA

Добавлено: 22 июл 2015, 15:11
Nick
Больше похож второй вариант :)

net spindle-vel-cmd-rps => mux2.1.in1
net spindle-vel-cmd-rps-mux1 это правильно - значение другое = сигнал другой <= mux2.1.out => hm2_5i23.0.stepgen.00 .velocity-cmd

Re: 5i23+2x7i47+7i42TA

Добавлено: 22 июл 2015, 15:17
sysrover
Отично теперь как этим управлять и куда пихать файлы M101 M102 M103 и что в них писать.

Re: 5i23+2x7i47+7i42TA

Добавлено: 22 июл 2015, 15:22
Nick
нужно подключить пин mux2.1.sel к motion.digital-out-00 почитай в описаниик G62.

Re: 5i23+2x7i47+7i42TA

Добавлено: 22 июл 2015, 15:38
sysrover
не нахожу описания команды g62

Re: 5i23+2x7i47+7i42TA

Добавлено: 22 июл 2015, 16:03
Nick
Пардонте, М62

Re: 5i23+2x7i47+7i42TA

Добавлено: 22 июл 2015, 16:29
sysrover

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



loadrt mux2 count=2
addf mux2.0 servo-thread
addf mux2.1 servo-thread

setp   hm2_5i23.0.stepgen.01.dirsetup        [SPINDLE_9]DIRSETUP
setp   hm2_5i23.0.stepgen.01.dirhold         [SPINDLE_9]DIRHOLD
setp   hm2_5i23.0.stepgen.01.steplen         [SPINDLE_9]STEPLEN
setp   hm2_5i23.0.stepgen.01.stepspace       [SPINDLE_9]STEPSPACE
setp   hm2_5i23.0.stepgen.01.position-scale  [SPINDLE_9]STEP_SCALE
setp   hm2_5i23.0.stepgen.01.step_type        0
setp   hm2_5i23.0.stepgen.01.control-type     1
setp   hm2_5i23.0.stepgen.01.maxaccel         [SPINDLE_9]MAX_ACCELERATION
setp   hm2_5i23.0.stepgen.01.maxvel           [SPINDLE_9]MAX_VELOCITY

setp   hm2_5i23.0.stepgen.00.dirsetup        [SPINDLE_9]DIRSETUP
setp   hm2_5i23.0.stepgen.00.dirhold         [SPINDLE_9]DIRHOLD
setp   hm2_5i23.0.stepgen.00.steplen         [SPINDLE_9]STEPLEN
setp   hm2_5i23.0.stepgen.00.stepspace       [SPINDLE_9]STEPSPACE
setp   hm2_5i23.0.stepgen.00.position-scale  [SPINDLE_9]STEP_SCALE
setp   hm2_5i23.0.stepgen.00.step_type        0
setp   hm2_5i23.0.stepgen.00.control-type     1
setp   hm2_5i23.0.stepgen.00.maxaccel         [SPINDLE_9]MAX_ACCELERATION
setp   hm2_5i23.0.stepgen.00.maxvel           [SPINDLE_9]MAX_VELOCITY

net machine-is-enabled          =>  hm2_5i23.0.stepgen.01.enable
#net spindle-vel-cmd-rps     =>  hm2_5i23.0.stepgen.01.velocity-cmd

net spindle-vel-cmd-rps     =>  mux2.0.in1 
net spindle-vel-cmd-rps-mux <= mux2.0.out => hm2_5i23.0.stepgen.01.velocity-cmd

net spindle-vel-cmd-rps     =>  mux2.1.in1 
net spindle-vel-cmd-rps-mux1 <= mux2.1.out => hm2_5i23.0.stepgen.00.velocity-cmd


mux2.0.out <= motion.digital-out-00
mux2.1.out <= motion.digital-out-01

net spindle-vel-fb         <=  hm2_5i23.0.stepgen.01.velocity-fb


так ?
и что дальше ?

Re: 5i23+2x7i47+7i42TA

Добавлено: 22 июл 2015, 16:30
sysrover
самое интересное что я нихрена не понимаю что я делаю и как работает этот М62 и как работает этот мукс и куда что оно по результату даст.

Re: 5i23+2x7i47+7i42TA

Добавлено: 23 июл 2015, 09:12
Nick
sysrover писал(а):mux2.0.out <= motion.digital-out-00
mux2.1.out <= motion.digital-out-01
Так, только где вот это:
net название_сигнала пин [пин [пин] [...]]]
И пин не mux2.0.out, а sel!
sysrover писал(а):самое интересное что я нихрена не понимаю что я делаю и как работает этот М62 и как работает этот мукс и куда что оно по результату даст.
М64 P0 включает motion.digital-out-00 => он включает mux2.0.sel => от этого mux2 передает свой второй пин на свой выход => включает шпиндель
М65 P0 выключает motion.digital-out-00 => он ...

M64 P- - turn on digital output immediately. The P- word specifies the digital output number.
M65 P- - turn off digital output immediately. The P- word specifies the digital output number.

Вот что делает mux2:
http://linuxcnc.org/docs/html/man/man9/mux2.9.html#NAME

Re: 5i23+2x7i47+7i42TA

Добавлено: 23 июл 2015, 13:44
sysrover
net spindle1-on motion.digital-out-00 => mux2.0.sel
net spindle2-on motion.digital-out-01 => mux2.1.sel

Так ?

Re: 5i23+2x7i47+7i42TA

Добавлено: 23 июл 2015, 13:52
sysrover
РАБОТАЕТ итить.
Как сделать обратный сигнал для второго шпинделя ?

Re: 5i23+2x7i47+7i42TA

Добавлено: 23 июл 2015, 14:09
sysrover
теперь понял что такое мукс и как он работает
для чайника переключатель между двумя положениями.


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


 

loadrt mux2 count=2
addf mux2.0 servo-thread
addf mux2.1 servo-thread

setp   hm2_5i23.0.stepgen.01.dirsetup        [SPINDLE_9]DIRSETUP
setp   hm2_5i23.0.stepgen.01.dirhold         [SPINDLE_9]DIRHOLD
setp   hm2_5i23.0.stepgen.01.steplen         [SPINDLE_9]STEPLEN
setp   hm2_5i23.0.stepgen.01.stepspace       [SPINDLE_9]STEPSPACE
setp   hm2_5i23.0.stepgen.01.position-scale  [SPINDLE_9]STEP_SCALE
setp   hm2_5i23.0.stepgen.01.step_type        0
setp   hm2_5i23.0.stepgen.01.control-type     1
setp   hm2_5i23.0.stepgen.01.maxaccel         [SPINDLE_9]MAX_ACCELERATION
setp   hm2_5i23.0.stepgen.01.maxvel           [SPINDLE_9]MAX_VELOCITY

setp   hm2_5i23.0.stepgen.00.dirsetup        [SPINDLE_9]DIRSETUP
setp   hm2_5i23.0.stepgen.00.dirhold         [SPINDLE_9]DIRHOLD
setp   hm2_5i23.0.stepgen.00.steplen         [SPINDLE_9]STEPLEN
setp   hm2_5i23.0.stepgen.00.stepspace       [SPINDLE_9]STEPSPACE
setp   hm2_5i23.0.stepgen.00.position-scale  [SPINDLE_9]STEP_SCALE
setp   hm2_5i23.0.stepgen.00.step_type        0
setp   hm2_5i23.0.stepgen.00.control-type     1
setp   hm2_5i23.0.stepgen.00.maxaccel         [SPINDLE_9]MAX_ACCELERATION
setp   hm2_5i23.0.stepgen.00.maxvel           [SPINDLE_9]MAX_VELOCITY

net machine-is-enabled          =>  hm2_5i23.0.stepgen.01.enable
net machine-is-enabled          =>  hm2_5i23.0.stepgen.00.enable
#net spindle-vel-cmd-rps     =>  hm2_5i23.0.stepgen.01.velocity-cmd

net spindle-vel-cmd-rps     =>  mux2.0.in1 
net spindle-vel-cmd-rps-mux <= mux2.0.out => hm2_5i23.0.stepgen.01.velocity-cmd

net spindle-vel-cmd-rps     =>  mux2.1.in1 
net spindle-vel-cmd-rps-mux1 <= mux2.1.out => hm2_5i23.0.stepgen.00.velocity-cmd


net spindle1-on motion.digital-out-00 => mux2.0.sel
net spindle2-on motion.digital-out-01 => mux2.1.sel

net spindle-vel-fb         <=  hm2_5i23.0.stepgen.01.velocity-fb

# ---setup spindle control signals---

net spindle-vel-cmd-rps        <=  motion.spindle-speed-out-rps
net spindle-vel-cmd-rps-abs    <=  motion.spindle-speed-out-rps-abs
net spindle-vel-cmd            <=  motion.spindle-speed-out
net spindle-vel-cmd-rpm-abs    <=  motion.spindle-speed-out-abs
net spindle-on                 <=  motion.spindle-on
net spindle-cw                 <=  motion.spindle-forward
net spindle-ccw                <=  motion.spindle-reverse
net spindle-brake              <=  motion.spindle-brake
net spindle-revs               =>  motion.spindle-revs
net spindle-at-speed           =>  motion.spindle-at-speed
net spindle-vel-fb             =>  motion.spindle-speed-in
net spindle-index-enable      <=>  motion.spindle-index-enable

# ---Setup spindle at speed signals---

sets spindle-at-speed true

Re: 5i23+2x7i47+7i42TA

Добавлено: 23 июл 2015, 14:26
sysrover
В общем разобрался спасибо Ник
Управление шпинделями и скоростью как обычно m3 m4 m5 S
А через M64 включаем выключаем тот или иной шпиндель
M64 P0 включает 1 шпиндель
M65 P0 выключает 1 шпиндель
M64 P1 включает второй

вот кусок хала и кусок ини

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


loadrt mux2 count=2
addf mux2.0 servo-thread
addf mux2.1 servo-thread

setp   hm2_5i23.0.stepgen.01.dirsetup        [SPINDLE_9]DIRSETUP
setp   hm2_5i23.0.stepgen.01.dirhold         [SPINDLE_9]DIRHOLD
setp   hm2_5i23.0.stepgen.01.steplen         [SPINDLE_9]STEPLEN
setp   hm2_5i23.0.stepgen.01.stepspace       [SPINDLE_9]STEPSPACE
setp   hm2_5i23.0.stepgen.01.position-scale  [SPINDLE_9]STEP_SCALE
setp   hm2_5i23.0.stepgen.01.step_type        0
setp   hm2_5i23.0.stepgen.01.control-type     1
setp   hm2_5i23.0.stepgen.01.maxaccel         [SPINDLE_9]MAX_ACCELERATION
setp   hm2_5i23.0.stepgen.01.maxvel           [SPINDLE_9]MAX_VELOCITY

setp   hm2_5i23.0.stepgen.00.dirsetup        [SPINDLE_8]DIRSETUP
setp   hm2_5i23.0.stepgen.00.dirhold         [SPINDLE_8]DIRHOLD
setp   hm2_5i23.0.stepgen.00.steplen         [SPINDLE_8]STEPLEN
setp   hm2_5i23.0.stepgen.00.stepspace       [SPINDLE_8]STEPSPACE
setp   hm2_5i23.0.stepgen.00.position-scale  [SPINDLE_8]STEP_SCALE
setp   hm2_5i23.0.stepgen.00.step_type        0
setp   hm2_5i23.0.stepgen.00.control-type     1
setp   hm2_5i23.0.stepgen.00.maxaccel         [SPINDLE_8]MAX_ACCELERATION
setp   hm2_5i23.0.stepgen.00.maxvel           [SPINDLE_8]MAX_VELOCITY

net machine-is-enabled          =>  hm2_5i23.0.stepgen.01.enable
net machine-is-enabled          =>  hm2_5i23.0.stepgen.00.enable
#net spindle-vel-cmd-rps     =>  hm2_5i23.0.stepgen.01.velocity-cmd

net spindle-vel-cmd-rps     =>  mux2.0.in1 
net spindle-vel-cmd-rps-mux <= mux2.0.out => hm2_5i23.0.stepgen.01.velocity-cmd

net spindle-vel-cmd-rps     =>  mux2.1.in1 
net spindle-vel-cmd-rps-mux1 <= mux2.1.out => hm2_5i23.0.stepgen.00.velocity-cmd


net spindle1-on motion.digital-out-00 => mux2.0.sel
net spindle2-on motion.digital-out-01 => mux2.1.sel

net spindle-vel-fb         <=  hm2_5i23.0.stepgen.01.velocity-fb

# ---setup spindle control signals---

net spindle-vel-cmd-rps        <=  motion.spindle-speed-out-rps
net spindle-vel-cmd-rps-abs    <=  motion.spindle-speed-out-rps-abs
net spindle-vel-cmd            <=  motion.spindle-speed-out
net spindle-vel-cmd-rpm-abs    <=  motion.spindle-speed-out-abs
net spindle-on                 <=  motion.spindle-on
net spindle-cw                 <=  motion.spindle-forward
net spindle-ccw                <=  motion.spindle-reverse
net spindle-brake              <=  motion.spindle-brake
net spindle-revs               =>  motion.spindle-revs
net spindle-at-speed           =>  motion.spindle-at-speed
net spindle-vel-fb             =>  motion.spindle-speed-in
net spindle-index-enable      <=>  motion.spindle-index-enable

# ---Setup spindle at speed signals---

sets spindle-at-speed true

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

#********************
# Spindle 
#********************
[SPINDLE_9]
MAX_VELOCITY = 33.3333333333
MAX_ACCELERATION = 40.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 41.7
STEPGEN_MAXACCEL = 50.0
# these are in nanoseconds
DIRSETUP   = 1000
DIRHOLD    = 1000
STEPLEN    = 1000
STEPSPACE  = 1000
STEP_SCALE = 10000.0

[SPINDLE_8]
MAX_VELOCITY = 33.3333333333
MAX_ACCELERATION = 40.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 41.7
STEPGEN_MAXACCEL = 50.0
# these are in nanoseconds
DIRSETUP   = 1000
DIRHOLD    = 1000
STEPLEN    = 1000
STEPSPACE  = 1000
STEP_SCALE = -10000.0