#RMC Rev40 - 7i73 & new control panel #------------------ # ATC #------------------ #pocket request motion.analog-out-00 #carousel enable motion.digital-out-00 #extend solenoid motion.digital-out-01 #retract solenoid motion.digital-out-02 #drawbar solenoid motion.digital-out-03 #spindle lock solenoid motion.digital-out-04 #carousel JOG FWD motion.digital-out-05 #carousel JOG REV motion.digital-out-06 #spindle index trigger motion.digital-out-07 IN SPINDLE.HAL #ATC door motion.digital-out-08 #carousel-ready motion.digital-in-00 #extend proxy motion.digital-in-01 #retract proxy motion.digital-in-02 #drawbar down proxy motion.digital-in-03 #spindle-enable motion.digital-in-04 #spindle oriented motion.digital-in-05 #spindle lock proxy motion.digital-in-06 #carousel-homed motion.digital-in-07 #carousel-active motion.digital-in-08 #ATC door proxy motion.digital-in-09 setp carousel.0.scale [ATC]ATC_SCALE #stepgen pulses per pocket setp carousel.0.width 5 #[ATC]ATC_WIDTH #width is tolerance 'window'; set higher for faster speeds setp carousel.0.fwd-dc 50 #[ATC]ATC_VEL_FWD #degrees/second if stepgen position-scale set to degrees setp carousel.0.rev-dc -50 #[ATC]ATC_VEL_REV #degrees/second if stepgen position-scale set to degrees setp carousel.0.decel-time 0.05 #[ATC]ATC_DECEL #time to wait for carousel to stop before final alignment setp carousel.0.align-dc 10 #[ATC]ATC_ALIGN_DC #slow speed for alignment to sense-0 or sense-1 net ATC_ENABLE <= motion.digital-out-00 net ATC_ENABLE => carousel.0.enable net machine-is-enabled => [HMOT](CARD0).stepgen.03.enable net ATC_READY <= carousel.0.ready net ATC_READY => motion.digital-in-00 net ATC_ACTIVE <= carousel.0.active net ATC_ACTIVE => motion.digital-in-08 net ATC_COUNTS <= [HMOT](CARD0).stepgen.03.counts net ATC_COUNTS => carousel.0.counts net ATC_VEL <= carousel.0.motor-vel net ATC_VEL => [HMOT](CARD0).stepgen.03.velocity-cmd net ATC_INDEX <= [HMOT](CARD0).7i76.0.0.input-06-not #ATC index proximity sensor; 1/per rev net ATC_INDEX => carousel.0.sense-0 net ATC_JOG_FWD <= motion.digital-out-05 net ATC_JOG_FWD => carousel.0.jog-fwd net ATC_JOG_REV <= motion.digital-out-06 net ATC_JOG_REV => carousel.0.jog-rev net ATC_HOMED <= carousel.0.homed net ATC_HOMED => motion.digital-in-07 net ATC_POS_REQ <= motion.analog-out-00 #pocket position request net ATC_POS_REQ => conv-float-s32.0.in #pocket position request convert to s32 net ATC_POS_S32 <= conv-float-s32.0.out net ATC_POS_S32 => carousel.0.pocket-number #pocket position request to carousel.comp net ATC_EXTEND_VALVE <= motion.digital-out-01 #ATC cylinder extend request net ATC_EXTEND_VALVE => [HMOT](CARD0).7i76.0.0.output-03 #ATC cylinder extend solenoid valve net ATC_EXTEND_SENS <= [HMOT](CARD0).7i76.0.0.input-07 #ATC extended proximity sensor net ATC_EXTEND_SENS => motion.digital-in-01 net ATC_RETRACT_VALVE <= motion.digital-out-02 #ATC cylinder retract request net ATC_RETRACT_VALVE => [HMOT](CARD0).7i76.0.0.output-02 #ATC cylinder retract solenoid valve net ATC_RETRACT_SENS <= [HMOT](CARD0).7i76.0.0.input-08 #ATC retracted proximity sensor net ATC_RETRACT_SENS => motion.digital-in-02 net ATC-DOOR-VALVE <= motion.digital-out-08 #ATC door open request net ATC-DOOR-VALVE => [HMOT](CARD0).7i76.0.0.output-10 #ATC door solenoid net ATC-DOOR-SENS <= [HMOT](CARD0).7i76.0.0.input-05-not #ATC door open proximity sensor net ATC-DOOR-SENS => motion.digital-in-09 net PDB_UP_SENS <= [HMOT](CARD0).7i76.0.0.input-09 #PDB cylinder UP proximity sensor (HIGH when PDB is inactive) net PDB_UP_SENS => motion.digital-in-03 net UNCLAMP_TOOL_BUTTON <= [HMOT](CARD0).7i76.0.0.input-04 #PDB manual mode (pushbutton) net UNCLAMP_TOOL_BUTTON => xor2.0.in0 net UNCLAMP_TOOL_AUTO <= motion.digital-out-03 #PDB auto mode (M6 toolchange) net UNCLAMP_TOOL_AUTO => xor2.0.in1 net PDB_RELEASE <= xor2.0.out net PDB_RELEASE => spindle.0.inhibit #spindle inhibit while PDB is active net PDB_RELEASE => [HMOT](CARD0).7i76.0.0.output-08 #PDB cylinder solenoid valve net spindle-enable => motion.digital-in-04 #to check spindle is off during toolchange net orient-lock => motion.digital-in-05 #to check spindle is oriented net SPIN_LOCK_CYL <= motion.digital-out-04 net SPIN_LOCK_CYL => [HMOT](CARD0).7i76.0.0.output-01 #spindle index lock solenoid valve net SPIN_LOCK_PROXY <= [HMOT](CARD0).7i76.0.0.input-02 #spindle index lock retract proxy net SPIN_LOCK_PROXY => motion.digital-in-06 #net ATC_PREP_NUMBER <= iocontrol.0.tool-prep-number net ATC_PREP_LOOP <= iocontrol.0.tool-prepare net ATC_PREP_LOOP => iocontrol.0.tool-prepared net ATC_CHANGE_LOOP <= iocontrol.0.tool-change net ATC_CHANGE_LOOP => iocontrol.0.tool-changed loadusr -W hal_manualtoolchange ## Step Gen signals/setup setp [HMOT](CARD0).stepgen.03.dirsetup [ATC]ATC_DIRSETUP setp [HMOT](CARD0).stepgen.03.dirhold [ATC]ATC_DIRHOLD setp [HMOT](CARD0).stepgen.03.steplen [ATC]ATC_STEPLEN setp [HMOT](CARD0).stepgen.03.stepspace [ATC]ATC_STEPSPACE setp [HMOT](CARD0).stepgen.03.position-scale [ATC]ATC_STEP_SCALE setp [HMOT](CARD0).stepgen.03.step_type [ATC]ATC_STEP_TYPE setp [HMOT](CARD0).stepgen.03.control-type [ATC]ATC_CONTROL_TYPE setp [HMOT](CARD0).stepgen.03.maxaccel [ATC]ATC_MAX_ACCEL setp [HMOT](CARD0).stepgen.03.maxvel [ATC]ATC_MAX_VEL #MANUAL TOOLCHANGE #net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change #net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed #net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number #net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared