zero return with stepgen 7i76, 7i77, and 7i92
03 Nov 2017 06:45 #101211
by Diederik
Replied by Diederik on topic zero return with stepgen 7i76, 7i77, and 7i92
Hi Chris,
Yes, I succeeded. I should actually go to the machine to make a back-up, of all the config files. I made some changes, and then lost my usb memory stick somewhere, but from my last backup made in July, here is a axis example of what I did:
#*******************
# AXIS X
#*******************
setp pid.x.Pgain [AXIS_0]P
setp pid.x.Igain [AXIS_0]I
setp pid.x.Dgain [AXIS_0]D
setp pid.x.bias [AXIS_0]BIAS
setp pid.x.FF0 [AXIS_0]FF0
setp pid.x.FF1 [AXIS_0]FF1
setp pid.x.FF2 [AXIS_0]FF2
setp pid.x.deadband [AXIS_0]DEADBAND
setp pid.x.maxoutput [AXIS_0]MAX_OUTPUT
setp pid.x.error-previous-target true
setp pid.x.maxerror .0005
net x-index-enable <=> pid.x.index-enable
net x-enable => pid.x.enable
net x-pos-cmd => pid.x.command
net x-vel-cmd => pid.x.command-deriv
net x-pos-fb => pid.x.feedback
net x-output => pid.x.output
# Step Gen signals/setup
setp hm2_7i92.0.stepgen.00.dirsetup [AXIS_0]DIRSETUP
setp hm2_7i92.0.stepgen.00.dirhold [AXIS_0]DIRHOLD
setp hm2_7i92.0.stepgen.00.steplen [AXIS_0]STEPLEN
setp hm2_7i92.0.stepgen.00.stepspace [AXIS_0]STEPSPACE
setp hm2_7i92.0.stepgen.00.position-scale [AXIS_0]STEP_SCALE
setp hm2_7i92.0.stepgen.00.step_type 0
setp hm2_7i92.0.stepgen.00.control-type 1
setp hm2_7i92.0.stepgen.00.maxaccel [AXIS_0]STEPGEN_MAXACCEL
setp hm2_7i92.0.stepgen.00.maxvel [AXIS_0]STEPGEN_MAXVEL
# ---closedloop stepper signals---
net x-pos-cmd <= axis.0.motor-pos-cmd
net x-vel-cmd <= axis.0.joint-vel-cmd
net x-output <= hm2_7i92.0.stepgen.00.velocity-cmd
net x-pos-fb <= hm2_7i92.0.stepgen.00.position-fb
net x-pos-fb-enc => axis.0.motor-pos-fb
net x-pos-fb-enc <= hm2_7i92.0.encoder.00.position
net x-enable <= axis.0.amp-enable-out
net x-enable => hm2_7i92.0.stepgen.00.enable
# ---Encoder feedback signals/setup---
setp hm2_7i92.0.encoder.00.counter-mode 0
setp hm2_7i92.0.encoder.00.filter 1
setp hm2_7i92.0.encoder.00.index-invert 0
setp hm2_7i92.0.encoder.00.index-mask 0
setp hm2_7i92.0.encoder.00.index-mask-invert 0
setp hm2_7i92.0.encoder.00.scale [AXIS_0]ENCODER_SCALE
#net x-pos-fb <= hm2_7i92.0.encoder.00.position
net x-vel-fb <= hm2_7i92.0.encoder.00.velocity
#net x-pos-fb => axis.0.motor-pos-fb
net x-index-enable axis.0.index-enable <=> hm2_7i92.0.encoder.00.index-enable
net x-pos-rawcounts <= hm2_7i92.0.encoder.00.rawcounts
# ---setup home / limit switch signals---
net x-limit => axis.0.home-sw-in
net x-limit => axis.0.neg-lim-sw-in
net x-limit => axis.0.pos-lim-sw-in
So here is the trick...:
net x-pos-cmd <= axis.0.motor-pos-cmd #=> pid.x.command
net x-vel-cmd <= axis.0.joint-vel-cmd #=> pid.x.command-deriv
net x-pos-fb-enc => axis.0.motor-pos-fb #<= hm2_7i92.0.encoder.00.position
net x-index-enable axis.0.index-enable <=> hm2_7i92.0.encoder.00.index-enable
Please let me know if this helped.
Yes, I succeeded. I should actually go to the machine to make a back-up, of all the config files. I made some changes, and then lost my usb memory stick somewhere, but from my last backup made in July, here is a axis example of what I did:
#*******************
# AXIS X
#*******************
setp pid.x.Pgain [AXIS_0]P
setp pid.x.Igain [AXIS_0]I
setp pid.x.Dgain [AXIS_0]D
setp pid.x.bias [AXIS_0]BIAS
setp pid.x.FF0 [AXIS_0]FF0
setp pid.x.FF1 [AXIS_0]FF1
setp pid.x.FF2 [AXIS_0]FF2
setp pid.x.deadband [AXIS_0]DEADBAND
setp pid.x.maxoutput [AXIS_0]MAX_OUTPUT
setp pid.x.error-previous-target true
setp pid.x.maxerror .0005
net x-index-enable <=> pid.x.index-enable
net x-enable => pid.x.enable
net x-pos-cmd => pid.x.command
net x-vel-cmd => pid.x.command-deriv
net x-pos-fb => pid.x.feedback
net x-output => pid.x.output
# Step Gen signals/setup
setp hm2_7i92.0.stepgen.00.dirsetup [AXIS_0]DIRSETUP
setp hm2_7i92.0.stepgen.00.dirhold [AXIS_0]DIRHOLD
setp hm2_7i92.0.stepgen.00.steplen [AXIS_0]STEPLEN
setp hm2_7i92.0.stepgen.00.stepspace [AXIS_0]STEPSPACE
setp hm2_7i92.0.stepgen.00.position-scale [AXIS_0]STEP_SCALE
setp hm2_7i92.0.stepgen.00.step_type 0
setp hm2_7i92.0.stepgen.00.control-type 1
setp hm2_7i92.0.stepgen.00.maxaccel [AXIS_0]STEPGEN_MAXACCEL
setp hm2_7i92.0.stepgen.00.maxvel [AXIS_0]STEPGEN_MAXVEL
# ---closedloop stepper signals---
net x-pos-cmd <= axis.0.motor-pos-cmd
net x-vel-cmd <= axis.0.joint-vel-cmd
net x-output <= hm2_7i92.0.stepgen.00.velocity-cmd
net x-pos-fb <= hm2_7i92.0.stepgen.00.position-fb
net x-pos-fb-enc => axis.0.motor-pos-fb
net x-pos-fb-enc <= hm2_7i92.0.encoder.00.position
net x-enable <= axis.0.amp-enable-out
net x-enable => hm2_7i92.0.stepgen.00.enable
# ---Encoder feedback signals/setup---
setp hm2_7i92.0.encoder.00.counter-mode 0
setp hm2_7i92.0.encoder.00.filter 1
setp hm2_7i92.0.encoder.00.index-invert 0
setp hm2_7i92.0.encoder.00.index-mask 0
setp hm2_7i92.0.encoder.00.index-mask-invert 0
setp hm2_7i92.0.encoder.00.scale [AXIS_0]ENCODER_SCALE
#net x-pos-fb <= hm2_7i92.0.encoder.00.position
net x-vel-fb <= hm2_7i92.0.encoder.00.velocity
#net x-pos-fb => axis.0.motor-pos-fb
net x-index-enable axis.0.index-enable <=> hm2_7i92.0.encoder.00.index-enable
net x-pos-rawcounts <= hm2_7i92.0.encoder.00.rawcounts
# ---setup home / limit switch signals---
net x-limit => axis.0.home-sw-in
net x-limit => axis.0.neg-lim-sw-in
net x-limit => axis.0.pos-lim-sw-in
So here is the trick...:
net x-pos-cmd <= axis.0.motor-pos-cmd #=> pid.x.command
net x-vel-cmd <= axis.0.joint-vel-cmd #=> pid.x.command-deriv
net x-pos-fb-enc => axis.0.motor-pos-fb #<= hm2_7i92.0.encoder.00.position
net x-index-enable axis.0.index-enable <=> hm2_7i92.0.encoder.00.index-enable
Please let me know if this helped.
Please Log in or Create an account to join the conversation.
Time to create page: 0.124 seconds