#RMC Rev41.1 - Add spindle lock interlock, PDB M-code, angular jog scale, switch SRO/FRO inputs on MPG #RMC Rev41 - Added 4th axis back #RMC Rev40 - new control panel & 7i73 ### I/O ### #SINGLE BLOCK LOGIC IN CLASSIC LADDER HAL #CYCLE START LOGIC IN CLASSIC LADDER HAL #FEED HOLD LOGIC IN CLASSIC LADDER HAL #7I76ED I/O #POWER DRAW BAR BUTTON IN 02_ATC.HAL net BTN-CYCLESTART <= [HMOT](CARD0).7i76.0.0.input-17 net BTN-FEEDHOLD <= [HMOT](CARD0).7i76.0.0.input-18 #PROBE net PROBE-IN <= [HMOT](CARD0).7i76.0.0.input-03-not net PROBE-IN => motion.probe-input #7I73 OPERATOR PANEL KEYPAD net keypad <= [HMOT](CARD0).7i73.0.1.keycode net keypad => matrix_kb.0.keycode #(LEFT BANK) net BTN-FRO-DEC <= matrix_kb.0.key.r0c0 net BTN-FRO-RESET <= matrix_kb.0.key.r0c1 net BTN-FRO-INC <= matrix_kb.0.key.r0c2 net BTN-SRO-DEC <= matrix_kb.0.key.r1c0 net BTN-SRO-RESET <= matrix_kb.0.key.r1c1 net BTN-SRO-INC <= matrix_kb.0.key.r1c2 net BTN-SPN-CW <= matrix_kb.0.key.r2c0 net BTN-SPN-OFF <= matrix_kb.0.key.r2c1 net BTN-SPN-CCW <= matrix_kb.0.key.r2c2 net BTN-RRO-5 <= matrix_kb.0.key.r3c0 net BTN-RRO-20 <= matrix_kb.0.key.r3c1 net BTN-RRO-RESET <= matrix_kb.0.key.r3c2 #(MIDDLE BANK) net BTN-OPTSTOP <= matrix_kb.0.key.r0c3 net BTN-SGLBLK <= matrix_kb.0.key.r0c4 net BTN-BLKSKIP <= matrix_kb.0.key.r0c5 net BTN-MAN <= matrix_kb.0.key.r1c3 net BTN-MDI <= matrix_kb.0.key.r1c4 net BTN-AUTO <= matrix_kb.0.key.r1c5 net BTN-HOME-ALL <= matrix_kb.0.key.r2c3 net BTN-HOME-A <= matrix_kb.0.key.r2c4 net BTN-HOME-ATC <= matrix_kb.0.key.r2c5 net BTN-MIST <= matrix_kb.0.key.r3c3 net BTN-FLOOD <= matrix_kb.0.key.r3c4 net BTN-BLAST <= matrix_kb.0.key.r3c5 #(RIGHT BANK) net BTN-SPARE01 <= matrix_kb.0.key.r0c6 net BTN-JOGPOS <= matrix_kb.0.key.r0c7 net BTN-SPARE02 <= matrix_kb.0.key.r1c6 net BTN-JOGNEG <= matrix_kb.0.key.r1c7 net BTN-SPARE03 <= matrix_kb.0.key.r2c6 net BTN-SPARE04 <= matrix_kb.0.key.r2c7 net BTN-SPARE05 <= matrix_kb.0.key.r3c6 net BTN-CYCSTOP <= matrix_kb.0.key.r3c7 #7I73 OPERATOR PANEL LEDS net LED-OPTSTOP => [HMOT](CARD0).7i73.0.1.output-02 #OPTSTOP LED-r0c3 net LED-MODE-MANUAL => [HMOT](CARD0).7i73.0.1.output-03 #MODE-MAN LED-r1c3 net LED-RAPID-RESET => [HMOT](CARD0).7i73.0.1.output-04 #RAPID 100% LED-r3c2 net LED-FRO-OUT => [HMOT](CARD0).7i73.0.1.output-05 #FRO LED-r0c1 net LED-SRO-OUT => [HMOT](CARD0).7i73.0.1.output-06 #SRO LED-r1c1 net LED-RAPID-20 => [HMOT](CARD0).7i73.0.1.output-07 #RAPID 20% LED-r3c1 net LED-RAPID-5 => [HMOT](CARD0).7i73.0.1.output-08 #RAPID 5% LED-r3c0 net PROGRAM-STOP => [HMOT](CARD0).7i73.0.1.output-11 #CYCSTOP LED-r3c7 FROM CLASSIC LADDER net LED-SPARE05 => [HMOT](CARD0).7i73.0.1.output-12 #SPARE LED-r3c6 net LED-BLKSKIP => [HMOT](CARD0).7i73.0.1.output-13 #BLKSKIP LED-r0c5 net LED-MODE-AUTO => [HMOT](CARD0).7i73.0.1.output-17 #MODE-AUTO LED-r1c5 net LED-MODE-MDI => [HMOT](CARD0).7i73.0.1.output-14 #MODE-MDI LED-r1c4 net LED-SNGLBLK => [HMOT](CARD0).7i73.0.1.output-15 #SNGLBLK LED-r0c4 net ATC-HOMED => [HMOT](CARD0).7i73.0.1.output-16 #ATCHOME LED-r2c6 #FEED OVERRIDE BUTTONS & MPG setp mux2.1.in0 0.1 #PUSHBUTTON SCALE setp mux2.1.in1 0.01 #MPG SCALE net FRO-SELECT => halui.feed-override.count-enable #MPG SELECTED net MPG-ENCODER-COUNT => halui.feed-override.counts #MPG ENCODER net FRO-SELECT => mux2.1.sel #SELECT FROM PUSHBUTTON OR MPG SCALE BASED ON SWITCH POS net FRO-SCALE <= mux2.1.out net FRO-SCALE => halui.feed-override.scale net BTN-FRO-DEC => halui.feed-override.decrease #PUSHBUTTON -10% net BTN-FRO-INC => halui.feed-override.increase #PUSHBUTTON +10% net BTN-FRO-RESET => halui.feed-override.reset #PUSHBUTTON RESET net FRO-VALUE-OUT <= halui.feed-override.value #LED INDICATOR LOGIC OUTPUT #FEED OVERRIDE LED setp wcomp.0.min .99 setp wcomp.0.max 1.01 setp blink.0.on-time 50 setp blink.0.off-time 50 net FRO-VALUE-OUT => wcomp.0.in net LED-FRO-SOLID <= wcomp.0.out net LED-FRO-BLINK1 <= wcomp.0.over net LED-FRO-BLINK2 <= wcomp.0.under net LED-FRO-BLINK1 => or2.2.in0 net LED-FRO-BLINK2 => or2.2.in1 net LED-FRO-BLINKENABLE <= or2.2.out net LED-FRO-BLINKENABLE => blink.0.enable net LED-FRO-BLINKING <= blink.0.blink-on net LED-FRO-SOLID => or2.3.in0 net LED-FRO-BLINKING => or2.3.in1 net LED-FRO-ON <= or2.3.out net LED-FRO-ON => and2.7.in0 net MACHINE-IS-ON => and2.7.in1 net LED-FRO-OUT <= and2.7.out #SPINDLE OVERRIDE BUTTONS setp mux2.2.in0 0.1 #PUSHBUTTON SCALE setp mux2.2.in1 0.01 #MPG SCALE net SRO-SELECT => halui.spindle.0.override.count-enable #MPG SELECTED net MPG-ENCODER-COUNT => halui.spindle.0.override.counts #MPG ENCODER net SRO-SELECT => mux2.2.sel #SELECT FROM PUSHBUTTON OR MPG SCALE BASED ON SWITCH POS net SRO-SCALE <= mux2.2.out net SRO-SCALE => halui.spindle.0.override.scale net BTN-SRO-DEC => halui.spindle.0.override.decrease #PUSHBUTTON -10% net BTN-SRO-INC => halui.spindle.0.override.increase #PUSHBUTTON +10% net BTN-SRO-RESET => halui.spindle.0.override.reset #PUSHBUTTON RESET net SRO-VALUE-OUT <= halui.spindle.0.override.value #LED INDICATOR LOGIC OUTPUT #SPINDLE OVERRIDE LED setp wcomp.1.min .99 setp wcomp.1.max 1.01 setp blink.1.on-time 50 setp blink.1.off-time 50 net SRO-VALUE-OUT => wcomp.1.in net LED-SRO-SOLID <= wcomp.1.out net LED-SRO-BLINK1 <= wcomp.1.over net LED-SRO-BLINK2 <= wcomp.1.under net LED-SRO-BLINK1 => or2.7.in0 net LED-SRO-BLINK2 => or2.7.in1 net LED-SRO-BLINKENABLE <= or2.7.out net LED-SRO-BLINKENABLE => blink.1.enable net LED-SRO-BLINKING <= blink.1.blink-on net LED-SRO-SOLID => or2.8.in0 net LED-SRO-BLINKING => or2.8.in1 net LED-SRO-ON <= or2.8.out net LED-SRO-ON => and2.8.in0 net MACHINE-IS-ON => and2.8.in1 net LED-SRO-OUT <= and2.8.out #SPINDLE MANUAL BUTTONS net BTN-SPN-CW => halui.spindle.0.forward net BTN-SPN-CCW => halui.spindle.0.reverse net BTN-SPN-OFF => halui.spindle.0.stop #RAPID OVERRIDE BUTTONS setp halui.rapid-override.direct-value false setp halui.rapid-override.count-enable true setp mux4.rro.in0 100 setp mux4.rro.in1 20 setp mux4.rro.in2 5 setp halui.rapid-override.scale 0.01 net BTN-RRO-RESET => halui.rapid-override.reset net RRO-OUT-20 => mux4.rro.sel0 #SIGNAL FROM CLASSIC LADDER net RRO-OUT-5 => mux4.rro.sel1 #SIGNAL FROM CLASSIC LADDER net RRO-S32-CONV <= mux4.rro.out net RRO-S32-CONV => conv-float-s32.1.in net RRO-VALUE <= conv-float-s32.1.out net RRO-VALUE => halui.rapid-override.counts net RRO-VALUE-OUT <= halui.rapid-override.value #RAPID OVERRIDE BUTTON LEDS net MACHINE-IS-ON => and2.3.in0 net LED-RRO100 => and2.3.in1 #SIGNAL FROM CLASSIC LADDER net LED-RAPID-RESET <= and2.3.out #LED ILLUMINATED ONLY WHEN MACHINE IS ON net MACHINE-IS-ON => and2.4.in0 net LED-RRO20 => and2.4.in1 #SIGNAL FROM CLASSIC LADDER net LED-RAPID-20 <= and2.4.out #LED ILLUMINATED ONLY WHEN MACHINE IS ON net MACHINE-IS-ON => and2.5.in0 net LED-RRO5 => and2.5.in1 #SIGNAL FROM CLASSIC LADDER net LED-RAPID-5 <= and2.5.out #LED ILLUMINATED ONLY WHEN MACHINE IS ON #MODE net BTN-MAN => halui.mode.manual net MODE-MANUAL-OUT <= halui.mode.is-manual net MODE-MANUAL-OUT => and2.9.in0 net MACHINE-IS-ON => and2.9.in1 #LED ILLUMINATED ONLY WHEN MACHINE IS ON net LED-MODE-MANUAL <= and2.9.out net BTN-MDI => halui.mode.mdi net MODE-MDI-OUT <= halui.mode.is-mdi net MODE-MDI-OUT => and2.10.in0 net MACHINE-IS-ON => and2.10.in1 #LED ILLUMINATED ONLY WHEN MACHINE IS ON net LED-MODE-MDI <= and2.10.out net BTN-AUTO => or2.1.in0 #TO CLASSIC LADDER net mode-is-auto => and2.11.in0 net MACHINE-IS-ON => and2.11.in1 #LED ILLUMINATED ONLY WHEN MACHINE IS ON net LED-MODE-AUTO <= and2.11.out net PROGRAM-STOP => and2.12.in0 #FROM CLASSIC LADDER net MACHINE-IS-ON => and2.12.in1 #LED ILLUMINATED ONLY WHEN MACHINE IS ON net LED-CYCSTOP <= and2.12.out #SINGLEBLOCK LED (BTN IN CLASSIC LADDER) net LED-SB-OUT => and2.13.in0 net MACHINE-IS-ON => and2.13.in1 #LED ILLUMINATED ONLY WHEN MACHINE IS ON net LED-SNGLBLK <= and2.13.out #OPTIONAL STOP BUTTON & LED net BTN-OPTSTOP => toggle.0.in net OPTSTOP-ON <= toggle.0.out net OPTSTOP-ON => not.1.in net OPTSTOP-OFF <= not.1.out net OPTSTOP-ON => halui.program.optional-stop.on net OPTSTOP-OFF => halui.program.optional-stop.off net LED-OPTSTOP <= halui.program.optional-stop.is-on #BLOCK DELETE BUTTON & LED net BTN-BLKSKIP => toggle.1.in net BLKSKIP-ON <= toggle.1.out net BLKSKIP-ON => not.2.in net BLKSKIP-OFF <= not.2.out net BLKSKIP-ON => halui.program.block-delete.on net BLKSKIP-OFF => halui.program.block-delete.off net LED-BLKSKIP <= halui.program.block-delete.is-on #MIST COOLANT net BTN-MIST => toggle.2.in net MIST-ON <= toggle.2.out net MIST-ON => toggle2nist.0.in net MIST-ISON <= halui.mist.is-on net MIST-ISON => toggle2nist.0.is-on net MIST-TOG-ON <= toggle2nist.0.on net MIST-TOG-ON => halui.mist.on net MIST-TOG-OFF <= toggle2nist.0.off net MIST-TOG-OFF => halui.mist.off net MIST-ISON => [HMOT](CARD0).7i76.0.0.output-00 #FLOOD COOLANT net BTN-FLOOD => toggle.3.in net FLOOD-ON <= toggle.3.out net FLOOD-ON => toggle2nist.1.in net FLOOD-ISON <= halui.flood.is-on net FLOOD-ISON => toggle2nist.1.is-on net FLOOD-TOG-ON <= toggle2nist.1.on net FLOOD-TOG-ON => halui.flood.on net FLOOD-TOG-OFF <= toggle2nist.1.off net FLOOD-TOG-OFF => halui.flood.off net FLOOD-ISON => [HMOT](CARD0).7i76.0.0.output-07 #AIR BLAST net BTN-BLAST => [HMOT](CARD0).7i76.0.0.output-04 #ATC BUTTONS setp oneshot.1.width 1 net HOMED-ALL <= motion.is-all-homed net HOMED-ALL => oneshot.1.in net HOMED-ALL-TRIG <= oneshot.1.out net HOMED-ALL-TRIG => or2.10.in0 net BTN-HOME-ATC => or2.10.in1 net HOME-ATC <= or2.10.out net HOME-ATC => halui.mdi-command-02 net BTN-ATC-FWD => halui.mdi-command-00 net BTN-ATC-REV => halui.mdi-command-01 #HOME BUTTON net BTN-HOME-ALL => halui.home-all