#================================================================================================================================ # --- PID SETUP --- setp pid.orient.Pgain 1 setp pid.orient.Igain 0 setp pid.orient.Dgain 0 setp pid.orient.bias 0 setp pid.orient.FF0 0 setp pid.orient.FF1 1 setp pid.orient.FF2 0 ssetp pid.orient.deadband 0 setp pid.orient.maxoutput 1 etp pid.orient.error-previous-target TRUE # setup encoder position to give 0..1/rev (encoder.03.position is 0..360/rev) #1/360 setp scale.01rev.gain 0.00277778 setp scale.orient.1.gain 1 setp scale.orient.1.offset 104 setp orient.tolerance 0.0001 net a-index-enable <=> pid.a.index-enable <=> joint.3.index-enable <=> hm2_7i76e.0.encoder.03.index-enable <=> spindle.0.index-enable net a-index-enable <=> orient.index-enable net ctrl_mode <= motion.digital-out-02 => encdisconnect.a.disconnect => hm2_7i76e.0.7i84.0.2.output-06 net enc_03_pos <= hm2_7i76e.0.encoder.03.position => encdisconnect.a.enc-pos-in net enc_03_vel <= hm2_7i76e.0.encoder.03.velocity => encdisconnect.a.enc-vel-in net a-pos-fb <= encdisconnect.a.enc-pos-out => pid.a.feedback => joint.3.motor-pos-fb net a-vel-fb <= encdisconnect.a.enc-vel-out => pid.a.feedback-deriv net enc_03_pos => scale.01rev.in => near.spindle_orient.in2 net enc_03_pos_01rev <= scale.01rev.out => pid.orient.feedback => orient.position => spindle.0.revs net orient_enable <= spindle.0.orient => pid.orient.enable => orient.enable => mux.orient.sel net orient_enable => and.orient.in1 => or.orient.0.in1 net orient_angle <= spindle.0.orient-angle => orient.angle => near.spindle_orient.in1 net orient_command <= orient.command => pid.orient.command net orient_mode <= spindle.0.orient-mode => orient.mode net spin_ccw_sig0 <= spindle.0.reverse => or.orient.1.in0 net spin_ccw_sig1 <= and.orient.out => or.orient.1.in1 net spin_reverse <= or.orient.1.out => hm2_7i76e.0.7i84.0.2.output-02 => not.spindle.in net spin_cw_sig0 <= spindle.0.on => or.orient.0.in0 net spindle_blk_fwd <= not.spindle.out => and.spindle.in0 net spindle-enable <= or.orient.0.out => and.spindle.in1 net spindle_fwd <= and.spindle.out => hm2_7i76e.0.7i84.0.2.output-01 net spin_speed_out <= mux.orient.out => hm2_7i76e.0.7i76.0.0.spinout net pid_out <= pid.orient.output => abs.spindle_cmd.in => comp.orient.in0 net pid_out_abs <= abs.spindle_cmd.out => scale.orient.1.in net spin_orient_vel <= scale.orient.1.out => mux.orient.in1 net spindle-vel-cmd-rpm-abs => mux.orient.in0 net orient_comp_out <= comp.orient.out => and.orient.in0 net spindle_oriented <= orient.is-oriented => spindle.0.is-oriented setp scale.enc-vel.gain 0.00277778 net enc_03_vel => scale.enc-vel.in net enc_03_vel_rps <= scale.enc-vel.out => spindle.0.speed-in # --- SETUP SPINDLE CONTROL --- net spindle-vel-cmd-rps <= spindle.0.speed-out-rps net spindle-vel-cmd-rpm <= spindle.0.speed-out net spindle-vel-cmd-rpm-abs <= spindle.0.speed-out-abs #====================================================================================================================================