halrun
loadrt hostmot2
loadrt hm2_pci
show pin
Owner Type Dir Value Name
7 s32 OUT 0 hm2_5i25.0.0.debug
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-00
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-00-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-01
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-01-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-02
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-02-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-03
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-03-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-04
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-04-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-05
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-05-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-06
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-06-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-07
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-07-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-08
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-08-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-09
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-09-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-10
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-10-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-11
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-11-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-12
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-12-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-13
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-13-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-14
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-14-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-15
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-15-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-16
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-16-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-17
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-17-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-18
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-18-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-19
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-19-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-20
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-20-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-21
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-21-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-22
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-22-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-23
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-23-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-24
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-24-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-25
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-25-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-26
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-26-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-27
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-27-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-28
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-28-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-29
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-29-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-30
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-30-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-31
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-31-not
(7i76 - 16 outputs):
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-01
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-02
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-03
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-04
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-05
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-06
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-07
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-08
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-09
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-10
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-11
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-12
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-13
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-14
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-15
7 bit IN FALSE hm2_5i25.0.7i76.0.0.spindir
7 bit IN FALSE hm2_5i25.0.7i76.0.0.spinena
7 float IN 0 hm2_5i25.0.7i76.0.0.spinout
(Encoders - there seem to be 6??):
7 s32 OUT 0 hm2_5i25.0.encoder.00.count-latched
7 bit I/O FALSE hm2_5i25.0.encoder.00.index-enable
7 bit OUT FALSE hm2_5i25.0.encoder.00.input-a
7 bit OUT FALSE hm2_5i25.0.encoder.00.input-b
7 bit OUT TRUE hm2_5i25.0.encoder.00.input-index
7 bit IN FALSE hm2_5i25.0.encoder.00.latch-enable
7 bit IN FALSE hm2_5i25.0.encoder.00.latch-polarity
7 float OUT 0 hm2_5i25.0.encoder.00.position
7 float OUT 0 hm2_5i25.0.encoder.00.position-latched
7 bit OUT FALSE hm2_5i25.0.encoder.00.quad-error
7 bit IN FALSE hm2_5i25.0.encoder.00.quad-error-enable
7 s32 OUT 0 hm2_5i25.0.encoder.00.rawcounts
7 s32 OUT 0 hm2_5i25.0.encoder.00.rawlatch
7 bit IN FALSE hm2_5i25.0.encoder.00.reset
7 float OUT 0 hm2_5i25.0.encoder.00.velocity
7 float OUT 0 hm2_5i25.0.encoder.00.velocity-rpm
7 s32 OUT 0 hm2_5i25.0.encoder.01.count
7 s32 OUT 0 hm2_5i25.0.encoder.01.count-latched
7 bit I/O FALSE hm2_5i25.0.encoder.01.index-enable
7 bit OUT FALSE hm2_5i25.0.encoder.01.input-a
7 bit OUT FALSE hm2_5i25.0.encoder.01.input-b
7 bit OUT TRUE hm2_5i25.0.encoder.01.input-index
7 bit IN FALSE hm2_5i25.0.encoder.01.latch-enable
7 bit IN FALSE hm2_5i25.0.encoder.01.latch-polarity
7 float OUT 0 hm2_5i25.0.encoder.01.position
7 float OUT 0 hm2_5i25.0.encoder.01.position-latched
7 bit OUT FALSE hm2_5i25.0.encoder.01.quad-error
7 bit IN FALSE hm2_5i25.0.encoder.01.quad-error-enable
7 s32 OUT 0 hm2_5i25.0.encoder.01.rawcounts
7 s32 OUT 0 hm2_5i25.0.encoder.01.rawlatch
7 bit IN FALSE hm2_5i25.0.encoder.01.reset
7 float OUT 0 hm2_5i25.0.encoder.01.velocity
7 float OUT 0 hm2_5i25.0.encoder.01.velocity-rpm
7 s32 OUT 0 hm2_5i25.0.encoder.02.count
7 s32 OUT 0 hm2_5i25.0.encoder.02.count-latched
7 bit I/O FALSE hm2_5i25.0.encoder.02.index-enable
7 bit OUT TRUE hm2_5i25.0.encoder.02.input-a
7 bit OUT TRUE hm2_5i25.0.encoder.02.input-b
7 bit OUT FALSE hm2_5i25.0.encoder.02.input-index
7 bit IN FALSE hm2_5i25.0.encoder.02.latch-enable
7 bit IN FALSE hm2_5i25.0.encoder.02.latch-polarity
7 float OUT 0 hm2_5i25.0.encoder.02.position
7 float OUT 0 hm2_5i25.0.encoder.02.position-latched
7 bit OUT FALSE hm2_5i25.0.encoder.02.quad-error
7 bit IN FALSE hm2_5i25.0.encoder.02.quad-error-enable
7 s32 OUT 0 hm2_5i25.0.encoder.02.rawcounts
7 s32 OUT 0 hm2_5i25.0.encoder.02.rawlatch
7 bit IN FALSE hm2_5i25.0.encoder.02.reset
7 float OUT 0 hm2_5i25.0.encoder.02.velocity
7 float OUT 0 hm2_5i25.0.encoder.02.velocity-rpm
7 s32 OUT 0 hm2_5i25.0.encoder.03.count
7 s32 OUT 0 hm2_5i25.0.encoder.03.count-latched
7 bit I/O FALSE hm2_5i25.0.encoder.03.index-enable
7 bit OUT TRUE hm2_5i25.0.encoder.03.input-a
7 bit OUT TRUE hm2_5i25.0.encoder.03.input-b
7 bit OUT FALSE hm2_5i25.0.encoder.03.input-index
7 bit IN FALSE hm2_5i25.0.encoder.03.latch-enable
7 bit IN FALSE hm2_5i25.0.encoder.03.latch-polarity
7 float OUT 0 hm2_5i25.0.encoder.03.position
7 float OUT 0 hm2_5i25.0.encoder.03.position-latched
7 bit OUT FALSE hm2_5i25.0.encoder.03.quad-error
7 bit IN FALSE hm2_5i25.0.encoder.03.quad-error-enable
7 s32 OUT 0 hm2_5i25.0.encoder.03.rawcounts
7 s32 OUT 0 hm2_5i25.0.encoder.03.rawlatch
7 bit IN FALSE hm2_5i25.0.encoder.03.reset
7 float OUT 0 hm2_5i25.0.encoder.03.velocity
7 float OUT 0 hm2_5i25.0.encoder.03.velocity-rpm
7 s32 OUT 0 hm2_5i25.0.encoder.04.count
7 s32 OUT 0 hm2_5i25.0.encoder.04.count-latched
7 bit I/O FALSE hm2_5i25.0.encoder.04.index-enable
7 bit OUT TRUE hm2_5i25.0.encoder.04.input-a
7 bit OUT TRUE hm2_5i25.0.encoder.04.input-b
7 bit OUT FALSE hm2_5i25.0.encoder.04.input-index
7 bit IN FALSE hm2_5i25.0.encoder.04.latch-enable
7 bit IN FALSE hm2_5i25.0.encoder.04.latch-polarity
7 float OUT 0 hm2_5i25.0.encoder.04.position
7 float OUT 0 hm2_5i25.0.encoder.04.position-latched
7 bit OUT FALSE hm2_5i25.0.encoder.04.quad-error
7 bit IN FALSE hm2_5i25.0.encoder.04.quad-error-enable
7 s32 OUT 0 hm2_5i25.0.encoder.04.rawcounts
7 s32 OUT 0 hm2_5i25.0.encoder.04.rawlatch
7 bit IN FALSE hm2_5i25.0.encoder.04.reset
7 float OUT 0 hm2_5i25.0.encoder.04.velocity
7 float OUT 0 hm2_5i25.0.encoder.04.velocity-rpm
7 s32 OUT 0 hm2_5i25.0.encoder.05.count
7 s32 OUT 0 hm2_5i25.0.encoder.05.count-latched
7 bit I/O FALSE hm2_5i25.0.encoder.05.index-enable
7 bit OUT TRUE hm2_5i25.0.encoder.05.input-a
7 bit OUT TRUE hm2_5i25.0.encoder.05.input-b
7 bit OUT FALSE hm2_5i25.0.encoder.05.input-index
7 bit IN FALSE hm2_5i25.0.encoder.05.latch-enable
7 bit IN FALSE hm2_5i25.0.encoder.05.latch-polarity
7 float OUT 0 hm2_5i25.0.encoder.05.position
7 float OUT 0 hm2_5i25.0.encoder.05.position-latched
7 bit OUT FALSE hm2_5i25.0.encoder.05.quad-error
7 bit IN FALSE hm2_5i25.0.encoder.05.quad-error-enable
7 s32 OUT 0 hm2_5i25.0.encoder.05.rawcounts
7 s32 OUT 0 hm2_5i25.0.encoder.05.rawlatch
7 bit IN FALSE hm2_5i25.0.encoder.05.reset
7 float OUT 0 hm2_5i25.0.encoder.05.velocity
7 float OUT 0 hm2_5i25.0.encoder.05.velocity-rpm
7 u32 IN 0x007F2815 hm2_5i25.0.encoder.muxed-sample-frequency
7 bit OUT FALSE hm2_5i25.0.gpio.000.in
7 bit OUT TRUE hm2_5i25.0.gpio.000.in_not
7 bit OUT FALSE hm2_5i25.0.gpio.001.in
7 bit OUT TRUE hm2_5i25.0.gpio.001.in_not
7 bit OUT FALSE hm2_5i25.0.gpio.002.in
7 bit OUT TRUE hm2_5i25.0.gpio.002.in_not
7 bit OUT FALSE hm2_5i25.0.gpio.003.in
7 bit OUT TRUE hm2_5i25.0.gpio.003.in_not
7 bit OUT FALSE hm2_5i25.0.gpio.004.in
7 bit OUT TRUE hm2_5i25.0.gpio.004.in_not
7 bit OUT FALSE hm2_5i25.0.gpio.005.in
7 bit OUT TRUE hm2_5i25.0.gpio.005.in_not
7 bit OUT FALSE hm2_5i25.0.gpio.006.in
7 bit OUT TRUE hm2_5i25.0.gpio.006.in_not
7 bit OUT FALSE hm2_5i25.0.gpio.007.in
7 bit OUT TRUE hm2_5i25.0.gpio.007.in_not
7 bit OUT FALSE hm2_5i25.0.gpio.008.in
7 bit OUT TRUE hm2_5i25.0.gpio.008.in_not
7 bit OUT FALSE hm2_5i25.0.gpio.009.in
7 bit OUT TRUE hm2_5i25.0.gpio.009.in_not
7 bit OUT TRUE hm2_5i25.0.gpio.010.in
7 bit OUT FALSE hm2_5i25.0.gpio.010.in_not
7 bit OUT TRUE hm2_5i25.0.gpio.011.in
7 bit OUT FALSE hm2_5i25.0.gpio.011.in_not
7 bit OUT TRUE hm2_5i25.0.gpio.012.in
7 bit OUT FALSE hm2_5i25.0.gpio.012.in_not
7 bit IN FALSE hm2_5i25.0.gpio.012.out
7 bit OUT TRUE hm2_5i25.0.gpio.013.in
7 bit OUT FALSE hm2_5i25.0.gpio.013.in_not
7 bit IN FALSE hm2_5i25.0.gpio.013.out
7 bit OUT FALSE hm2_5i25.0.gpio.014.in
7 bit OUT TRUE hm2_5i25.0.gpio.014.in_not
7 bit OUT FALSE hm2_5i25.0.gpio.015.in
7 bit OUT TRUE hm2_5i25.0.gpio.015.in_not
7 bit OUT FALSE hm2_5i25.0.gpio.016.in
7 bit OUT TRUE hm2_5i25.0.gpio.016.in_not
7 bit OUT TRUE hm2_5i25.0.gpio.017.in
7 bit OUT FALSE hm2_5i25.0.gpio.017.in_not
7 bit IN FALSE hm2_5i25.0.gpio.017.out
7 bit OUT TRUE hm2_5i25.0.gpio.018.in
7 bit OUT FALSE hm2_5i25.0.gpio.018.in_not
7 bit IN FALSE hm2_5i25.0.gpio.018.out
7 bit OUT TRUE hm2_5i25.0.gpio.019.in
7 bit OUT FALSE hm2_5i25.0.gpio.019.in_not
7 bit IN FALSE hm2_5i25.0.gpio.019.out
7 bit OUT TRUE hm2_5i25.0.gpio.020.in
7 bit OUT FALSE hm2_5i25.0.gpio.020.in_not
7 bit IN FALSE hm2_5i25.0.gpio.020.out
7 bit OUT TRUE hm2_5i25.0.gpio.021.in
7 bit OUT FALSE hm2_5i25.0.gpio.021.in_not
7 bit IN FALSE hm2_5i25.0.gpio.021.out
7 bit OUT TRUE hm2_5i25.0.gpio.022.in
7 bit OUT FALSE hm2_5i25.0.gpio.022.in_not
7 bit IN FALSE hm2_5i25.0.gpio.022.out
7 bit OUT TRUE hm2_5i25.0.gpio.023.in
7 bit OUT FALSE hm2_5i25.0.gpio.023.in_not
7 bit IN FALSE hm2_5i25.0.gpio.023.out
7 bit OUT TRUE hm2_5i25.0.gpio.024.in
7 bit OUT FALSE hm2_5i25.0.gpio.024.in_not
7 bit IN FALSE hm2_5i25.0.gpio.024.out
7 bit OUT TRUE hm2_5i25.0.gpio.025.in
7 bit OUT FALSE hm2_5i25.0.gpio.025.in_not
7 bit IN FALSE hm2_5i25.0.gpio.025.out
7 bit OUT TRUE hm2_5i25.0.gpio.026.in
7 bit OUT FALSE hm2_5i25.0.gpio.026.in_not
7 bit IN FALSE hm2_5i25.0.gpio.026.out
7 bit OUT FALSE hm2_5i25.0.gpio.027.in
7 bit OUT TRUE hm2_5i25.0.gpio.027.in_not
7 bit OUT TRUE hm2_5i25.0.gpio.028.in
7 bit OUT FALSE hm2_5i25.0.gpio.028.in_not
7 bit OUT TRUE hm2_5i25.0.gpio.029.in
7 bit OUT FALSE hm2_5i25.0.gpio.029.in_not
7 bit OUT TRUE hm2_5i25.0.gpio.030.in
7 bit OUT FALSE hm2_5i25.0.gpio.030.in_not
7 bit OUT TRUE hm2_5i25.0.gpio.031.in
7 bit OUT FALSE hm2_5i25.0.gpio.031.in_not
7 bit OUT TRUE hm2_5i25.0.gpio.032.in
7 bit OUT FALSE hm2_5i25.0.gpio.032.in_not
7 bit OUT TRUE hm2_5i25.0.gpio.033.in
7 bit OUT FALSE hm2_5i25.0.gpio.033.in_not
(Various):
7 bit IN FALSE hm2_5i25.0.led.CR02
7 s32 OUT 0 hm2_5i25.0.read.time
7 s32 OUT 0 hm2_5i25.0.read_gpio.time
7 u32 OUT 0x00000000 hm2_5i25.0.sserial.port-0.fault-count
7 u32 OUT 0x00000000 hm2_5i25.0.sserial.port-0.port_state
7 u32 OUT 0x00000000 hm2_5i25.0.sserial.port-0.port_state2
7 u32 OUT 0x00000000 hm2_5i25.0.sserial.port-0.port_state3
7 bit IN TRUE hm2_5i25.0.sserial.port-0.run
7 bit IN FALSE hm2_5i25.0.stepgen.00.control-type
7 s32 OUT 0 hm2_5i25.0.stepgen.00.counts
7 float OUT 0 hm2_5i25.0.stepgen.00.dbg_err_at_match
7 float OUT 0 hm2_5i25.0.stepgen.00.dbg_ff_vel
7 float OUT 0 hm2_5i25.0.stepgen.00.dbg_pos_minus_prev_cmd
7 float OUT 0 hm2_5i25.0.stepgen.00.dbg_s_to_match
7 s32 OUT 0 hm2_5i25.0.stepgen.00.dbg_step_rate
7 float OUT 0 hm2_5i25.0.stepgen.00.dbg_vel_error
7 bit IN FALSE hm2_5i25.0.stepgen.00.enable
7 float IN 0 hm2_5i25.0.stepgen.00.position-cmd
7 float OUT 0 hm2_5i25.0.stepgen.00.position-fb
7 float IN 0 hm2_5i25.0.stepgen.00.velocity-cmd
7 float OUT 0 hm2_5i25.0.stepgen.00.velocity-fb
7 bit IN FALSE hm2_5i25.0.stepgen.01.control-type
7 s32 OUT 0 hm2_5i25.0.stepgen.01.counts
7 float OUT 0 hm2_5i25.0.stepgen.01.dbg_err_at_match
7 float OUT 0 hm2_5i25.0.stepgen.01.dbg_ff_vel
7 float OUT 0 hm2_5i25.0.stepgen.01.dbg_pos_minus_prev_cmd
7 float OUT 0 hm2_5i25.0.stepgen.01.dbg_s_to_match
7 s32 OUT 0 hm2_5i25.0.stepgen.01.dbg_step_rate
7 float OUT 0 hm2_5i25.0.stepgen.01.dbg_vel_error
7 bit IN FALSE hm2_5i25.0.stepgen.01.enable
7 float IN 0 hm2_5i25.0.stepgen.01.position-cmd
7 float OUT 0 hm2_5i25.0.stepgen.01.position-fb
7 float IN 0 hm2_5i25.0.stepgen.01.velocity-cmd
7 float OUT 0 hm2_5i25.0.stepgen.01.velocity-fb
7 bit IN FALSE hm2_5i25.0.stepgen.02.control-type
7 s32 OUT 0 hm2_5i25.0.stepgen.02.counts
7 float OUT 0 hm2_5i25.0.stepgen.02.dbg_err_at_match
7 float OUT 0 hm2_5i25.0.stepgen.02.dbg_ff_vel
7 float OUT 0 hm2_5i25.0.stepgen.02.dbg_pos_minus_prev_cmd
7 float OUT 0 hm2_5i25.0.stepgen.02.dbg_s_to_match
7 s32 OUT 0 hm2_5i25.0.stepgen.02.dbg_step_rate
7 float OUT 0 hm2_5i25.0.stepgen.02.dbg_vel_error
7 bit IN FALSE hm2_5i25.0.stepgen.02.enable
7 float IN 0 hm2_5i25.0.stepgen.02.position-cmd
7 float OUT 0 hm2_5i25.0.stepgen.02.position-fb
7 float IN 0 hm2_5i25.0.stepgen.02.velocity-cmd
7 float OUT 0 hm2_5i25.0.stepgen.02.velocity-fb
7 bit IN FALSE hm2_5i25.0.stepgen.03.control-type
7 s32 OUT 0 hm2_5i25.0.stepgen.03.counts
7 float OUT 0 hm2_5i25.0.stepgen.03.dbg_err_at_match
7 float OUT 0 hm2_5i25.0.stepgen.03.dbg_ff_vel
7 float OUT 0 hm2_5i25.0.stepgen.03.dbg_pos_minus_prev_cmd
7 float OUT 0 hm2_5i25.0.stepgen.03.dbg_s_to_match
7 s32 OUT 0 hm2_5i25.0.stepgen.03.dbg_step_rate
7 float OUT 0 hm2_5i25.0.stepgen.03.dbg_vel_error
7 bit IN FALSE hm2_5i25.0.stepgen.03.enable
7 float IN 0 hm2_5i25.0.stepgen.03.position-cmd
7 float OUT 0 hm2_5i25.0.stepgen.03.position-fb
7 float IN 0 hm2_5i25.0.stepgen.03.velocity-cmd
7 float OUT 0 hm2_5i25.0.stepgen.03.velocity-fb
7 bit IN FALSE hm2_5i25.0.stepgen.04.control-type
7 s32 OUT 0 hm2_5i25.0.stepgen.04.counts
7 float OUT 0 hm2_5i25.0.stepgen.04.dbg_err_at_match
7 float OUT 0 hm2_5i25.0.stepgen.04.dbg_ff_vel
7 float OUT 0 hm2_5i25.0.stepgen.04.dbg_pos_minus_prev_cmd
7 float OUT 0 hm2_5i25.0.stepgen.04.dbg_s_to_match
7 s32 OUT 0 hm2_5i25.0.stepgen.04.dbg_step_rate
7 float OUT 0 hm2_5i25.0.stepgen.04.dbg_vel_error
7 bit IN FALSE hm2_5i25.0.stepgen.04.enable
7 float IN 0 hm2_5i25.0.stepgen.04.position-cmd
7 float OUT 0 hm2_5i25.0.stepgen.04.position-fb
7 float IN 0 hm2_5i25.0.stepgen.04.velocity-cmd
7 float OUT 0 hm2_5i25.0.stepgen.04.velocity-fb
7 bit I/O FALSE hm2_5i25.0.watchdog.has_bit
7 s32 OUT 0 hm2_5i25.0.write.time
7 s32 OUT 0 hm2_5i25.0.write_gpio.time
WTF?? I wasn't expecting to see so many encoders and GPIO. It looks like 12 GPIO inputs and 22(?) GPIO outputs. And apparently 6 encoders?
No, mate. No. Not quite.
Those First 2 are actually the 7i76 encoder - plus a dummy (encoders 0 & 1). Then we have 4 actual encoder channels in the 7i85 (encoders 2, 3 &4. Apparently, encoder channels are multiplexed in pairs back to the FPGA in the 5i25.
Furthermore, the GPIO pins are reported, even though they are already allocated to the encoders, RS-422 channels etc.
A better way to report how the daughtercards are set up is to give it some of this:
IO Connections for P3
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir
1 0 IOPort StepGen 0 Dir/Table2 (Out)
14 1 IOPort StepGen 0 Step/Table1 (Out)
2 2 IOPort StepGen 1 Dir/Table2 (Out)
15 3 IOPort StepGen 1 Step/Table1 (Out)
3 4 IOPort StepGen 2 Dir/Table2 (Out)
16 5 IOPort StepGen 2 Step/Table1 (Out)
4 6 IOPort StepGen 3 Dir/Table2 (Out)
17 7 IOPort StepGen 3 Step/Table1 (Out)
5 8 IOPort StepGen 4 Dir/Table2 (Out)
6 9 IOPort StepGen 4 Step/Table1 (Out)
7 10 IOPort SSerial 0 TXData0 (Out)
8 11 IOPort SSerial 0 RXData0 (In)
9 12 IOPort SSerial 0 TXData1 (Out)
10 13 IOPort SSerial 0 RXData1 (In)
11 14 IOPort MuxedQCount 0 MuxQ-IDX (In)
12 15 IOPort MuxedQCount 0 MuxQ-B (In)
13 16 IOPort MuxedQCount 0 MuxQ-A (In)
IO Connections for P2
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir
1 17 IOPort SSerial 0 RXData6 (In)
14 18 IOPort SSerial 0 TXData6 (Out)
2 19 IOPort SSerial 0 RXData5 (In)
15 20 IOPort SSerial 0 TXData5 (Out)
3 21 IOPort SSerial 0 RXData4 (In)
16 22 IOPort SSerial 0 TXData4 (Out)
4 23 IOPort SSerial 0 RXData3 (In)
17 24 IOPort SSerial 0 TXData3 (Out)
5 25 IOPort SSerial 0 RXData2 (In)
6 26 IOPort SSerial 0 TXData2 (Out)
7 27 IOPort MuxedQCountSel 2 MuxSel0 (Out)
8 28 IOPort MuxedQCount 1 MuxQ-A (In)
9 29 IOPort MuxedQCount 1 MuxQ-B (In)
10 30 IOPort MuxedQCount 1 MuxQ-IDX (In)
11 31 IOPort MuxedQCount 2 MuxQ-A (In)
12 32 IOPort MuxedQCount 2 MuxQ-B (In)
13 33 IOPort MuxedQCount 2 MuxQ-IDX (In)
Muxed encoders share a set of pins for 2 encoders
So
Muxed encoder 0 on the 7I76 = hal encoders 0 and 1 (1 is a dummy)
Muxed encoders 1 and 2 on the 7I85 = hal encoders 2,3,4,5"
Sort of makes sense now!
So - what to do?
Something like this? The X.....
# ---Encoder feedback signals/setup---
setp hm2_7i76e.0.encoder.02.counter-mode 0
setp hm2_7i76e.0.encoder.02.filter 1
setp hm2_7i76e.0.encoder.02.index-invert 0
setp hm2_7i76e.0.encoder.02.index-mask 0
setp hm2_7i76e.0.encoder.02.index-mask-invert 0
setp hm2_7i76e.0.encoder.02.scale [JOINT_0]ENCODER_SCALE
net x-pos-fb <= hm2_7i76e.0.encoder.02.position
net x-vel-fb <= hm2_7i76e.0.encoder.02.velocity
net x-pos-fb => joint.0.motor-pos-fb
net x-index-enable joint.0.index-enable <=> hm2_7i76e.0.encoder.02.index-enable
net x-pos-rawcounts <= hm2_7i76e.0.encoder.02.rawcounts
...and the corresponding Y?
# ---Encoder feedback signals/setup---
setp hm2_7i76e.0.encoder.01.counter-mode 0
setp hm2_7i76e.0.encoder.01.filter 1
setp hm2_7i76e.0.encoder.01.index-invert 0
setp hm2_7i76e.0.encoder.01.index-mask 0
setp hm2_7i76e.0.encoder.01.index-mask-invert 0
setp hm2_7i76e.0.encoder.01.scale [JOINT_1]ENCODER_SCALE
net y-pos-fb <= hm2_7i76e.0.encoder.01.position
net y-vel-fb <= hm2_7i76e.0.encoder.01.velocity
net y-pos-fb => joint.1.motor-pos-fb
net y-index-enable joint.1.index-enable <=> hm2_7i76e.0.encoder.01.index-enable
net y-pos-rawcounts <= hm2_7i76e.0.encoder.01.rawcounts
Or this (X)?
# ---Encoder feedback signals/setup---
setp hm2_7i76e.0.encoder.01.counter-mode 0
setp hm2_7i76e.0.encoder.01.filter 1
setp hm2_7i76e.0.encoder.01.index-invert 0
setp hm2_7i76e.0.encoder.01.index-mask 0
setp hm2_7i76e.0.encoder.01.index-mask-invert 0
setp hm2_7i76e.0.encoder.01.scale [JOINT_0]ENCODER_SCALE
net x-pos-fb <= hm2_7i76e.0.encoder.01.position
net x-vel-fb <= hm2_7i76e.0.encoder.01.velocity
net x-pos-fb => joint.0.motor-pos-fb
net x-index-enable joint.0.index-enable <=> hm2_7i76e.0.encoder.01.index-enablenet x-pos-rawcounts <= hm2_7i76e.0.encoder.01.rawcounts
With encoder off:
#net x-pos-fb <= hm2_7i95.0.encoder.00.position # Encoderpostion to PIN x-pos-fb
net x-pos-fb <= hm2_7i95.0.stepgen.00.position-fb # Stepgenposition to PIN x-pos-fb
Then compare encoder position and step position. They have to be the same if not adjust your scale parameters. Verify the whole thing with a dial indicator.
Other things. Your servo and amplifier already have their own control loop with KP parameter. It is a good idea to tune this control loop and keep KP in linuxcnc as low as possible.
Finally turn on your scale and it will work.
The following error can be found in joint.0.f-error or using halscope."
# Default FB from stepgen:
net x-pos-fb <= hm2_5i25.0.stepgen.00.position-fb # Stepgenposition to PIN x-pos-fb
# Alternative FB from encoder:
# net x-pos-fb <= hm2_5i25.0.encoder.02.position # Encoderposition to PIN x-pos-fb
.....
# Default FB from stepgen:
net z-pos-fb <= hm2_5i25.0.stepgen.01.position-fb # Stepgenposition to PIN z-pos-fb
# Alternative FB from encoder:
# net z-pos-fb <= hm2_5i25.0.encoder.03.position # Encoderposition to PIN z-pos-fb
It still starts up - but does it actually report position correctly?
No comments:
Post a Comment