SPINDLE ORIENT PID

More
7 years 11 months ago #121073 by COlger81
SPINDLE ORIENT PID was created by COlger81
I'm close but i could use some help with SPINDLE ORIENT. I think i've got all of the pieces put together except Mux2 out. Attached is my configs.

Attachment not found

Attachment not found

Code:
# This config file was created 2017-11-26 08:54:27.459061 by the update_ini script # The original config files may be found in the /home/fadal/linuxcnc/configs/my_LinuxCNC_machine/my_LinuxCNC_machine.old directory # Generated by PNCconf at Mon Nov 20 15:07:44 2017 # If you make changes to this file, they will be # overwritten when you run PNCconf again [EMC] # The version string for this INI file. VERSION = 1.1 MACHINE = my_LinuxCNC_machine DEBUG = 0 [DISPLAY] DISPLAY = gmoccapy POSITION_OFFSET = RELATIVE POSITION_FEEDBACK = ACTUAL MAX_FEED_OVERRIDE = 2.000000 MAX_SPINDLE_OVERRIDE = 1.000000 MIN_SPINDLE_OVERRIDE = 0.500000 INTRO_GRAPHIC = linuxcnc.gif INTRO_TIME = 5 PROGRAM_PREFIX = /home/fadal/linuxcnc/nc_files INCREMENTS = .01in .001in .0001in POSITION_FEEDBACK = ACTUAL DEFAULT_LINEAR_VELOCITY = 0.250000 MAX_LINEAR_VELOCITY = 1.000000 MIN_LINEAR_VELOCITY = 0.016670 DEFAULT_ANGULAR_VELOCITY = 12.000000 MAX_ANGULAR_VELOCITY = 180.000000 MIN_ANGULAR_VELOCITY = 1.666667 EDITOR = gedit GEOMETRY = xyz [FILTER] PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image PROGRAM_EXTENSION = .py Python Script png = image-to-gcode gif = image-to-gcode jpg = image-to-gcode py = python [RS274NGC] PARAMETER_FILE = linuxcnc.var ORIENT_OFFSET = 0 #REMAP=M6 modalgroup=6 ngc=toolchange [EMCMOT] EMCMOT = motmod COMM_TIMEOUT = 1.0 COMM_WAIT = 0.010 SERVO_PERIOD = 1000000 [TASK] TASK = milltask CYCLE_TIME = 0.010 [HAL] HALUI = halui HALFILE = my_LinuxCNC_machine.hal POSTGUI_HALFILE = postgui_call_list.hal SHUTDOWN = shutdown.hal [HALUI] MDI_COMMAND = 1 [TRAJ] AXES = 3 COORDINATES = X Y Z LINEAR_UNITS = inch ANGULAR_UNITS = degree DEFAULT_LINEAR_VELOCITY = 0.10 MAX_LINEAR_VELOCITY = 8.3333 NO_FORCE_HOMING = 0 [EMCIO] EMCIO = io CYCLE_TIME = .10 TOOL_TABLE = tool.tbl TOOL_CHANGE_QUILL_UP = 1 RANDOM_TOOLCHANGER = 0 #******************** # Axis X #******************** [KINS] KINEMATICS = trivkins #This is a best-guess at the number of joints, it should be checked JOINTS = 3 [AXIS_X] HOME = 0.0 MIN_LIMIT = -15.0 MAX_LIMIT = 15.0 MAX_VELOCITY = 8.3333 MAX_ACCELERATION = 40.0 [JOINT_0] TYPE = LINEAR HOME = 0.0 FERROR = 1.0 MIN_FERROR = .05 MAX_VELOCITY = 8.3333 MAX_ACCELERATION = 40.0 P = 50.0 I = 0.0 D = 0.0 FF0 = 0.0 FF1 = 1.0 FF2 = 0.0 BIAS = 0.0 DEADBAND = 0.00003 MAX_OUTPUT = 0.0 ENCODER_SCALE = -100000.0 OUTPUT_SCALE = -10.0 OUTPUT_MIN_LIMIT = -10.0 OUTPUT_MAX_LIMIT = 10.0 MIN_LIMIT = -15.0 MAX_LIMIT = 15.0 HOME_OFFSET = 0.1700 HOME_LATCH_VEL = .05 HOME_USE_INDEX = YES HOME_SEQUENCE = 0 #BACKLASH = 0.0005 #******************** # Axis Y #******************** [AXIS_Y] HOME = 0.0 MIN_LIMIT = -8.0 MAX_LIMIT = 8.0 MAX_VELOCITY = 8.3333 MAX_ACCELERATION = 40.0 [JOINT_1] TYPE = LINEAR HOME = 0.0 FERROR = 1 MIN_FERROR = 0.05 MAX_VELOCITY = 8.3333 MAX_ACCELERATION = 40.0 P = 50.0 I = 0.0 D = 0.0 FF0 = 0.0 FF1 = 1.0 FF2 = 0.0 BIAS = 0.0 DEADBAND = 0.00003 MAX_OUTPUT = 0.0 ENCODER_SCALE = -100000.0 OUTPUT_SCALE = -10.0 OUTPUT_MIN_LIMIT = -10.0 OUTPUT_MAX_LIMIT = 10.0 MIN_LIMIT = -8.0 MAX_LIMIT = 8.0 HOME_OFFSET = 0.1000 HOME_LATCH_VEL = .05 HOME_USE_INDEX = YES HOME_SEQUENCE = 0 #BACKLASH = 0.001 #******************** # Axis Z #******************** [AXIS_Z] HOME = 0.0 MIN_LIMIT = -16.0 MAX_LIMIT = 4.0 MAX_VELOCITY = 8.3333 MAX_ACCELERATION = 40.0 [JOINT_2] TYPE = LINEAR HOME = 0.0 FERROR = 1 MIN_FERROR = 0.05 MAX_VELOCITY = 8.3333 MAX_ACCELERATION = 40.0 P = 50.0 I = 0.0 D = 0.0 FF0 = 0.0 FF1 = 1.0 FF2 = 0.0 BIAS = 0.0 DEADBAND = 0.00003 MAX_OUTPUT = 0.0 ENCODER_SCALE = 100000.0 OUTPUT_SCALE = 10.0 OUTPUT_MIN_LIMIT = -10.0 OUTPUT_MAX_LIMIT = 10.0 MIN_LIMIT = -16.0 MAX_LIMIT = 4.0 HOME_OFFSET = 0.1000 HOME_LATCH_VEL = .05 HOME_USE_INDEX = YES HOME_SEQUENCE = 0 #BACKLASH = 0.0003 #******************** # Spindle #******************** [HOSTMOT2] # **** This is for info only **** # DRIVER0=hm2_pci # BOARD0=5i25 #******************** # Spindle #******************** [SPINDLE_9] P = 0.0 I = 0.0 D = 0.0 FF0 = 1.0 FF1 = 0.0 FF2 = 0.0 BIAS = 0.0 DEADBAND = 0.0 MAX_OUTPUT = 7500.0 ENCODER_SCALE = 4000.0 #OUTPUT_SCALE = -7640 OUTPUT_SCALE = -7500 OUTPUT_MIN_LIMIT = -7500 OUTPUT_MAX_LIMIT = 7500 [SPINDLE_0] P = 0.0 I = 0.0 D = 0.0 FF0 = 1.0 FF1 = 0.0 FF2 = 0.0 BIAS = 0.0 DEADBAND = 0.0 MAX_OUTPUT = 7500.0 ENCODER_SCALE = 4000.0 #OUTPUT_SCALE = -7640 OUTPUT_SCALE = -7500 OUTPUT_MIN_LIMIT = -7500 OUTPUT_MAX_LIMIT = 7500
Code:
# Generated by PNCconf at Mon Nov 20 15:07:45 2017 # If you make changes to this file, they will be # overwritten when you run PNCconf again #---LINK TO PYTHON FILES-START--- loadusr python lube.py loadusr python ATC.py loadusr python axisselector.py loadusr python pyautoguitest.py loadusr python programresume.py #---LINK TO PYTHON FILES-END--- #============================================================ #---CRITICAL-THREAD-COMPONENTS-START--- loadrt [KINS]KINEMATICS loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS loadrt hostmot2 loadrt hm2_eth board_ip=10.10.10.10 config=" num_encoders=6 num_pwmgens=0 num_stepgens=0 sserial_port_0=300xxx" setp hm2_7i92.0.watchdog.timeout_ns 5000000 loadrt pid names=pid.x,pid.y,pid.z,pid.s,pid.o loadrt abs names=abs.spindle loadrt lowpass names=lowpass.spindle loadrt scale names=scale.spindle #---CRITICAL-THREAD-COMPONENTS-END--- #============================================================ #---LOAD-THREAD-COMPONENTS-START--- loadrt matrix_kb config=8x8s loadrt carousel pockets=21 encoding=index num_sense=1 dir=2 loadrt and2 count=1 loadrt mux4 count=1 loadrt ilowpass loadrt toggle count=7 loadrt or2 count=2 loadrt gearchoice loadrt orient loadrt mux2 count=1 #---LOAD-THREAD-COMPONENTS-END--- #============================================================ #---CRITICAL-FUNCTIONS-START--- 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.z.do-pid-calcs servo-thread addf pid.s.do-pid-calcs servo-thread addf pid.o.do-pid-calcs servo-thread addf scale.spindle servo-thread addf abs.spindle servo-thread addf lowpass.spindle servo-thread #---CRITICAL-FUNCTIONS-END--- #============================================================ #---ADD-FUNCTIONS-START--- addf matrix_kb.0 servo-thread addf carousel.0 servo-thread addf and2.0 servo-thread addf mux4.0 servo-thread addf ilowpass.0 servo-thread addf toggle.0 servo-thread addf toggle.1 servo-thread addf toggle.2 servo-thread addf toggle.3 servo-thread addf toggle.4 servo-thread addf toggle.5 servo-thread addf toggle.6 servo-thread addf or2.0 servo-thread addf or2.1 servo-thread addf gearchoice.0 servo-thread addf orient.0 servo-thread addf mux2.0 servo-thread #!!---KEEP-hm2_7i92.0.write-LAST-addf---!! addf hm2_7i92.0.write servo-thread #!!---KEEP-hm2_7i92.0.write-LAST-addf---!! #---ADD-FUNCTIONS-END--- #============================================================ #---ADD-PARAMETERS-START--- setp matrix_kb.0.negative-logic false setp matrix_kb.0.key_rollover 2 setp mux4.0.in0 .000001 setp mux4.0.in1 .00001 setp mux4.0.in2 .0001 setp mux4.0.in3 .0 setp ilowpass.0.scale 100 setp ilowpass.0.gain 0.03 setp halui.rapid-override.count-enable true setp halui.rapid-override.direct-value true #setp gmoccapy.rapid.rapid-override.analog-enable true #setp halui.rapid-override.counts 1 #setp halui.rapid-override.increase true #setp halui.rapid-override.decrease true #setp halui.rapid-override.scale .01 #---ADD-PARAMETERS-END--- #============================================================ #---START-OF-MESA-PNCCONFIGURATION--- #******************* # AXIS X #******************* 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-vel-cmd => pid.x.command-deriv net x-pos-fb => pid.x.feedback net x-output => pid.x.output # ---PWM Generator signals/setup--- setp hm2_7i92.0.7i77.0.1.analogout0-scalemax [JOINT_0]OUTPUT_SCALE setp hm2_7i92.0.7i77.0.1.analogout0-minlim [JOINT_0]OUTPUT_MIN_LIMIT setp hm2_7i92.0.7i77.0.1.analogout0-maxlim [JOINT_0]OUTPUT_MAX_LIMIT net x-output => hm2_7i92.0.7i77.0.1.analogout0 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.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_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 => joint.0.motor-pos-fb net x-index-enable joint.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-home-sw => 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 #******************* 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-vel-cmd => pid.y.command-deriv net y-pos-fb => pid.y.feedback net y-output => pid.y.output # ---PWM Generator signals/setup--- setp hm2_7i92.0.7i77.0.1.analogout1-scalemax [JOINT_1]OUTPUT_SCALE setp hm2_7i92.0.7i77.0.1.analogout1-minlim [JOINT_1]OUTPUT_MIN_LIMIT setp hm2_7i92.0.7i77.0.1.analogout1-maxlim [JOINT_1]OUTPUT_MAX_LIMIT net y-output => hm2_7i92.0.7i77.0.1.analogout1 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.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_1]ENCODER_SCALE net y-pos-fb <= hm2_7i92.0.encoder.01.position net y-vel-fb <= hm2_7i92.0.encoder.01.velocity net y-pos-fb => joint.1.motor-pos-fb net y-index-enable joint.1.index-enable <=> hm2_7i92.0.encoder.01.index-enable net y-pos-rawcounts <= hm2_7i92.0.encoder.01.rawcounts # ---setup home / limit switch signals--- net y-home-sw => 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 #******************* # AXIS Z #******************* setp pid.z.Pgain [JOINT_2]P setp pid.z.Igain [JOINT_2]I setp pid.z.Dgain [JOINT_2]D setp pid.z.bias [JOINT_2]BIAS setp pid.z.FF0 [JOINT_2]FF0 setp pid.z.FF1 [JOINT_2]FF1 setp pid.z.FF2 [JOINT_2]FF2 setp pid.z.deadband [JOINT_2]DEADBAND setp pid.z.maxoutput [JOINT_2]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-vel-cmd => pid.z.command-deriv net z-pos-fb => pid.z.feedback net z-output => pid.z.output # ---PWM Generator signals/setup--- setp hm2_7i92.0.7i77.0.1.analogout2-scalemax [JOINT_2]OUTPUT_SCALE setp hm2_7i92.0.7i77.0.1.analogout2-minlim [JOINT_2]OUTPUT_MIN_LIMIT setp hm2_7i92.0.7i77.0.1.analogout2-maxlim [JOINT_2]OUTPUT_MAX_LIMIT net z-output => hm2_7i92.0.7i77.0.1.analogout2 net z-pos-cmd joint.2.motor-pos-cmd net z-enable joint.2.amp-enable-out # ---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_2]ENCODER_SCALE net z-pos-fb <= hm2_7i92.0.encoder.02.position net z-vel-fb <= hm2_7i92.0.encoder.02.velocity net z-pos-fb => joint.2.motor-pos-fb net z-index-enable joint.2.index-enable <=> hm2_7i92.0.encoder.02.index-enable net z-pos-rawcounts <= hm2_7i92.0.encoder.02.rawcounts # ---setup home / limit switch signals--- net z-home-sw => joint.2.home-sw-in net z-neg-limit => joint.2.neg-lim-sw-in net z-pos-limit => joint.2.pos-lim-sw-in #******************* # SPINDLE S #******************* setp pid.s.Pgain [SPINDLE_9]P setp pid.s.Igain [SPINDLE_9]I setp pid.s.Dgain [SPINDLE_9]D setp pid.s.bias [SPINDLE_9]BIAS setp pid.s.FF0 [SPINDLE_9]FF0 setp pid.s.FF1 [SPINDLE_9]FF1 setp pid.s.FF2 [SPINDLE_9]FF2 setp pid.s.deadband [SPINDLE_9]DEADBAND setp pid.s.maxoutput [SPINDLE_9]MAX_OUTPUT setp pid.s.error-previous-target true net spindle-index-enable <=> pid.s.index-enable net spindle-enable => pid.s.enable net spindle-vel-cmd-rpm => pid.s.command net spindle-vel-fb-rpm => pid.s.feedback net spindle-output <= pid.s.output mux2.0.in0 #======orient-pid---start setp pid.o.Pgain [SPINDLE_0]P setp pid.o.Igain [SPINDLE_0]I setp pid.o.Dgain [SPINDLE_0]D setp pid.o.bias [SPINDLE_0]BIAS setp pid.o.FF0 [SPINDLE_0]FF0 setp pid.o.FF1 [SPINDLE_0]FF1 setp pid.o.FF2 [SPINDLE_0]FF2 setp pid.o.deadband [SPINDLE_0]DEADBAND setp pid.o.maxoutput [SPINDLE_0]MAX_OUTPUT setp pid.o.error-previous-target true net spindle-index-enable <=> pid.o.index-enable net orient-angle spindle.0.orient-angle orient.0.angle net orient-mode spindle.0.orient-mode orient.0.mode net spindle-orient spindle.0.orient orient.0.enable pid.o.enable mux2.0.sel net spindle-in-pos orient.0.is-oriented spindle.0.is-oriented net spindle-revs orient.0.position pid.o.feedback net orient-command orient.0.command pid.o.command net spindle-output2 pid.o.output mux2.0.in1 #======orient-pid---end # ---PWM Generator signals/setup--- setp hm2_7i92.0.7i77.0.1.analogout4-scalemax [SPINDLE_9]OUTPUT_SCALE setp hm2_7i92.0.7i77.0.1.analogout4-minlim [SPINDLE_9]OUTPUT_MIN_LIMIT setp hm2_7i92.0.7i77.0.1.analogout4-maxlim [SPINDLE_9]OUTPUT_MAX_LIMIT net spindle-output => hm2_7i92.0.7i77.0.1.analogout4 #net spindle-enable => hm2_7i92.0.7i77.0.1.spinena # ---setup spindle control signals--- net spindle-vel-cmd-rps <= spindle.0.speed-out-rps net spindle-vel-cmd-rps-abs <= spindle.0.speed-out-rps-abs net spindle-vel-cmd-rpm gearchoice.0.speed-command <= spindle.0.speed-out net spindle-vel-cmd-rpm-abs <= spindle.0.speed-out-abs net spindle-enable gearchoice.0.spindle-on <= spindle.0.on net spindle-cw <= spindle.0.forward net spindle-ccw <= spindle.0.reverse net spindle-brake gearchoice.0.brake-enable <= spindle.0.brake net spindle-revs => spindle.0.revs net spindle-at-speed => spindle.0.at-speed net spindle-vel-fb-rps => spindle.0.speed-in net spindle-index-enable <=> spindle.0.index-enable #net spindle-input-index hm2_7i92.0.encoder.03.input-index #net spindle-revs spindle.0.revs orient.0.position # ---Setup spindle at speed signals--- sets spindle-at-speed true #SPINDLE RPM TEST setp scale.spindle.gain 58.84 setp lowpass.spindle.gain 1.00000 net spindle-vel-fb-rps => scale.spindle.in net spindle-fb-rpm scale.spindle.out => abs.spindle.in #net spindle-fb-rpm mux2.0.out => abs.spindle.in net spindle-fb-rpm-abs abs.spindle.out => lowpass.spindle.in net spindle-fb-rpm-abs-filtered lowpass.spindle.out #SPINDLE RPM TEST net spindle-enable spindle.0.on => hm2_7i92.0.7i72.0.2.output-22 hm2_7i92.0.7i72.0.2.output-23 #net spindle-ccw spindle.0.reverse => hm2_7i92.0.7i72.0.2.output-23 hm2_7i92.0.7i72.0.2.output-22 #ENCODER INFO 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 1 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 [SPINDLE_9]ENCODER_SCALE net spindle-revs <= hm2_7i92.0.encoder.03.position net spindle-vel-fb-rps <= hm2_7i92.0.encoder.03.velocity net spindle-index-enable <=> hm2_7i92.0.encoder.03.index-enable #net spindle-index-enable <=> hm2_7i92.0.7i77.0.0.input-31 #---END-OF-MESA-PNCCONFIGURATION--- #============================================================ #---HALUI-SIGNALS-START--- net joint-select-a halui.axis.x.select net x-is-homed halui.joint.0.is-homed net jog-x-pos halui.axis.x.plus net jog-x-neg halui.axis.x.minus net jog-x-analog halui.axis.x.analog net joint-select-b halui.axis.y.select net y-is-homed halui.joint.1.is-homed net jog-y-pos halui.axis.y.plus net jog-y-neg halui.axis.y.minus net jog-y-analog halui.axis.y.analog net joint-select-c halui.axis.z.select net z-is-homed halui.joint.2.is-homed net jog-z-pos halui.axis.z.plus net jog-z-neg halui.axis.z.minus net jog-z-analog halui.axis.z.analog net jog-selected-pos halui.axis.selected.plus net jog-selected-neg halui.axis.selected.minus net spindle-manual-cw halui.spindle.0.forward net spindle-manual-ccw halui.spindle.0.reverse net spindle-manual-stop halui.spindle.0.stop net machine-is-on halui.machine.is-on net jog-speed halui.axis.jog-speed net MDI-mode halui.mode.is-mdi #---HALUI-SIGNALS-END--- #============================================================ #---COOLANT-CONTROL---START--- net coolant-mist <= iocontrol.0.coolant-mist net coolant-flood <= iocontrol.0.coolant-flood # --- COOLANT-FLOOD --- net coolant-flood hm2_7i92.0.7i72.0.2.output-01 # --- COOLANT-MIST --- net coolant-mist hm2_7i92.0.7i72.0.2.output-02 #net coolant-flood <= matrix_kb.0.key.r3c6 #net coolant-mist <= matrix_kb.0.key.r3c5 #---COOLANT-CONTROL---END--- #============================================================ #---OUTPUT-SIGNALS-START--- # --- POWER-DRAWBAR --- net power-drawbar hm2_7i92.0.7i72.0.2.output-03 # --- SPINDLE AIR BLAST --- net spindle-air-blast hm2_7i92.0.7i72.0.2.output-11 #---OUTPUT-SIGNALS-END--- #============================================================ #---MISCELLANEOUS-START--- # ---motion control signals--- net in-position lube.motion-lube <= motion.in-position => motion.atc-position net machine-is-enabled <= motion.motion-enabled net tool-out-from-gcode motion.digital-out-00 => ATC.from-gcode net power-drawbar <= matrix_kb.0.key.r3c1 #---BEACON---NEEDS BULB!! #net beacon-light hm2_7i92.0.7i72.0.2.output-21 #---MISCELLANEOUS-END--- #============================================================ #---MODE-SELECT-KEYBOARD-START--- net mode-jog matrix_kb.0.key.r6c3 => halui.mode.manual net mode-auto matrix_kb.0.key.r6c6 => halui.mode.auto net mode-manual matrix_kb.0.key.r6c5 => halui.mode.mdi #---MODE-SELECT-KEYBOARD-END--- #============================================================ #---CAROUSEL-ATC-COMPONENT-PINS-START--- net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared #net tool-prepare-loopback ATC.tool-prepare => iocontrol.0.tool-prepared net tool-prep-number iocontrol.0.tool-prep-number => carousel.0.pocket-number net tool-change iocontrol.0.tool-change => carousel.0.enable net atc-tool-change-out iocontrol.0.tool-changed <= carousel.0.ready net turret-sensor-pocket hm2_7i92.0.7i77.0.0.input-29 => carousel.0.sense-0 carousel.0.sense-1 net tool-number iocontrol.0.tool-number => carousel.0.init-position net turret-motor-forpin hm2_7i92.0.7i72.0.2.output-09 ATC.turret-forward-out net turret-motor-revpin hm2_7i92.0.7i72.0.2.output-10 ATC.turret-reverse-out net turret-motor-fwd carousel.0.motor-fwd ATC.turret-forward-in net turret-motor-rev carousel.0.motor-rev ATC.turret-reverse-in net turret-active carousel.0.active ATC.turret-active net carousel-homing-toggle motion.digital-out-03 net carousel-jog-fwd matrix_kb.0.key.r3c2 => carousel.0.jog-fwd net carousel-jog-rev matrix_kb.0.key.r3c3 => carousel.0.jog-rev #net tool-out-from-gcode motion.digital-out-00 => ATC.from-gcode #---CAROUSEL-ATC-COMPONENT-PINS-END--- #============================================================ #---TURRET-SLIDE-PINS-START--- net turret-slide-in SO.atc-turslide-in => hm2_7i92.0.7i72.0.2.output-08 net turret-slide-out SO.atc-turslide-out => hm2_7i92.0.7i72.0.2.output-07 #---TURRET-SLIDE-PINS-END--- #============================================================ #----PINS---ORIENT SENSOR AND LOCK---START #net orient-sensor SO.so-sen => hm2_7i92.0.7i77.0.0.input-31 #net orient-lock SO.so-or-lock => hm2_7i92.0.7i72.0.2.output-06 net orient-lock motion.digital-out-01 => hm2_7i92.0.7i72.0.2.output-06 #----PINS---ORIENT SENSOR AND LOCK---END #============================================================ #----PINS---ESTOP---START net estop-in iocontrol.0.emc-enable-in <= and2.0.out net internal-estop and2.0.in1 <= iocontrol.0.user-enable-out net remote-estop and2.0.in0 halui.estop.activate => hm2_7i92.0.7i77.0.0.input-20-not net estop-in <= hm2_7i92.0.7i72.0.2.output-00 #net estop-in halui.machine.on #----PINS---ESTOP---END #============================================================ #----PINS---JOG PENDANT---START net x-jog-select axis.x.jog-enable <= axisselect.x net y-jog-select axis.y.jog-enable <= axisselect.y net z-jog-select axis.z.jog-enable <= axisselect.z #net a-jog-select axis.a.jog-enable <= hm2_7i92.0.7i77.0.0.input-03 net axis-sel-0 axisselect.one <= hm2_7i92.0.7i77.0.0.input-00 net axis-sel-1 axisselect.two <= hm2_7i92.0.7i77.0.0.input-01 net x100 hm2_7i92.0.7i77.0.0.input-03 => mux4.0.sel1 net x10 hm2_7i92.0.7i77.0.0.input-04 => mux4.0.sel0 net jogscale mux4.0.out => joint.0.jog-scale axis.x.jog-scale net jogscale => joint.1.jog-scale axis.y.jog-scale net jogscale => joint.2.jog-scale axis.z.jog-scale #net jogscale =>joint.3.jog-scale axis.a.jog-scale net mpg-out hm2_7i92.0.7i77.0.0.enc0.rawcounts => ilowpass.0.in net jogcounts ilowpass.0.out => joint.0.jog-counts axis.x.jog-counts net jogcounts => joint.1.jog-counts axis.y.jog-counts net jogcounts => joint.2.jog-counts axis.z.jog-counts #net jogcounts => joint.3.jog-counts axis.a.jog-counts #----PINS---JOG PENDANT---END #============================================================ #----PHYSICAL-MESA-PINS---MATRIX KEYBOARD---START--- net key_01 matrix_kb.0.row-00-out <= hm2_7i92.0.7i77.0.0.output-07 net key_02 matrix_kb.0.row-01-out <= hm2_7i92.0.7i77.0.0.output-00 net key_03 matrix_kb.0.row-02-out <= hm2_7i92.0.7i77.0.0.output-01 net key_04 matrix_kb.0.row-03-out <= hm2_7i92.0.7i77.0.0.output-02 net key_05 matrix_kb.0.row-04-out <= hm2_7i92.0.7i77.0.0.output-03 net key_06 matrix_kb.0.row-05-out <= hm2_7i92.0.7i77.0.0.output-04 net key_07 matrix_kb.0.row-06-out <= hm2_7i92.0.7i77.0.0.output-05 net key_08 matrix_kb.0.row-07-out <= hm2_7i92.0.7i77.0.0.output-06 net key_09 matrix_kb.0.col-00-in <= hm2_7i92.0.7i77.0.0.input-08 net key_10 matrix_kb.0.col-01-in <= hm2_7i92.0.7i77.0.0.input-09 net key_11 matrix_kb.0.col-02-in <= hm2_7i92.0.7i77.0.0.input-10 net key_12 matrix_kb.0.col-03-in <= hm2_7i92.0.7i77.0.0.input-11 net key_13 matrix_kb.0.col-04-in <= hm2_7i92.0.7i77.0.0.input-12 net key_14 matrix_kb.0.col-05-in <= hm2_7i92.0.7i77.0.0.input-13 net key_15 matrix_kb.0.col-06-in <= hm2_7i92.0.7i77.0.0.input-14 net key_16 matrix_kb.0.col-07-in <= hm2_7i92.0.7i77.0.0.input-15 #----PHYSICAL-MESA-PINS---MATRIX KEYBOARD---END--- #============================================================ #----KEYBOARD-LAYOUT-PYAUTOGUI---MATRIX KEYBOARD---START--- net keyboard-enter matrix_kb.0.key.r5c2 => pyautopins.enter net keyboard-m matrix_kb.0.key.r0c2 => pyautopins.m net keyboard-6 matrix_kb.0.key.r0c5 => pyautopins.6 net keyboard-t matrix_kb.0.key.r1c5 => pyautopins.t net keyboard-1 matrix_kb.0.key.r4c4 => pyautopins.1 net keyboard-2 matrix_kb.0.key.r4c7 => pyautopins.2 net keyboard-3 matrix_kb.0.key.r4c6 => pyautopins.3 net keyboard-4 matrix_kb.0.key.r4c5 => pyautopins.4 net keyboard-5 matrix_kb.0.key.r0c6 => pyautopins.5 net keyboard-7 matrix_kb.0.key.r0c1 => pyautopins.7 net keyboard-8 matrix_kb.0.key.r4c1 => pyautopins.8 net keyboard-9 matrix_kb.0.key.r4c3 => pyautopins.9 net keyboard-0 matrix_kb.0.key.r4c0 => pyautopins.0 net keyboard-backspace matrix_kb.0.key.r5c4 => pyautopins.backspace net keyboard-q matrix_kb.0.key.r5c7 => pyautopins.q net keyboard-w matrix_kb.0.key.r5c6 => pyautopins.w net keyboard-e matrix_kb.0.key.r5c5 => pyautopins.e net keyboard-r matrix_kb.0.key.r1c6 => pyautopins.r net keyboard-y matrix_kb.0.key.r1c1 => pyautopins.y net keyboard-u matrix_kb.0.key.r1c3 => pyautopins.u net keyboard-i matrix_kb.0.key.r5c1 => pyautopins.i net keyboard-o matrix_kb.0.key.r5c3 => pyautopins.o net keyboard-p matrix_kb.0.key.r5c0 => pyautopins.p net keyboard-delete matrix_kb.0.key.r7c4 => pyautopins.delete net keyboard-a matrix_kb.0.key.r7c7 => pyautopins.a net keyboard-s matrix_kb.0.key.r7c6 => pyautopins.s net keyboard-d matrix_kb.0.key.r7c5 => pyautopins.d net keyboard-f matrix_kb.0.key.r1c4 => pyautopins.f net keyboard-g matrix_kb.0.key.r1c7 => pyautopins.g net keyboard-h matrix_kb.0.key.r1c0 => pyautopins.h net keyboard-j matrix_kb.0.key.r1c2 => pyautopins.j net keyboard-k matrix_kb.0.key.r7c1 => pyautopins.k net keyboard-l matrix_kb.0.key.r7c3 => pyautopins.l net keyboard-semicolon matrix_kb.0.key.r7c0 => pyautopins.semicolon net keyboard-plus matrix_kb.0.key.r7c2 => pyautopins.plus net keyboard-shiftleft matrix_kb.0.key.r2c4 => pyautopins.shiftleft net keyboard-shiftright matrix_kb.0.key.r2c2 => pyautopins.shiftright net keyboard-z matrix_kb.0.key.r2c7 => pyautopins.z net keyboard-x matrix_kb.0.key.r2c6 => pyautopins.x net keyboard-c matrix_kb.0.key.r2c5 => pyautopins.c net keyboard-v matrix_kb.0.key.r0c4 => pyautopins.v net keyboard-b matrix_kb.0.key.r0c7 => pyautopins.b net keyboard-n matrix_kb.0.key.r0c0 => pyautopins.n net keyboard-comma matrix_kb.0.key.r2c1 => pyautopins.comma net keyboard-period matrix_kb.0.key.r2c3 => pyautopins.period net keyboard-forwardslash matrix_kb.0.key.r2c0 => pyautopins.forwardslash net keyboard-space matrix_kb.0.key.r0c3 => pyautopins.space net keyboard-minus matrix_kb.0.key.r4c2 => pyautopins.minus #----KEYBOARD-LAYOUT-PYAUTOGUI---MATRIX KEYBOARD---END--- #============================================================ #----PINS---TOGGLE COMPONENTS---START # Flood Coolant control with one button #net flood-toggle toggle.0.in <= matrix_kb.0.key.r3c6 #net flood-control toggle.0.out => hm2_7i92.0.7i72.0.2.output-01 # THRU SPINDLE COOLANT with one button #net thru-spindle-toggle toggle.1.in <= matrix_kb.0.key.r3c5 #net thru-spindle-control toggle.1.out => hm2_7i92.0.7i72.0.2.output-02 # SPINDLE HIGH RANGE!! control with one button #net spindle-high-toggle toggle.2.in <= matrix_kb.0.key.r1c0 #net spindle-high-control toggle.2.out => hm2_7i92.0.7i72.0.2.output-05 # KEYBOARD SLIDE HOLD!! control with one button #net slide-hold-toggle toggle.6.in <= matrix_kb.0.key.r3c4 #net slide-hold-control toggle.6.out => motion.feed-hold # SPINDLE ORIENTATION!! control with one button #net spindle-orient-toggle toggle.3.in <= matrix_kb.0.key.r5c3 #net spindle-orient-control toggle.3.out => hm2_7i92.0.7i72.0.2.output-06 # SLIDE MOTOR!! control with one button #net slide-motor-toggle toggle.4.in <= matrix_kb.0.key.r0c2 #net slide-motor-control toggle.4.out => hm2_7i92.0.7i72.0.2.output-07 # SLIDE IN!! control with one button #net slide-in-toggle toggle.5.in <= matrix_kb.0.key.r0c0 #net slide-in-control toggle.5.out => hm2_7i92.0.7i72.0.2.output-08 # TURRET MOTOR ON!!---KEYBOARD KEY = TURRET CW---control with one button #net turret-motor-toggle ATC.turret-toggle toggle.6.in <= matrix_kb.0.key.r3c2 #net turret-motor-control toggle.6.out => ATC.turret-status #net turret-on ATC.turret-on => hm2_7i92.0.7i72.0.2.output-09 #----PINS---TOGGLE COMPONENTS---END #============================================================ #---PROGRAM-RUN, OPTIONAL-STOP, BLOCK-DELETE, SINGLE-STEP, AND-PAUSE---START--- net program-run1 or2.0.in0 hm2_7i92.0.7i77.0.0.input-19 net program-run2 or2.0.in1 matrix_kb.0.key.r6c4 net program-runout or2.0.out halui.program.run net program-pause1 or2.1.in0 hm2_7i92.0.7i77.0.0.input-18 progres.panbutton net program-pause2 or2.1.in1 matrix_kb.0.key.r3c4 progres.matrixbutton net program-pauseout or2.1.out halui.program.pause net program-is-paused halui.program.is-paused progres.pausestatus net program-resume progres.resume => halui.program.resume net optional-stop-on hm2_7i92.0.7i77.0.0.input-06-not => halui.program.optional-stop.on net optional-stop-off hm2_7i92.0.7i77.0.0.input-06 => halui.program.optional-stop.off net block-delete-on hm2_7i92.0.7i77.0.0.input-07-not => halui.program.block-delete.on net block-delete-off hm2_7i92.0.7i77.0.0.input-07 => halui.program.block-delete.off net single-step matrix_kb.0.key.r6c1 => halui.program.step #---PROGRAM-RUN,OPTIONAL-STOP,AND-PAUSE---END--- #============================================================ #---RAPID-OVERRIDE-SELECTOR-SWITCH---START--- net override-scale halui.rapid-override.scale rapidselect.scale-output net override-value halui.rapid-override.value rapidselect.value net rapid-sel-0 rapidselect.one <= hm2_7i92.0.7i77.0.0.input-21 net rapid-sel-1 rapidselect.two <= hm2_7i92.0.7i77.0.0.input-22 net rapid-sel-2 rapidselect.three <= hm2_7i92.0.7i77.0.0.input-23 net rapid-sel-inc rapidselect.increase halui.rapid-override.increase net rapid-sel-dec rapidselect.decrease halui.rapid-override.decrease #---RAPID-OVERRIDE-SELECTOR-SWITCH---START--- #============================================================ #---SPINDLE-GEAR-CHOICE---START--- net high-gear gearchoice.0.high-gear hm2_7i92.0.7i72.0.2.output-05 #---SPINDLE-GEAR-CHOICE---END--- #===================

Please Log in to join the conversation.

More
7 years 5 months ago #134520 by giz
Replied by giz on topic SPINDLE ORIENT PID
Did you ever get this working? I was struggling with this same problem before I packed up and moved my machine in December.

There is a lot of info in my latest post - I have a working PID loop however I did not reach a point where it was working well.

Please Log in to join the conversation.

Time to create page: 0.079 seconds
Powered by Kunena Forum