# Generated by PNCconf at Sun Apr 3 15:51:19 2022 # Using LinuxCNC version: Master (2.9) # If you make changes to this file, they will be # overwritten when you run PNCconf again loadrt [KINS]KINEMATICS loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS num_spindles=[TRAJ]SPINDLES loadrt hostmot2 loadrt hm2_eth board_ip="10.10.10.10" config="num_encoders=4 num_pwmgens=0 num_stepgens=0 sserial_port_0=000000" setp hm2_7i92.0.watchdog.timeout_ns 50000000 loadrt pid names=pid.x,pid.y,pid.y2,pid.z,pid.s loadrt plasmac addf hm2_7i92.0.read servo-thread addf motion-command-handler servo-thread addf motion-controller servo-thread addf pid.x.do-pid-calcs servo-thread addf pid.y.do-pid-calcs servo-thread addf pid.y2.do-pid-calcs servo-thread addf pid.z.do-pid-calcs servo-thread addf pid.s.do-pid-calcs servo-thread addf plasmac servo-thread addf hm2_7i92.0.write servo-thread # ---PLASMA INPUT DEBOUNCE--- #values for these are in custom.hal loadrt dbounce names=db_breakaway,db_float,db_ohmic,db_arc-ok addf db_float servo-thread addf db_ohmic servo-thread addf db_breakaway servo-thread addf db_arc-ok servo-thread # ---JOINT ASSOCIATED WITH THE Z AXIS--- net plasmac:axis-position joint.3.pos-fb => plasmac.axis-z-position # ---PLASMA INPUTS--- # ---all modes--- net plasmac:float-switch => db_float.in net plasmac:breakaway => db_breakaway.in net plasmac:ohmic-probe => db_ohmic.in net plasmac:ohmic-sense-in => plasmac.ohmic-sense-in # ---modes 0 & 1 net plasmac:arc-voltage-in => plasmac.arc-voltage-in # ---modes 1 & 2 net plasmac:arc-ok-in => db_arc-ok.in # ---mode 2 net plasmac:move-up <= plasmac.move-up net plasmac:move-down <= plasmac.move-down # ---PLASMA OUTPUTS--- # ---all modes--- net plasmac:ohmic-enable <= plasmac.ohmic-enable net plasmac:scribe-arm <= plasmac.scribe-arm net plasmac:scribe-on <= plasmac.scribe-on # external output signals # external input signals # --- HOME-Y --- net home-y <= hm2_7i92.0.7i77.0.0.input-00 # --- HOME-Y2 --- net home-y2 <= hm2_7i92.0.7i77.0.0.input-01 # --- HOME-X --- net home-x <= hm2_7i92.0.7i77.0.0.input-02 # --- MAX-Z --- net max-z <= hm2_7i92.0.7i77.0.0.input-03 # --- MIN-Z --- net min-z <= hm2_7i92.0.7i77.0.0.input-04 #******************* # AXIS X JOINT 0 #******************* setp pid.x.Pgain [JOINT_0]P setp pid.x.Igain [JOINT_0]I setp pid.x.Dgain [JOINT_0]D setp pid.x.bias [JOINT_0]BIAS setp pid.x.FF0 [JOINT_0]FF0 setp pid.x.FF1 [JOINT_0]FF1 setp pid.x.FF2 [JOINT_0]FF2 setp pid.x.deadband [JOINT_0]DEADBAND setp pid.x.maxoutput [JOINT_0]MAX_OUTPUT setp pid.x.error-previous-target true net x-index-enable <=> pid.x.index-enable net x-enable => pid.x.enable net x-pos-cmd => pid.x.command net x-pos-fb => pid.x.feedback net x-output <= pid.x.output # ---PWM Generator signals/setup--- setp hm2_7i92.0.7i77.0.1.analogout2-scalemax [JOINT_0]OUTPUT_SCALE setp hm2_7i92.0.7i77.0.1.analogout2-minlim [JOINT_0]OUTPUT_MIN_LIMIT setp hm2_7i92.0.7i77.0.1.analogout2-maxlim [JOINT_0]OUTPUT_MAX_LIMIT net x-output => hm2_7i92.0.7i77.0.1.analogout2 net x-pos-cmd <= joint.0.motor-pos-cmd net x-enable <= joint.0.amp-enable-out # enable _all_ sserial pwmgens net x-enable => hm2_7i92.0.7i77.0.1.analogena # ---Encoder feedback signals/setup--- setp hm2_7i92.0.encoder.02.counter-mode 0 setp hm2_7i92.0.encoder.02.filter 1 setp hm2_7i92.0.encoder.02.index-invert 0 setp hm2_7i92.0.encoder.02.index-mask 0 setp hm2_7i92.0.encoder.02.index-mask-invert 0 setp hm2_7i92.0.encoder.02.scale [JOINT_0]ENCODER_SCALE net x-pos-fb <= hm2_7i92.0.encoder.02.position net x-vel-fb <= hm2_7i92.0.encoder.02.velocity net x-pos-fb => joint.0.motor-pos-fb net x-index-enable joint.0.index-enable <=> hm2_7i92.0.encoder.02.index-enable net x-pos-rawcounts <= hm2_7i92.0.encoder.02.rawcounts # ---setup home / limit switch signals--- net home-x => joint.0.home-sw-in net x-neg-limit => joint.0.neg-lim-sw-in net x-pos-limit => joint.0.pos-lim-sw-in #******************* # AXIS Y JOINT 1 #******************* setp pid.y.Pgain [JOINT_1]P setp pid.y.Igain [JOINT_1]I setp pid.y.Dgain [JOINT_1]D setp pid.y.bias [JOINT_1]BIAS setp pid.y.FF0 [JOINT_1]FF0 setp pid.y.FF1 [JOINT_1]FF1 setp pid.y.FF2 [JOINT_1]FF2 setp pid.y.deadband [JOINT_1]DEADBAND setp pid.y.maxoutput [JOINT_1]MAX_OUTPUT setp pid.y.error-previous-target true net y-index-enable <=> pid.y.index-enable net y-enable => pid.y.enable net y-pos-cmd => pid.y.command net y-pos-fb => pid.y.feedback net y-output <= pid.y.output # ---PWM Generator signals/setup--- setp hm2_7i92.0.7i77.0.1.analogout0-scalemax [JOINT_1]OUTPUT_SCALE setp hm2_7i92.0.7i77.0.1.analogout0-minlim [JOINT_1]OUTPUT_MIN_LIMIT setp hm2_7i92.0.7i77.0.1.analogout0-maxlim [JOINT_1]OUTPUT_MAX_LIMIT net y-output => hm2_7i92.0.7i77.0.1.analogout0 net y-pos-cmd <= joint.1.motor-pos-cmd net y-enable <= joint.1.amp-enable-out # ---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 [JOINT_1]ENCODER_SCALE net y-pos-fb <= hm2_7i92.0.encoder.00.position net y-vel-fb <= hm2_7i92.0.encoder.00.velocity net y-pos-fb => joint.1.motor-pos-fb net y-index-enable joint.1.index-enable <=> hm2_7i92.0.encoder.00.index-enable net y-pos-rawcounts <= hm2_7i92.0.encoder.00.rawcounts # ---setup home / limit switch signals--- net home-y => joint.1.home-sw-in net y-neg-limit => joint.1.neg-lim-sw-in net y-pos-limit => joint.1.pos-lim-sw-in #******************* # Tandem AXIS Y2 JOINT 2 #******************* setp pid.y2.Pgain [JOINT_2]P setp pid.y2.Igain [JOINT_2]I setp pid.y2.Dgain [JOINT_2]D setp pid.y2.bias [JOINT_2]BIAS setp pid.y2.FF0 [JOINT_2]FF0 setp pid.y2.FF1 [JOINT_2]FF1 setp pid.y2.FF2 [JOINT_2]FF2 setp pid.y2.deadband [JOINT_2]DEADBAND setp pid.y2.maxoutput [JOINT_2]MAX_OUTPUT setp pid.y2.error-previous-target true net y2-index-enable <=> pid.y2.index-enable net y2-enable => pid.y2.enable net y2-pos-cmd => pid.y2.command net y2-pos-fb => pid.y2.feedback net y2-output <= pid.y2.output # ---PWM Generator signals/setup--- setp hm2_7i92.0.7i77.0.1.analogout1-scalemax [JOINT_2]OUTPUT_SCALE setp hm2_7i92.0.7i77.0.1.analogout1-minlim [JOINT_2]OUTPUT_MIN_LIMIT setp hm2_7i92.0.7i77.0.1.analogout1-maxlim [JOINT_2]OUTPUT_MAX_LIMIT net y2-output => hm2_7i92.0.7i77.0.1.analogout1 net y2-pos-cmd <= joint.2.motor-pos-cmd net y2-enable <= joint.2.amp-enable-out # ---Encoder feedback signals/setup--- setp hm2_7i92.0.encoder.01.counter-mode 0 setp hm2_7i92.0.encoder.01.filter 1 setp hm2_7i92.0.encoder.01.index-invert 0 setp hm2_7i92.0.encoder.01.index-mask 0 setp hm2_7i92.0.encoder.01.index-mask-invert 0 setp hm2_7i92.0.encoder.01.scale [JOINT_2]ENCODER_SCALE net y2-pos-fb <= hm2_7i92.0.encoder.01.position net y2-vel-fb <= hm2_7i92.0.encoder.01.velocity net y2-pos-fb => joint.2.motor-pos-fb net y2-index-enable joint.2.index-enable <=> hm2_7i92.0.encoder.01.index-enable net y2-pos-rawcounts <= hm2_7i92.0.encoder.01.rawcounts # ---setup home / limit switch signals--- net home-y2 => joint.2.home-sw-in net y2-neg-limit => joint.2.neg-lim-sw-in net y2-pos-limit => joint.2.pos-lim-sw-in #******************* # AXIS Z JOINT 3 #******************* setp pid.z.Pgain [JOINT_3]P setp pid.z.Igain [JOINT_3]I setp pid.z.Dgain [JOINT_3]D setp pid.z.bias [JOINT_3]BIAS setp pid.z.FF0 [JOINT_3]FF0 setp pid.z.FF1 [JOINT_3]FF1 setp pid.z.FF2 [JOINT_3]FF2 setp pid.z.deadband [JOINT_3]DEADBAND setp pid.z.maxoutput [JOINT_3]MAX_OUTPUT setp pid.z.error-previous-target true net z-index-enable <=> pid.z.index-enable net z-enable => pid.z.enable net z-pos-cmd => pid.z.command net z-pos-fb => pid.z.feedback net z-output <= pid.z.output # ---PWM Generator signals/setup--- setp hm2_7i92.0.7i77.0.1.analogout3-scalemax [JOINT_3]OUTPUT_SCALE setp hm2_7i92.0.7i77.0.1.analogout3-minlim [JOINT_3]OUTPUT_MIN_LIMIT setp hm2_7i92.0.7i77.0.1.analogout3-maxlim [JOINT_3]OUTPUT_MAX_LIMIT net z-output => hm2_7i92.0.7i77.0.1.analogout3 net z-pos-cmd <= joint.3.motor-pos-cmd net z-enable <= joint.3.amp-enable-out # ---Encoder feedback signals/setup--- setp hm2_7i92.0.encoder.03.counter-mode 0 setp hm2_7i92.0.encoder.03.filter 1 setp hm2_7i92.0.encoder.03.index-invert 0 setp hm2_7i92.0.encoder.03.index-mask 0 setp hm2_7i92.0.encoder.03.index-mask-invert 0 setp hm2_7i92.0.encoder.03.scale [JOINT_3]ENCODER_SCALE net z-pos-fb <= hm2_7i92.0.encoder.03.position net z-vel-fb <= hm2_7i92.0.encoder.03.velocity net z-pos-fb => joint.3.motor-pos-fb net z-index-enable joint.3.index-enable <=> hm2_7i92.0.encoder.03.index-enable net z-pos-rawcounts <= hm2_7i92.0.encoder.03.rawcounts # ---setup home / limit switch signals--- net z-home-sw => joint.3.home-sw-in net min-z => joint.3.neg-lim-sw-in net max-z => joint.3.pos-lim-sw-in # ---estop signals--- net estop-out <= iocontrol.0.user-enable-out net estop-out => iocontrol.0.emc-enable-in # ---QTPLASMAC TOOLCHANGE PASSTHROUGH--- net tool:change iocontrol.0.tool-change => iocontrol.0.tool-changed net tool:prep iocontrol.0.tool-prepare => iocontrol.0.tool-prepared