############################################ # Generic section ############################################ #========================================== # Components declaration #========================================== #loadrt trivkins #loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS loadrt weighted_sum wsum_sizes=4,4,2 loadrt sum2 count=3 loadrt conv_s32_float count=3 loadrt scale count=3 addf motion-command-handler servo-thread addf motion-controller servo-thread addf process_wsums servo-thread addf sum2.0 servo-thread addf conv-s32-float.0 servo-thread addf conv-s32-float.1 servo-thread addf scale.0 servo-thread addf scale.1 servo-thread #loadusr halui -ini maurice.ini #loadusr io #========================================== # Global machine logic #========================================== net state-op => iocontrol.0.emc-enable-in #========================================== # X axis #========================================== net X-amp <= joint.0.amp-enable-out #net X-fault => joint.0.amp-fault-in net X-poscmd <= joint.0.motor-pos-cmd net X-posfb => joint.0.motor-pos-fb #net X-homed => joint.0.home-sw-in #net Home-X <= joint.0.homing net X-inhibit => motion.feed-inhibit #net X-PoT => joint.0.pos-lim-sw-in #net X-NoT => joint.0.neg-lim-sw-in #========================================== # Z axis #========================================== net Z-amp <= joint.2.amp-enable-out #net Z-fault => joint.2.amp-fault-in net Z-poscmd <= joint.2.motor-pos-cmd net Z-posfb => joint.2.motor-pos-fb #net Z-homed => joint.2.home-sw-in #net Home-Z <= joint.2.homing #net Z-inhibit => motion.feed−inhibit #net Z-PoT => joint.2.pos-lim-sw-in #net Z-NoT => joint.2.neg-lim-sw-in #net SpindleSpeedFB motion.spindle-speed-in ############################################ # Hardware section ############################################ #========================================== # Components declaration #========================================== #loadusr -W lcec_conf maurice.xml #loadrt lcec #addf lcec.read-all servo-thread #addf lcec.write-all servo-thread setp lcec.0.0.drivecontrol-1 1 setp lcec.0.0.drivecontrol-2 1 setp lcec.0.1.drivecontrol-1 1 setp lcec.0.1.drivecontrol-2 1 setp lcec.0.0.modecontrol-0 0 setp lcec.0.0.modecontrol-4 0 setp lcec.0.1.modecontrol-0 0 setp lcec.0.1.modecontrol-4 0 #========================================== # X axis #========================================== net X-amp => lcec.0.0.drivecontrol-3 => lcec.0.0.drivecontrol-0 net X-poscmd => lcec.0.0.poscommand net X-posfb <= lcec.0.0.pos net X-fault <= lcec.0.0.drivestatus-3 net X-stat-pos <= lcec.0.0.modestatus-3 net X-stat-home <= lcec.0.0.modestatus-2 net X-homingok <= lcec.0.0.drivestatus-12 net X-athome <= lcec.0.0.drivestatus-10 net X-ctrl-home => lcec.0.0.modecontrol-1 => lcec.0.0.modecontrol-2 net X-homestart => lcec.0.0.drivecontrol-4 net X-ctrl-pos => lcec.0.0.modecontrol-3 net X-PoT <= lcec.0.0.inputs-1 net X-NoT <= lcec.0.0.inputs-0 #========================================== # Z axis #========================================== net Z-amp => lcec.0.1.drivecontrol-3 => lcec.0.1.drivecontrol-0 net Z-poscmd => lcec.0.1.poscommand net Z-posfb <= lcec.0.1.pos net Z-fault <= lcec.0.1.drivestatus-3 net Z-stat-pos <= lcec.0.1.modestatus-3 net Z-stat-home <= lcec.0.1.modestatus-2 net Z-homingok <= lcec.0.1.drivestatus-12 net Z-athome <= lcec.0.1.drivestatus-10 net Z-ctrl-home => lcec.0.1.modecontrol-1 => lcec.0.1.modecontrol-2 net Z-homestart => lcec.0.1.drivecontrol-4 net Z-ctrl-pos => lcec.0.1.modecontrol-3 net Z-PoT <= lcec.0.1.inputs-1 net Z-NoT <= lcec.0.1.inputs-0 #========================================== #Tool Changer #========================================== net ToolChangeRequest iocontrol.0.tool-change net ToolPrepPocket iocontrol.0.tool-prep-pocket net ToolChangeOk iocontrol.0.tool-changed net tool-prep-loop iocontrol.0.tool-prepare iocontrol.0.tool-prepared #Panel Tool Selector net PanelTurret1 wsum.0.bit.3.in net PanelTurret2 wsum.0.bit.2.in net PanelTurret3 wsum.0.bit.1.in net PanelTurret4 wsum.0.bit.0.in net manualtool wsum.0.sum #Panel Feed Selector net FeedOv1 wsum.1.bit.3.in net FeedOv2 wsum.1.bit.2.in net FeedOv3 wsum.1.bit.1.in net FeedOv4 wsum.1.bit.0.in net FeedOv wsum.1.sum conv-s32-float.0.in net FeedOvF conv-s32-float.0.out net FeedOvF scale.0.in setp scale.0.gain -0.06666666666666666666666666666666666666667 setp scale.0.offset 1 net FeedOverride scale.0.out net RapidOv1 wsum.2.bit.1.in net RapidOv2 wsum.2.bit.0.in net RapidOv wsum.2.sum conv-s32-float.1.in net RapidOvF conv-s32-float.1.out net RapidOvF scale.1.in setp scale.1.gain -0.333333333333333333333 setp scale.1.offset 1 net RapidOverride scale.1.out