Skip to content
maurice.hal 4.83 KiB
Newer Older
############################################
# 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
electrolab's avatar
electrolab committed
loadrt weighted_sum wsum_sizes=4,4,2
loadrt sum2 count=3
loadrt conv_s32_float count=3
loadrt scale count=3
electrolab's avatar
electrolab committed

addf motion-command-handler servo-thread
addf motion-controller servo-thread
electrolab's avatar
electrolab committed
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
electrolab's avatar
electrolab committed

#==========================================
# Global machine logic
#==========================================

net state-op    => iocontrol.0.emc-enable-in

#==========================================
# X axis
#==========================================

net X-amp       <= joint.0.amp-enable-out
electrolab's avatar
electrolab committed
#net X-fault     => joint.0.amp-fault-in

net X-poscmd    <= joint.0.motor-pos-cmd
net X-posfb     => joint.0.motor-pos-fb

electrolab's avatar
electrolab committed
#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
electrolab's avatar
electrolab committed
#net Z-fault     => joint.2.amp-fault-in

net Z-poscmd    <= joint.2.motor-pos-cmd
net Z-posfb     => joint.2.motor-pos-fb

electrolab's avatar
electrolab committed
#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
electrolab's avatar
electrolab committed
#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
electrolab's avatar
electrolab committed

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

electrolab's avatar
electrolab committed
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
electrolab's avatar
electrolab committed
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
electrolab's avatar
electrolab committed
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
electrolab's avatar
electrolab committed
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

electrolab's avatar
electrolab committed
#==========================================
#Tool Changer
#==========================================
electrolab's avatar
electrolab committed
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
electrolab's avatar
electrolab committed
#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