All pastes #871414 Raw Edit

m5i20 hal

public text v1 · immutable
#871414 ·published 2008-01-24 22:46 UTC
rendered paste body
# HAL config file for Mesa Electronics 5i20 PCI board
#
# Install driver.
#loadrt hal_m5i20

# Classicladder for machine logic (load the realtime portion).
#loadrt classicladder_rt numRungs=4 numBits=16 numWords=4 numTimers=2 numMonostables=2 numPhysInputs=16 numPhysOutputs=8 numArithmExpr=4 numSections=1

# Invoke the user part of CL to silently load the program.
#loadusr -w classicladder --nogui ../configs/common/bridgeport.clp

# Add I/O to servo thread so they will be evaluated
# every servo period.
# inputs are read at the beginning of the thread
addf m5i20.0.misc-update servo-thread 1
#addf m5i20.0.adc-read servo-thread 1
addf m5i20.0.digital-in-read servo-thread 1
#addf classicladder.0.refresh servo-thread 1
# outputs are updated at the end of the thread
addf m5i20.0.digital-out-write servo-thread -1

#
# Connect motion controller I/Os
#

# Connect limit/home switch outputs to motion controller.
newsig Xminlim bit
#newsig Xmaxlim  bit
#newsig Xhome bit
linksp Xminlim <= m5i20.0.in-00-not
linksp Xminlim => axis.0.neg-lim-sw-in
#linksp Xmaxlim <= m5i20.0.in-01-not
#linksp Xmaxlim => axis.0.pos-lim-sw-in
#linksp Xhome <= m5i20.0.in-02
#linksp Xhome => axis.0.home-sw-in

newsig Yminlim bit
#newsig Ymaxlim  bit
#newsig Yhome bit
linksp Yminlim <= m5i20.0.in-01-not
linksp Yminlim => axis.1.neg-lim-sw-in
#linksp Ymaxlim <= m5i20.0.in-05-not
#linksp Ymaxlim => axis.1.pos-lim-sw-in
#linksp Yhome <= m5i20.0.in-06
#linksp Yhome => axis.1.home-sw-in

newsig Zminlim bit
#newsig Zmaxlim  bit
#newsig Zhome bit
linksp Zminlim <= m5i20.0.in-02-not
linksp Zminlim => axis.2.neg-lim-sw-in
#linksp Zmaxlim <= m5i20.0.in-09-not
#linksp Zmaxlim => axis.2.pos-lim-sw-in
#linksp Zhome <= m5i20.0.in-10
#linksp Zhome => axis.2.home-sw-in

# Connect amp faults to motion controller.
#newsig Xfault bit
#newsig Yfault  bit
#newsig Zfault bit
#linksp Xfault <= m5i20.0.in-03-not
#linksp Xfault => axis.0.amp-fault-in
#linksp Yfault <= m5i20.0.in-07-not
#linksp Yfault => axis.1.amp-fault-in
#linksp Zfault <= m5i20.0.in-11-not
#linksp Zfault => axis.2.amp-fault-in

# Connect amp enables to motion controller.
linksp Xenable => m5i20.0.out-00
#linksp Yenable => m5i20.0.out-09
#linksp Zenable => m5i20.0.out-10

#  Connect amp enables to m5i20 dac enables
linksp Xenable => m5i20.0.dac-00-enable
#linksp Yenable => m5i20.0.dac-01-enable
#linksp Zenable => m5i20.0.dac-02-enable

# Connect watchdog reset to motion controller.
#newsig WatchdogRst bit
#linksp WatchdogRst <= m5i20.watchdog-reset
#linksp WatchdogRst => motion.watchdog-reset-out


#
# Connect I/O controller I/Os
#

# Connect e-stop write/sense to I/O controller.
#
# The estop from the opto module should be jumpered to one of the
# m5i20 estop pins. This will notify the motion of the estop condition
# and it will zero the DACs and turn off all output even if the PC
# has crashed.
#
newsig EstopSense bit
newsig EstopWrite bit
# create a signal for the estop loopback -- remove for external
#net estop-loop iocontrol.0.user-enable-out iocontrol.0.emc-enable-in

# use this if you have an external estop switch
linksp EstopSense <= m5i20.0.in-07
linksp EstopSense => iocontrol.0.emc-enable-in
linksp EstopWrite => m5i20.0.out-07
linksp EstopWrite <= iocontrol.0.user-enable-out

# Connect spindle fwd/rev to I/O controller.
#newsig SpindleFwd bit
#newsig SpindleRev bit
#linksp SpindleFwd => m5i20.0.out-00
#linksp SpindleFwd <= motion.spindle-forward
#linksp SpindleRev => m5i20.0.out-01
#linksp SpindleRev <= motion.spindle-reverse

# Connect spindle brake to I/O controller.
#newsig SpindleBrakeOn bit
#linksp SpindleBrakeOn => m5i20.0.out-02
#linksp SpindleBrakeOn <= motion.spindle-brake

# Connect mist/flood coolant to I/O controller.
#newsig MistOn bit
#newsig FloodOn bit
#linksp MistOn => m5i20.0.out-05
#linksp MistOn <= iocontrol.0.coolant-mist
#linksp FloodOn => m5i20.0.out-06
#linksp FloodOn <= iocontrol.0.coolant-flood

# Connect lube motor run to I/O controller.
#newsig LubeOn bit
#linksp LubeOn => m5i20.0.out-12
#linksp LubeOn <= iocontrol.0.lube

# Connect lube level to I/O controller.
#newsig LubeLevel bit
#linksp LubeLevel <= m5i20.0.in-14
#linksp LubeLevel => iocontrol.0.lube_level

# Loop back tool loading pins
#net tool-prep-loop iocontrol.0.tool-prepare iocontrol.0.tool-prepared
#net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed