Никак не удается запустить связку 6i25+7i76.
Видна только 6i25 (как 5i25) в её епроме 7i76x2.bit с завода, заливал 7i76_7i74.bit результат тот же. Кабель, 25 пин, используется из китового набора - родной. Питание на 7i76 подал 12вольт на ТВ1, перемычки W1 и W2 в левом положении, горит один желтый светодиод (питание +5в идет с компа).
Конфиг для CNC использую взятый с этого форума , только с ним запускается программа.
halcmd
Код: Выделить всё
Loaded HAL Components:
ID      Type  Name                                      PID   State
    12  User  halcmd1644                                 1644 ready
    10  User  axisui                                     1517 ready
     9  RT    hm2_pci                                         ready
     8  RT    hostmot2                                        ready
     7  RT    motmod                                          ready
     6  RT    trivkins                                        ready
     5  User  iocontrol                                  1501 ready
Component Pins:
Owner   Type  Dir         Value  Name
     7  bit   OUT          TRUE  axis.0.active
     7  bit   OUT         FALSE  axis.0.amp-enable-out ==> emcmot.00.enable
     7  bit   IN          FALSE  axis.0.amp-fault-in
     7  float OUT             0  axis.0.backlash-corr
     7  float OUT             0  axis.0.backlash-filt
     7  float OUT             0  axis.0.backlash-vel
     7  float OUT             0  axis.0.coarse-pos-cmd
     7  bit   OUT         FALSE  axis.0.error
     7  float OUT             0  axis.0.f-error
     7  float OUT         0.005  axis.0.f-error-lim
     7  bit   OUT         FALSE  axis.0.f-errored
     7  bit   OUT         FALSE  axis.0.faulted
     7  float OUT             0  axis.0.free-pos-cmd
     7  bit   OUT         FALSE  axis.0.free-tp-enable
     7  float OUT             0  axis.0.free-vel-lim
     7  bit   IN          FALSE  axis.0.home-sw-in
     7  bit   OUT         FALSE  axis.0.homed
     7  bit   OUT         FALSE  axis.0.homing
     7  bit   OUT          TRUE  axis.0.in-position
     7  bit   I/O         FALSE  axis.0.index-enable
     7  s32   IN              0  axis.0.jog-counts
     7  bit   IN          FALSE  axis.0.jog-enable
     7  float IN              0  axis.0.jog-scale
     7  bit   IN          FALSE  axis.0.jog-vel-mode
     7  float OUT             0  axis.0.joint-pos-cmd
     7  float OUT             0  axis.0.joint-pos-fb
     7  float OUT             0  axis.0.joint-vel-cmd
     7  bit   OUT         FALSE  axis.0.kb-jog-active
     7  float OUT             0  axis.0.motor-offset
     7  float OUT             0  axis.0.motor-pos-cmd ==> emcmot.00.pos-cmd
     7  float IN              0  axis.0.motor-pos-fb <== motor.00.pos-fb
     7  bit   OUT         FALSE  axis.0.neg-hard-limit
     7  bit   IN          FALSE  axis.0.neg-lim-sw-in
     7  bit   OUT         FALSE  axis.0.pos-hard-limit
     7  bit   IN          FALSE  axis.0.pos-lim-sw-in
     7  bit   OUT         FALSE  axis.0.wheel-jog-active
     7  bit   OUT          TRUE  axis.1.active
     7  bit   OUT         FALSE  axis.1.amp-enable-out ==> emcmot.01.enable
     7  bit   IN          FALSE  axis.1.amp-fault-in
     7  float OUT             0  axis.1.backlash-corr
     7  float OUT             0  axis.1.backlash-filt
     7  float OUT             0  axis.1.backlash-vel
     7  float OUT             0  axis.1.coarse-pos-cmd
     7  bit   OUT         FALSE  axis.1.error
     7  float OUT             0  axis.1.f-error
     7  float OUT         0.005  axis.1.f-error-lim
     7  bit   OUT         FALSE  axis.1.f-errored
     7  bit   OUT         FALSE  axis.1.faulted
     7  float OUT             0  axis.1.free-pos-cmd
     7  bit   OUT         FALSE  axis.1.free-tp-enable
     7  float OUT             0  axis.1.free-vel-lim
     7  bit   IN          FALSE  axis.1.home-sw-in
     7  bit   OUT         FALSE  axis.1.homed
     7  bit   OUT         FALSE  axis.1.homing
     7  bit   OUT          TRUE  axis.1.in-position
     7  bit   I/O         FALSE  axis.1.index-enable
     7  s32   IN              0  axis.1.jog-counts
     7  bit   IN          FALSE  axis.1.jog-enable
     7  float IN              0  axis.1.jog-scale
     7  bit   IN          FALSE  axis.1.jog-vel-mode
     7  float OUT             0  axis.1.joint-pos-cmd
     7  float OUT             0  axis.1.joint-pos-fb
     7  float OUT             0  axis.1.joint-vel-cmd
     7  bit   OUT         FALSE  axis.1.kb-jog-active
     7  float OUT             0  axis.1.motor-offset
     7  float OUT             0  axis.1.motor-pos-cmd ==> emcmot.01.pos-cmd
     7  float IN              0  axis.1.motor-pos-fb <== motor.01.pos-fb
     7  bit   OUT         FALSE  axis.1.neg-hard-limit
     7  bit   IN          FALSE  axis.1.neg-lim-sw-in
     7  bit   OUT         FALSE  axis.1.pos-hard-limit
     7  bit   IN          FALSE  axis.1.pos-lim-sw-in
     7  bit   OUT         FALSE  axis.1.wheel-jog-active
     7  bit   OUT          TRUE  axis.2.active
     7  bit   OUT         FALSE  axis.2.amp-enable-out ==> emcmot.02.enable
     7  bit   IN          FALSE  axis.2.amp-fault-in
     7  float OUT             0  axis.2.backlash-corr
     7  float OUT             0  axis.2.backlash-filt
     7  float OUT             0  axis.2.backlash-vel
     7  float OUT             0  axis.2.coarse-pos-cmd
     7  bit   OUT         FALSE  axis.2.error
     7  float OUT             0  axis.2.f-error
     7  float OUT         0.005  axis.2.f-error-lim
     7  bit   OUT         FALSE  axis.2.f-errored
     7  bit   OUT         FALSE  axis.2.faulted
     7  float OUT             0  axis.2.free-pos-cmd
     7  bit   OUT         FALSE  axis.2.free-tp-enable
     7  float OUT             0  axis.2.free-vel-lim
     7  bit   IN          FALSE  axis.2.home-sw-in
     7  bit   OUT         FALSE  axis.2.homed
     7  bit   OUT         FALSE  axis.2.homing
     7  bit   OUT          TRUE  axis.2.in-position
     7  bit   I/O         FALSE  axis.2.index-enable
     7  s32   IN              0  axis.2.jog-counts
     7  bit   IN          FALSE  axis.2.jog-enable
     7  float IN              0  axis.2.jog-scale
     7  bit   IN          FALSE  axis.2.jog-vel-mode
     7  float OUT             0  axis.2.joint-pos-cmd
     7  float OUT             0  axis.2.joint-pos-fb
     7  float OUT             0  axis.2.joint-vel-cmd
     7  bit   OUT         FALSE  axis.2.kb-jog-active
     7  float OUT             0  axis.2.motor-offset
     7  float OUT             0  axis.2.motor-pos-cmd ==> emcmot.02.pos-cmd
     7  float IN              0  axis.2.motor-pos-fb <== motor.02.pos-fb
     7  bit   OUT         FALSE  axis.2.neg-hard-limit
     7  bit   IN          FALSE  axis.2.neg-lim-sw-in
     7  bit   OUT         FALSE  axis.2.pos-hard-limit
     7  bit   IN          FALSE  axis.2.pos-lim-sw-in
     7  bit   OUT         FALSE  axis.2.wheel-jog-active
    10  bit   OUT         FALSE  axisui.jog.a
    10  bit   OUT         FALSE  axisui.jog.b
    10  bit   OUT         FALSE  axisui.jog.c
    10  float OUT             0  axisui.jog.increment
    10  bit   OUT         FALSE  axisui.jog.u
    10  bit   OUT         FALSE  axisui.jog.v
    10  bit   OUT         FALSE  axisui.jog.w
    10  bit   OUT          TRUE  axisui.jog.x
    10  bit   OUT         FALSE  axisui.jog.y
    10  bit   OUT         FALSE  axisui.jog.z
    10  bit   IN          FALSE  axisui.notifications-clear
    10  bit   IN          FALSE  axisui.notifications-clear-error
    10  bit   IN          FALSE  axisui.notifications-clear-info
    10  bit   IN          FALSE  axisui.set-manual-mode
     9  s32   OUT             0  hm2_5i25.0.encoder.00.count
     9  s32   OUT             0  hm2_5i25.0.encoder.00.count-latched
     9  bit   I/O         FALSE  hm2_5i25.0.encoder.00.index-enable
     9  bit   IN          FALSE  hm2_5i25.0.encoder.00.latch-enable
     9  bit   IN          FALSE  hm2_5i25.0.encoder.00.latch-polarity
     9  float OUT             0  hm2_5i25.0.encoder.00.position
     9  float OUT             0  hm2_5i25.0.encoder.00.position-latched
     9  s32   OUT         65534  hm2_5i25.0.encoder.00.rawcounts
     9  s32   OUT         65534  hm2_5i25.0.encoder.00.rawlatch
     9  bit   IN          FALSE  hm2_5i25.0.encoder.00.reset
     9  float OUT             0  hm2_5i25.0.encoder.00.velocity
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.000.in
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.000.in_not
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.001.in
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.001.in_not
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.002.in
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.002.in_not
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.003.in
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.003.in_not
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.004.in
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.004.in_not
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.005.in
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.005.in_not
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.006.in
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.006.in_not
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.007.in
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.007.in_not
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.008.in
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.008.in_not
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.009.in
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.009.in_not
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.010.in
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.010.in_not
     9  bit   IN          FALSE  hm2_5i25.0.gpio.010.out
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.011.in
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.011.in_not
     9  bit   IN          FALSE  hm2_5i25.0.gpio.011.out
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.012.in
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.012.in_not
     9  bit   IN          FALSE  hm2_5i25.0.gpio.012.out
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.013.in
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.013.in_not
     9  bit   IN          FALSE  hm2_5i25.0.gpio.013.out
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.014.in
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.014.in_not
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.015.in
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.015.in_not
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.016.in
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.016.in_not
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.017.in
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.017.in_not
     9  bit   IN          FALSE  hm2_5i25.0.gpio.017.out
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.018.in
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.018.in_not
     9  bit   IN          FALSE  hm2_5i25.0.gpio.018.out
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.019.in
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.019.in_not
     9  bit   IN          FALSE  hm2_5i25.0.gpio.019.out
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.020.in
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.020.in_not
     9  bit   IN          FALSE  hm2_5i25.0.gpio.020.out
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.021.in
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.021.in_not
     9  bit   IN          FALSE  hm2_5i25.0.gpio.021.out
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.022.in
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.022.in_not
     9  bit   IN          FALSE  hm2_5i25.0.gpio.022.out
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.023.in
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.023.in_not
     9  bit   IN          FALSE  hm2_5i25.0.gpio.023.out
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.024.in
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.024.in_not
     9  bit   IN          FALSE  hm2_5i25.0.gpio.024.out
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.025.in
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.025.in_not
     9  bit   IN          FALSE  hm2_5i25.0.gpio.025.out
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.026.in
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.026.in_not
     9  bit   IN          FALSE  hm2_5i25.0.gpio.026.out
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.027.in
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.027.in_not
     9  bit   IN          FALSE  hm2_5i25.0.gpio.027.out
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.028.in
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.028.in_not
     9  bit   IN          FALSE  hm2_5i25.0.gpio.028.out
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.029.in
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.029.in_not
     9  bit   IN          FALSE  hm2_5i25.0.gpio.029.out
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.030.in
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.030.in_not
     9  bit   IN          FALSE  hm2_5i25.0.gpio.030.out
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.031.in
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.031.in_not
     9  bit   IN          FALSE  hm2_5i25.0.gpio.031.out
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.032.in
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.032.in_not
     9  bit   IN          FALSE  hm2_5i25.0.gpio.032.out
     9  bit   OUT          TRUE  hm2_5i25.0.gpio.033.in
     9  bit   OUT         FALSE  hm2_5i25.0.gpio.033.in_not
     9  bit   IN          FALSE  hm2_5i25.0.gpio.033.out
     9  bit   IN          FALSE  hm2_5i25.0.led.CR01
     9  bit   IN          FALSE  hm2_5i25.0.led.CR02
     9  bit   IN          FALSE  hm2_5i25.0.stepgen.00.control-type
     9  s32   OUT             0  hm2_5i25.0.stepgen.00.counts
     9  float OUT             0  hm2_5i25.0.stepgen.00.dbg_err_at_match
     9  float OUT             0  hm2_5i25.0.stepgen.00.dbg_ff_vel
     9  float OUT             0  hm2_5i25.0.stepgen.00.dbg_pos_minus_prev_
     9  float OUT             0  hm2_5i25.0.stepgen.00.dbg_s_to_match
     9  s32   OUT             0  hm2_5i25.0.stepgen.00.dbg_step_rate
     9  float OUT             0  hm2_5i25.0.stepgen.00.dbg_vel_error
     9  bit   IN          FALSE  hm2_5i25.0.stepgen.00.enable <== emcmot.00.enable
     9  float IN              0  hm2_5i25.0.stepgen.00.position-cmd <== emcmot.00.pos-cmd
     9  float OUT             0  hm2_5i25.0.stepgen.00.position-fb ==> motor.00.pos-fb
     9  float IN              0  hm2_5i25.0.stepgen.00.velocity-cmd
     9  float OUT             0  hm2_5i25.0.stepgen.00.velocity-fb
     9  bit   IN          FALSE  hm2_5i25.0.stepgen.01.control-type
     9  s32   OUT             0  hm2_5i25.0.stepgen.01.counts
     9  float OUT             0  hm2_5i25.0.stepgen.01.dbg_err_at_match
     9  float OUT             0  hm2_5i25.0.stepgen.01.dbg_ff_vel
     9  float OUT             0  hm2_5i25.0.stepgen.01.dbg_pos_minus_prev_
     9  float OUT             0  hm2_5i25.0.stepgen.01.dbg_s_to_match
     9  s32   OUT             0  hm2_5i25.0.stepgen.01.dbg_step_rate
     9  float OUT             0  hm2_5i25.0.stepgen.01.dbg_vel_error
     9  bit   IN          FALSE  hm2_5i25.0.stepgen.01.enable <== emcmot.01.enable
     9  float IN              0  hm2_5i25.0.stepgen.01.position-cmd <== emcmot.01.pos-cmd
     9  float OUT             0  hm2_5i25.0.stepgen.01.position-fb ==> motor.01.pos-fb
     9  float IN              0  hm2_5i25.0.stepgen.01.velocity-cmd
     9  float OUT             0  hm2_5i25.0.stepgen.01.velocity-fb
     9  bit   IN          FALSE  hm2_5i25.0.stepgen.02.control-type
     9  s32   OUT             0  hm2_5i25.0.stepgen.02.counts
     9  float OUT             0  hm2_5i25.0.stepgen.02.dbg_err_at_match
     9  float OUT             0  hm2_5i25.0.stepgen.02.dbg_ff_vel
     9  float OUT             0  hm2_5i25.0.stepgen.02.dbg_pos_minus_prev_
     9  float OUT             0  hm2_5i25.0.stepgen.02.dbg_s_to_match
     9  s32   OUT             0  hm2_5i25.0.stepgen.02.dbg_step_rate
     9  float OUT             0  hm2_5i25.0.stepgen.02.dbg_vel_error
     9  bit   IN          FALSE  hm2_5i25.0.stepgen.02.enable <== emcmot.02.enable
     9  float IN              0  hm2_5i25.0.stepgen.02.position-cmd <== emcmot.02.pos-cmd
     9  float OUT             0  hm2_5i25.0.stepgen.02.position-fb ==> motor.02.pos-fb
     9  float IN              0  hm2_5i25.0.stepgen.02.velocity-cmd
     9  float OUT             0  hm2_5i25.0.stepgen.02.velocity-fb
     9  bit   IN          FALSE  hm2_5i25.0.stepgen.03.control-type
     9  s32   OUT             0  hm2_5i25.0.stepgen.03.counts
     9  float OUT             0  hm2_5i25.0.stepgen.03.dbg_err_at_match
     9  float OUT             0  hm2_5i25.0.stepgen.03.dbg_ff_vel
     9  float OUT             0  hm2_5i25.0.stepgen.03.dbg_pos_minus_prev_
     9  float OUT             0  hm2_5i25.0.stepgen.03.dbg_s_to_match
     9  s32   OUT             0  hm2_5i25.0.stepgen.03.dbg_step_rate
     9  float OUT             0  hm2_5i25.0.stepgen.03.dbg_vel_error
     9  bit   IN          FALSE  hm2_5i25.0.stepgen.03.enable
     9  float IN              0  hm2_5i25.0.stepgen.03.position-cmd
     9  float OUT             0  hm2_5i25.0.stepgen.03.position-fb
     9  float IN              0  hm2_5i25.0.stepgen.03.velocity-cmd
     9  float OUT             0  hm2_5i25.0.stepgen.03.velocity-fb
     9  bit   IN          FALSE  hm2_5i25.0.stepgen.04.control-type
     9  s32   OUT             0  hm2_5i25.0.stepgen.04.counts
     9  float OUT             0  hm2_5i25.0.stepgen.04.dbg_err_at_match
     9  float OUT             0  hm2_5i25.0.stepgen.04.dbg_ff_vel
     9  float OUT             0  hm2_5i25.0.stepgen.04.dbg_pos_minus_prev_
     9  float OUT             0  hm2_5i25.0.stepgen.04.dbg_s_to_match
     9  s32   OUT             0  hm2_5i25.0.stepgen.04.dbg_step_rate
     9  float OUT             0  hm2_5i25.0.stepgen.04.dbg_vel_error
     9  bit   IN          FALSE  hm2_5i25.0.stepgen.04.enable
     9  float IN              0  hm2_5i25.0.stepgen.04.position-cmd
     9  float OUT             0  hm2_5i25.0.stepgen.04.position-fb
     9  float IN              0  hm2_5i25.0.stepgen.04.velocity-cmd
     9  float OUT             0  hm2_5i25.0.stepgen.04.velocity-fb
     9  bit   I/O         FALSE  hm2_5i25.0.watchdog.has_bit
     5  bit   OUT         FALSE  iocontrol.0.coolant-flood
     5  bit   OUT         FALSE  iocontrol.0.coolant-mist
     5  bit   IN          FALSE  iocontrol.0.emc-enable-in <== estop-loop
     5  bit   OUT         FALSE  iocontrol.0.lube
     5  bit   IN          FALSE  iocontrol.0.lube_level
     5  bit   OUT         FALSE  iocontrol.0.tool-change ==> tool-change-loop
     5  bit   IN          FALSE  iocontrol.0.tool-changed <== tool-change-loop
     5  s32   OUT             0  iocontrol.0.tool-number
     5  s32   OUT             0  iocontrol.0.tool-prep-number
     5  s32   OUT             0  iocontrol.0.tool-prep-pocket
     5  bit   OUT         FALSE  iocontrol.0.tool-prepare ==> tool-prep-loop
     5  bit   IN          FALSE  iocontrol.0.tool-prepared <== tool-prep-loop
     5  bit   OUT         FALSE  iocontrol.0.user-enable-out ==> estop-loop
     5  bit   OUT         FALSE  iocontrol.0.user-request-enable
     7  float IN              1  motion.adaptive-feed
     7  float IN              0  motion.analog-in-00
     7  float IN              0  motion.analog-in-01
     7  float IN              0  motion.analog-in-02
     7  float IN              0  motion.analog-in-03
     7  float OUT             0  motion.analog-out-00
     7  float OUT             0  motion.analog-out-01
     7  float OUT             0  motion.analog-out-02
     7  float OUT             0  motion.analog-out-03
     7  bit   OUT         FALSE  motion.coord-error
     7  bit   OUT          TRUE  motion.coord-mode
     7  float OUT             0  motion.current-vel
     7  bit   IN          FALSE  motion.digital-in-00
     7  bit   IN          FALSE  motion.digital-in-01
     7  bit   IN          FALSE  motion.digital-in-02
     7  bit   IN          FALSE  motion.digital-in-03
     7  bit   OUT         FALSE  motion.digital-out-00
     7  bit   OUT         FALSE  motion.digital-out-01
     7  bit   OUT         FALSE  motion.digital-out-02
     7  bit   OUT         FALSE  motion.digital-out-03
     7  float OUT             0  motion.distance-to-go
     7  bit   IN           TRUE  motion.enable
     7  bit   IN          FALSE  motion.feed-hold
     7  bit   OUT          TRUE  motion.in-position
     7  bit   IN          FALSE  motion.motion-enabled
     7  bit   OUT         FALSE  motion.on-soft-limit
     7  bit   IN          FALSE  motion.probe-input
     7  s32   OUT             0  motion.program-line
     7  float OUT             0  motion.requested-vel
     7  bit   IN           TRUE  motion.spindle-at-speed
     7  bit   OUT          TRUE  motion.spindle-brake
     7  bit   OUT         FALSE  motion.spindle-forward
     7  bit   I/O         FALSE  motion.spindle-index-enable
     7  bit   OUT         FALSE  motion.spindle-on
     7  bit   OUT         FALSE  motion.spindle-reverse
     7  float IN              0  motion.spindle-revs
     7  float OUT             0  motion.spindle-speed-cmd-rps
     7  float IN              0  motion.spindle-speed-in
     7  float OUT             0  motion.spindle-speed-out
     7  float OUT             0  motion.spindle-speed-out-rps
     7  bit   OUT         FALSE  motion.teleop-mode
     7  float OUT             0  motion.tooloffset.a
     7  float OUT             0  motion.tooloffset.b
     7  float OUT             0  motion.tooloffset.c
     7  float OUT             0  motion.tooloffset.u
     7  float OUT             0  motion.tooloffset.v
     7  float OUT             0  motion.tooloffset.w
     7  float OUT             0  motion.tooloffset.x
     7  float OUT             0  motion.tooloffset.y
     7  float OUT             0  motion.tooloffset.z
Pin Aliases:
 Alias                                      Original Name
Signals:
Type          Value  Name     (linked to)
bit           FALSE  emcmot.00.enable
                         <== axis.0.amp-enable-out
                         ==> hm2_5i25.0.stepgen.00.enable
float             0  emcmot.00.pos-cmd
                         <== axis.0.motor-pos-cmd
                         ==> hm2_5i25.0.stepgen.00.position-cmd
bit           FALSE  emcmot.01.enable
                         <== axis.1.amp-enable-out
                         ==> hm2_5i25.0.stepgen.01.enable
float             0  emcmot.01.pos-cmd
                         <== axis.1.motor-pos-cmd
                         ==> hm2_5i25.0.stepgen.01.position-cmd
bit           FALSE  emcmot.02.enable
                         <== axis.2.amp-enable-out
                         ==> hm2_5i25.0.stepgen.02.enable
float             0  emcmot.02.pos-cmd
                         <== axis.2.motor-pos-cmd
                         ==> hm2_5i25.0.stepgen.02.position-cmd
bit           FALSE  estop-loop
                         ==> iocontrol.0.emc-enable-in
                         <== iocontrol.0.user-enable-out
float             0  motor.00.pos-fb
                         ==> axis.0.motor-pos-fb
                         <== hm2_5i25.0.stepgen.00.position-fb
float             0  motor.01.pos-fb
                         ==> axis.1.motor-pos-fb
                         <== hm2_5i25.0.stepgen.01.position-fb
float             0  motor.02.pos-fb
                         ==> axis.2.motor-pos-fb
                         <== hm2_5i25.0.stepgen.02.position-fb
bit           FALSE  tool-change-loop
                         <== iocontrol.0.tool-change
                         ==> iocontrol.0.tool-changed
bit           FALSE  tool-prep-loop
                         <== iocontrol.0.tool-prepare
                         ==> iocontrol.0.tool-prepared
Parameters:
Owner   Type  Dir         Value  Name
     7  s32   RO              0  axis.0.home-state
     7  s32   RO              0  axis.1.home-state
     7  s32   RO              0  axis.2.home-state
     9  bit   RW          FALSE  hm2_5i25.0.encoder.00.counter-mode
     9  bit   RW           TRUE  hm2_5i25.0.encoder.00.filter
     9  bit   RW          FALSE  hm2_5i25.0.encoder.00.index-invert
     9  bit   RW          FALSE  hm2_5i25.0.encoder.00.index-mask
     9  bit   RW          FALSE  hm2_5i25.0.encoder.00.index-mask-invert
     9  float RW              1  hm2_5i25.0.encoder.00.scale
     9  float RW            0.5  hm2_5i25.0.encoder.00.vel-timeout
     9  bit   RW          FALSE  hm2_5i25.0.gpio.000.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.000.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.001.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.001.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.002.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.002.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.003.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.003.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.004.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.004.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.005.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.005.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.006.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.006.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.007.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.007.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.008.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.008.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.009.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.009.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.010.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.010.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.010.is_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.011.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.011.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.011.is_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.012.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.012.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.012.is_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.013.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.013.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.013.is_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.017.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.017.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.017.is_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.018.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.018.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.018.is_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.019.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.019.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.019.is_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.020.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.020.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.020.is_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.021.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.021.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.021.is_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.022.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.022.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.022.is_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.023.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.023.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.023.is_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.024.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.024.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.024.is_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.025.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.025.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.025.is_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.026.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.026.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.026.is_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.027.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.027.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.027.is_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.028.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.028.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.028.is_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.029.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.029.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.029.is_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.030.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.030.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.030.is_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.031.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.031.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.031.is_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.032.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.032.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.032.is_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.033.invert_output
     9  bit   RW          FALSE  hm2_5i25.0.gpio.033.is_opendrain
     9  bit   RW          FALSE  hm2_5i25.0.gpio.033.is_output
     9  bit   RW          FALSE  hm2_5i25.0.io_error
     9  s32   RO            544  hm2_5i25.0.pet_watchdog.time
     9  s32   RW          25449  hm2_5i25.0.pet_watchdog.tmax
     9  s32   RO          59143  hm2_5i25.0.read.time
     9  s32   RW         110874  hm2_5i25.0.read.tmax
     9  s32   RO              0  hm2_5i25.0.read_gpio.time
     9  s32   RW              0  hm2_5i25.0.read_gpio.tmax
     9  u32   RW     0x000000C8  hm2_5i25.0.stepgen.00.dirhold
     9  u32   RW     0x000000C8  hm2_5i25.0.stepgen.00.dirsetup
     9  float RW             24  hm2_5i25.0.stepgen.00.maxaccel
     9  float RW             12  hm2_5i25.0.stepgen.00.maxvel
     9  float RW           1000  hm2_5i25.0.stepgen.00.position-scale
     9  u32   RW     0x00000000  hm2_5i25.0.stepgen.00.step_type
     9  u32   RW     0x000007D0  hm2_5i25.0.stepgen.00.steplen
     9  u32   RW     0x000007D0  hm2_5i25.0.stepgen.00.stepspace
     9  u32   RW     0x000000C8  hm2_5i25.0.stepgen.01.dirhold
     9  u32   RW     0x000000C8  hm2_5i25.0.stepgen.01.dirsetup
     9  float RW             24  hm2_5i25.0.stepgen.01.maxaccel
     9  float RW             12  hm2_5i25.0.stepgen.01.maxvel
     9  float RW           1000  hm2_5i25.0.stepgen.01.position-scale
     9  u32   RW     0x00000000  hm2_5i25.0.stepgen.01.step_type
     9  u32   RW     0x000007D0  hm2_5i25.0.stepgen.01.steplen
     9  u32   RW     0x000007D0  hm2_5i25.0.stepgen.01.stepspace
     9  u32   RW     0x000000C8  hm2_5i25.0.stepgen.02.dirhold
     9  u32   RW     0x000000C8  hm2_5i25.0.stepgen.02.dirsetup
     9  float RW             24  hm2_5i25.0.stepgen.02.maxaccel
     9  float RW             12  hm2_5i25.0.stepgen.02.maxvel
     9  float RW           1000  hm2_5i25.0.stepgen.02.position-scale
     9  u32   RW     0x00000000  hm2_5i25.0.stepgen.02.step_type
     9  u32   RW     0x000007D0  hm2_5i25.0.stepgen.02.steplen
     9  u32   RW     0x000007D0  hm2_5i25.0.stepgen.02.stepspace
     9  u32   RW     0x00077FE2  hm2_5i25.0.stepgen.03.dirhold
     9  u32   RW     0x00077FE2  hm2_5i25.0.stepgen.03.dirsetup
     9  float RW              1  hm2_5i25.0.stepgen.03.maxaccel
     9  float RW              0  hm2_5i25.0.stepgen.03.maxvel
     9  float RW              1  hm2_5i25.0.stepgen.03.position-scale
     9  u32   RW     0x00000000  hm2_5i25.0.stepgen.03.step_type
     9  u32   RW     0x00077FE2  hm2_5i25.0.stepgen.03.steplen
     9  u32   RW     0x00077FE2  hm2_5i25.0.stepgen.03.stepspace
     9  u32   RW     0x00077FE2  hm2_5i25.0.stepgen.04.dirhold
     9  u32   RW     0x00077FE2  hm2_5i25.0.stepgen.04.dirsetup
     9  float RW              1  hm2_5i25.0.stepgen.04.maxaccel
     9  float RW              0  hm2_5i25.0.stepgen.04.maxvel
     9  float RW              1  hm2_5i25.0.stepgen.04.position-scale
     9  u32   RW     0x00000000  hm2_5i25.0.stepgen.04.step_type
     9  u32   RW     0x00077FE2  hm2_5i25.0.stepgen.04.steplen
     9  u32   RW     0x00077FE2  hm2_5i25.0.stepgen.04.stepspace
     9  u32   RW     0x00989680  hm2_5i25.0.watchdog.timeout_ns
     9  s32   RO          11339  hm2_5i25.0.write.time
     9  s32   RW          54417  hm2_5i25.0.write.tmax
     9  s32   RO              0  hm2_5i25.0.write_gpio.time
     9  s32   RW              0  hm2_5i25.0.write_gpio.tmax
     7  s32   RO            799  motion-command-handler.time
     7  s32   RW          33048  motion-command-handler.tmax
     7  s32   RO          10319  motion-controller.time
     7  s32   RW          58786  motion-controller.tmax
     7  bit   RO          FALSE  motion.debug-bit-0
     7  bit   RO          FALSE  motion.debug-bit-1
     7  float RO              1  motion.debug-float-0
     7  float RO              0  motion.debug-float-1
     7  float RO              0  motion.debug-float-2
     7  float RO              1  motion.debug-float-3
     7  s32   RO              0  motion.debug-s32-0
     7  s32   RO              0  motion.debug-s32-1
     7  u32   RO     0x0033E33E  motion.servo.last-period
     7  float RO        1000189  motion.servo.last-period-ns
     7  u32   RW     0x00000000  motion.servo.overruns
     7  float RO              0  tc.0.acc
     7  float RO              0  tc.0.pos
     7  float RO              0  tc.0.vel
     7  float RO              0  tc.1.acc
     7  float RO              0  tc.1.pos
     7  float RO              0  tc.1.vel
     7  float RO              0  tc.2.acc
     7  float RO              0  tc.2.pos
     7  float RO              0  tc.2.vel
     7  float RO              0  tc.3.acc
     7  float RO              0  tc.3.pos
     7  float RO              0  tc.3.vel
     7  u32   RO     0x00000000  traj.active_tc
     7  float RO              0  traj.pos_out
     7  float RO              0  traj.vel_out
