Skip to content
maurice.hal 4.6 KiB
Newer Older
############################################
# Generic section
############################################

#==========================================
# Components declaration
#==========================================

electrolab's avatar
electrolab committed
loadrt trivkins
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS

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

############################################
# Hardware section
############################################

#==========================================
# Components declaration
#==========================================

electrolab's avatar
electrolab committed
loadrt classicladder_rt
addf classicladder.0.refresh servo-thread
loadusr classicladder maurice.clp

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

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

net state-op    <= lcec.state-op

#==========================================
# 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

#==========================================
# ClassicLadder
#==========================================

# Inputs
electrolab's avatar
electrolab committed
net X-stat-home	=> classicladder.0.in-00
net X-stat-pos	=> classicladder.0.in-01
net X-homingok  => classicladder.0.in-02
net X-athome    => classicladder.0.in-03
net Z-stat-home	=> classicladder.0.in-04
net Z-stat-pos	=> classicladder.0.in-05
net Z-homingok  => classicladder.0.in-06
net Z-athome    => classicladder.0.in-07
net Home-All	=> classicladder.0.in-08
net Home-X	    => classicladder.0.in-09
net Home-Z	    => classicladder.0.in-10
electrolab's avatar
electrolab committed
# Outputs
electrolab's avatar
electrolab committed

electrolab's avatar
electrolab committed
net X-homed	    <= classicladder.0.out-00
net Z-homed	    <= classicladder.0.out-01
net X-inhibit	<= classicladder.0.out-02
net Z-inhibit	<= classicladder.0.out-03
net X-ctrl-home	<= classicladder.0.out-04
net X-ctrl-pos	<= classicladder.0.out-05
net Z-ctrl-home	<= classicladder.0.out-06
net Z-ctrl-pos	<= classicladder.0.out-07
net X-homestart	<= classicladder.0.out-08
net Z-homestart	<= classicladder.0.out-09