Parameter Aliases:
 Alias                                      Original Name
Exported Functions:
Owner   CodeAddr  Arg       FP   Users  Name
 00009  fa69a582  f4138000  NO       1   hm2_5i25.0.pet_watchdog
 00009  fa68c9dc  f4138000  YES      1   hm2_5i25.0.read
 00009  fa68c906  f4138000  YES      0   hm2_5i25.0.read_gpio
 00009  fa68c936  f4138000  YES      1   hm2_5i25.0.write
 00009  fa68c8d6  f4138000  YES      0   hm2_5i25.0.write_gpio
 00007  fa3af759  00000000  YES      1   motion-command-handler
 00007  fa3b1c7e  00000000  YES      1   motion-controller
Realtime Threads:
     Period  FP     Name               (     Time, Max-Time )
     999925  YES          servo-thread (    82144,   180693 )
                  1 hm2_5i25.0.read
                  2 motion-command-handler
                  3 motion-controller
                  4 hm2_5i25.0.write
                  5 hm2_5i25.0.pet_watchdog
Код: Выделить всё
[HOSTMOT2]
DRIVER=hm2_pci
BOARD=5i25
CONFIG="sserial_port_0=0XXX"
[EMC]
# Name of machine, for use with display, etc.
MACHINE =               7i76
# Debug level, 0 means no messages. See src/emc/nml_int/emcglb.h for others
#DEBUG =                0x00000003
#DEBUG =                0x00000007
DEBUG = 0
[DISPLAY]
# Name of display program, e.g., tkemc
DISPLAY =              axis
# Cycle time, in seconds, that display will sleep between polls
CYCLE_TIME =            0.0500
# Path to help file
HELP_FILE =             tkemc.txt
# Initial display setting for position, RELATIVE or MACHINE
POSITION_OFFSET =       RELATIVE
# Initial display setting for position, COMMANDED or ACTUAL
POSITION_FEEDBACK =     ACTUAL
# Highest value that will be allowed for feed override, 1.0 = 100%
MAX_FEED_OVERRIDE =     1.5
# Prefix to be used
PROGRAM_PREFIX = /home/mesa/linuxcnc/nc_files
INCREMENTS = 1mm .5mm .1mm .05mm .01mm .001mm
# Introductory graphic
INTRO_GRAPHIC =         linuxcnc.gif
INTRO_TIME =            5
[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python
[TASK]
# Name of task controller program, e.g., milltask
TASK =                  milltask
# Cycle time, in seconds, that task controller will sleep between polls
CYCLE_TIME =            0.010
[RS274NGC]
# File containing interpreter variables
PARAMETER_FILE =        7i76.var
[EMCMOT]
EMCMOT =                motmod
# Timeout for comm to emcmot, in seconds
COMM_TIMEOUT =          1.0
# Interval between tries to emcmot, in seconds
COMM_WAIT =             0.010
# Servo task period, in nanoseconds
SERVO_PERIOD =          1000000
[HAL]
# The run script first uses halcmd to execute any HALFILE
# files, and then to execute any individual HALCMD commands.
# list of hal config files to run through halcmd
# files are executed in the order in which they appear
HALFILE =         7i76.hal
POSTGUI_HALFILE = postgui.hal
# list of halcmd commands to execute
# commands are executed in the order in which they appear
#HALCMD =               save neta
[TRAJ]
AXES =                  3
COORDINATES =           X Y Z
#HOME =                  0 0 0
LINEAR_UNITS =          mm
ANGULAR_UNITS =         degree
CYCLE_TIME =            0.010
NO_FORCE_HOMING = 1
[AXIS_0]
# 
# Step timing is 40 us steplen + 40 us stepspace
# That gives 80 us step period = 12.5 KHz step freq
#
# Bah, even software stepping can handle that, hm2 doesnt buy you much with
# such slow steppers.
#
# Scale is 200 steps/rev * 5 revs/inch = 1000 steps/inch
#
# This gives a maxvel of 12.5/1 = 12.5 ips
#
TYPE =              LINEAR
MAX_VELOCITY =       10
MAX_ACCELERATION =   20
# Set Stepgen 20% higher than the axis settings
STEPGEN_MAX_VEL =    12
STEPGEN_MAX_ACC =    24
BACKLASH =           0.000
# scale is 200 steps/rev * 5 revs/inch
SCALE =           1000
MIN_LIMIT =             -10.0
MAX_LIMIT =             10.0
FERROR =     0.050
MIN_FERROR = 0.005
#HOME =                  0.000
#HOME_OFFSET =           0.10
#HOME_SEARCH_VEL =       0.10
#HOME_LATCH_VEL =        -0.01
#HOME_USE_INDEX =        YES
#HOME_IGNORE_LIMITS =    YES
# these are in nanoseconds
DIRSETUP   =              200
DIRHOLD    =              200
STEPLEN    =              2000
STEPSPACE  =              2000
[AXIS_1]
TYPE =              LINEAR
MAX_VELOCITY =       10
MAX_ACCELERATION =   20
# Set Stepgen 20% higher than the axis settings
STEPGEN_MAX_VEL =    12
STEPGEN_MAX_ACC =    24
BACKLASH =           0.000
SCALE = 1000
MIN_LIMIT =             -10.0
MAX_LIMIT =             10.0
FERROR =     0.050
MIN_FERROR = 0.005
#HOME =                  0.000
#HOME_OFFSET =           0.10
#HOME_SEARCH_VEL =       0.10
#HOME_LATCH_VEL =        -0.01
#HOME_USE_INDEX =        YES
#HOME_IGNORE_LIMITS =    YES
# these are in nanoseconds
DIRSETUP   =              200
DIRHOLD    =              200
STEPLEN    =              2000
STEPSPACE  =              2000
[AXIS_2]
TYPE =              LINEAR
MAX_VELOCITY =      10
MAX_ACCELERATION =  20
# Set Stepgen 20% higher than the axis settings
STEPGEN_MAX_VEL =   12
STEPGEN_MAX_ACC =   24
BACKLASH =           0.000
SCALE = 1000
MIN_LIMIT =             -10.0
MAX_LIMIT =             10.0
FERROR =     0.050
MIN_FERROR = 0.005
#HOME =                  0.000
#HOME_OFFSET =           0.10
#HOME_SEARCH_VEL =       0.10
#HOME_LATCH_VEL =        -0.01
#HOME_USE_INDEX =        YES
#HOME_IGNORE_LIMITS =    YES
# these are in nanoseconds
DIRSETUP   =              200
DIRHOLD    =              200
STEPLEN    =              2000
STEPSPACE  =              2000
[EMCIO]
# Name of IO controller program, e.g., io
EMCIO =                 io
# cycle time, in seconds
CYCLE_TIME =            0.100
# tool table file
TOOL_TABLE =            tool.tbl
Код: Выделить всё
# #######################################
#
# HAL file for HostMot2 with 3 steppers
#
# Derived from Ted Hyde's original hm2-servo config
#
# Based up work and discussion with Seb & Peter & Jeff
# GNU license references - insert here. www.linuxcnc.org
#
#
# ########################################
# Firmware files are in /lib/firmware/hm2/7i43/
# Must symlink the hostmot2 firmware directory of sanbox to
# /lib/firmware before running EMC2...
# sudo ln -s $HOME/emc2-sandbox/src/hal/drivers/mesa-hostmot2/firmware /lib/firmware/hm2
#
# See also:
# <http://www.linuxcnc.org/docs/devel/html/man/man9/hostmot2.9.html#config%20modparam>
# and http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?HostMot2
#
# #####################################################################
# ###################################
# Core EMC/HAL Loads
# ###################################
# kinematics
loadrt trivkins
# motion controller, get name and thread periods from ini file
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
# only the 7i43 needs this, but it doesnt hurt the others
# loadrt probe_parport
# hostmot2 driver
loadrt hostmot2
# load low-level driver
loadrt [HOSTMOT2](DRIVER) config=[HOSTMOT2](CONFIG)
setp hm2_[HOSTMOT2](BOARD).0.watchdog.timeout_ns 10000000
# ################################################
# THREADS
# ################################################
addf hm2_[HOSTMOT2](BOARD).0.read         servo-thread
addf motion-command-handler               servo-thread
addf motion-controller                    servo-thread
addf hm2_[HOSTMOT2](BOARD).0.write        servo-thread
addf hm2_[HOSTMOT2](BOARD).0.pet_watchdog servo-thread
       
# ######################################################
# Axis-of-motion Specific Configs (not the GUI)
# ######################################################
# ################
# X [0] Axis
# ################
# axis enable chain
newsig emcmot.00.enable bit
sets emcmot.00.enable FALSE
net emcmot.00.enable <= axis.0.amp-enable-out 
net emcmot.00.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.00.enable
# position command and feedback
net emcmot.00.pos-cmd <= axis.0.motor-pos-cmd
net emcmot.00.pos-cmd => hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-cmd
net motor.00.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-fb
net motor.00.pos-fb => axis.0.motor-pos-fb
# timing parameters
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.dirsetup        [AXIS_0]DIRSETUP
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.dirhold         [AXIS_0]DIRHOLD
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.steplen         [AXIS_0]STEPLEN
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.stepspace       [AXIS_0]STEPSPACE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-scale  [AXIS_0]SCALE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.maxvel          [AXIS_0]STEPGEN_MAX_VEL
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.maxaccel        [AXIS_0]STEPGEN_MAX_ACC
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.step_type       0
# ################
# Y [1] Axis
# ################
# axis enable chain
newsig emcmot.01.enable bit
sets emcmot.01.enable FALSE
net emcmot.01.enable <= axis.1.amp-enable-out 
net emcmot.01.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.01.enable
# position command and feedback
net emcmot.01.pos-cmd <= axis.1.motor-pos-cmd
net emcmot.01.pos-cmd => hm2_[HOSTMOT2](BOARD).0.stepgen.01.position-cmd
net motor.01.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.01.position-fb
net motor.01.pos-fb => axis.1.motor-pos-fb
# timing parameters
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.dirsetup        [AXIS_1]DIRSETUP
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.dirhold         [AXIS_1]DIRHOLD
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.steplen         [AXIS_1]STEPLEN
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.stepspace       [AXIS_1]STEPSPACE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.position-scale  [AXIS_1]SCALE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.maxvel          [AXIS_1]STEPGEN_MAX_VEL
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.maxaccel        [AXIS_1]STEPGEN_MAX_ACC
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.step_type       0
# ################
# Z [2] Axis
# ################
# axis enable chain
newsig emcmot.02.enable bit
sets emcmot.02.enable FALSE
net emcmot.02.enable <= axis.2.amp-enable-out 
net emcmot.02.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.02.enable
# position command and feedback
net emcmot.02.pos-cmd <= axis.2.motor-pos-cmd
net emcmot.02.pos-cmd => hm2_[HOSTMOT2](BOARD).0.stepgen.02.position-cmd
net motor.02.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.02.position-fb
net motor.02.pos-fb => axis.2.motor-pos-fb
# timing parameters
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.dirsetup        [AXIS_2]DIRSETUP
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.dirhold         [AXIS_2]DIRHOLD
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.steplen         [AXIS_2]STEPLEN
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.stepspace       [AXIS_2]STEPSPACE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.position-scale  [AXIS_2]SCALE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.maxvel          [AXIS_2]STEPGEN_MAX_VEL
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.maxaccel        [AXIS_2]STEPGEN_MAX_ACC
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.step_type       0
# 
# The Mesa AnyIO output pins can be in open-drain mode (drive low, float
# high) or push/pull mode (drive low, drive high).
#
# When a logical output is 1 in open-drain mode, the FPGA lets the pin
# float and it gets pulled high to +5V via a 10K resistor.
#
# When a logical output is 1 in push/pull mode, the FPGA pushes the pin
# high but only to +3.3V.  This is problematic on some kinds of inputs.
#
#setp hm2_[HOSTMOT2](BOARD).0.gpio.048.is_opendrain 1
#setp hm2_[HOSTMOT2](BOARD).0.gpio.049.is_opendrain 1
#setp hm2_[HOSTMOT2](BOARD).0.gpio.054.is_opendrain 1
#setp hm2_[HOSTMOT2](BOARD).0.gpio.055.is_opendrain 1
#setp hm2_[HOSTMOT2](BOARD).0.gpio.060.is_opendrain 1
#setp hm2_[HOSTMOT2](BOARD).0.gpio.061.is_opendrain 1
# ##################################################
# Standard I/O Block - EStop, Etc
# ##################################################
# create a signal for the estop loopback
net estop-loop iocontrol.0.user-enable-out => iocontrol.0.emc-enable-in
# create signals for tool loading loopback
net tool-prep-loop iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
net tool-change-loop iocontrol.0.tool-change => iocontrol.0.tool-changed

