vti_io.hal
1 # HAL config file for Vigilant Technologies Inc. VTI PCA board 2 # 3 # install driver (only needed if vti_motion.hal doesn't get run) 4 #loadrt hal_vti 5 6 # add I/O to servo thread so they will be evaluated 7 # every servo period 8 # read inputs first 9 addf vti.di-read servo-thread 1 10 # write outputs last 11 addf vti.do-write servo-thread -1 12 13 #uncomment following line if ADC's are needed (for example spindle-tach feedback) 14 #addf vti.0.read-adcs servo-thread 1 15 16 # 17 # Connect motion controller I/Os 18 # 19 20 # connect limit/home switch outputs to motion controller 21 #newsig Xminlim bit 22 #newsig Xmaxlim bit 23 #newsig Xhome bit 24 #linksp Xminlim <= vti.in-02 25 #linksp Xminlim => joint.0.neg-lim-sw-in 26 #linksp Xmaxlim <= vti.in-01 27 #linksp Xmaxlim => joint.0.pos-lim-sw-in 28 #linksp Xhome <= vti.in-00 29 #linksp Xhome => joint.0.home-sw-in 30 31 #newsig Yminlim bit 32 #newsig Ymaxlim bit 33 #newsig Yhome bit 34 #linksp Yminlim <= vti.in-06 35 #linksp Yminlim => joint.1.neg-lim-sw-in 36 #linksp Ymaxlim <= vti.in-05 37 #linksp Ymaxlim => joint.1.pos-lim-sw-in 38 #linksp Yhome <= vti.in-04 39 #linksp Yhome => joint.1.home-sw-in 40 41 #newsig Zminlim bit 42 #newsig Zmaxlim bit 43 #newsig Zhome bit 44 #linksp Zminlim <= vti.in-10 45 #linksp Zminlim => joint.2.neg-lim-sw-in 46 #linksp Zmaxlim <= vti.in-09 47 #linksp Zmaxlim => joint.2.pos-lim-sw-in 48 #linksp Zhome <= vti.in-08 49 #linksp Zhome => joint.2.home-sw-in 50 51 #continue in the same manner for further axes (A,B,C) 52 53 # connect amp faults to motion controller 54 #newsig Xfault bit 55 #newsig Yfault bit 56 #newsig Zfault bit 57 #linksp Xfault <= vti.in-03 58 #linksp Xfault => joint.0.amp-fault-in 59 #linksp Yfault <= vti.in-07 60 #linksp Yfault => joint.1.amp-fault-in 61 #linksp Zfault <= vti.in-11 62 #linksp Zfault => joint.2.amp-fault-in 63 64 # connect index pulses to motion controller 65 # do these when index pulsing is figured out 66 #newsig Xindex bit 67 #newsig Yindex bit 68 #newsig Zindex bit 69 #linksp Xindex <= vti.0.enc-index 70 #linksp Xindex => joint.0.index-enable 71 #linksp Yindex <= vti.1.enc-index 72 #linksp Yindex => joint.1.index-enable 73 #linksp Zindex <= vti.2.enc-index 74 #linksp Zindex => joint.2.index-enable 75 76 # connect amp enables to motion controller 77 #linksp Xenable => vti.out-00 78 #linksp Yenable => vti.out-01 79 #linksp Zenable => vti.out-02 80 81 # connect watchdog reset to motion controller 82 # needs watchdo 83 #newsig WatchdogRst bit 84 #linksp WatchdogRst <= vti.watchdog-reset 85 #linksp WatchdogRst => motion.watchdog-reset-out 86 87 88 # 89 # Connect I/O controller I/Os 90 # 91 92 # connect e-stop write/sense to I/O controller 93 # these connections assume an external ESTOP circuitry will be used 94 # if it's not used, comment the next lines and uncomment the loopback 95 #newsig EstopSense bit 96 #newsig EstopWrite bit 97 #linksp EstopSense <= vti.in-12 98 #linksp EstopSense => iocontrol.0.emc-enable-in 99 #linksp EstopWrite <= vti.out-07 100 #linksp EstopWrite => iocontrol.0.user-enable-out 101 102 # ESTOP loopback, only use this for a simple machine without external ESTOP 103 # you really SHOULDN'T use a servo machine without proper ESTOP 104 #net estop-loop iocontrol.0.user-enable-out iocontrol.0.emc-enable-in 105 106 # connect spindle fwd/rev to I/O controller 107 #newsig SpindleFwd bit 108 #newsig SpindleRev bit 109 #linksp SpindleFwd <= vti.out-06 110 #linksp SpindleFwd => spindle.0.forward 111 #linksp SpindleRev <= vti.out-05 112 #linksp SpindleRev => spindle.0.reverse 113 114 # connect spindle brake to I/O controller 115 #newsig SpindleBrakeOn bit 116 #linksp SpindleBrakeOn <= vti.out-10 117 #linksp SpindleBrakeOn => spindle.0.brake 118 119 # connect mist/flood coolant to I/O controller 120 #newsig MistOn bit 121 #newsig FloodOn bit 122 #linksp MistOn <= vti.out-11 123 #linksp MistOn => iocontrol.0.coolant-mist 124 #linksp FloodOn <= vti.out-12 125 #linksp FloodOn => iocontrol.0.coolant-flood 126 127 # connect lube motor run to I/O controller 128 #newsig LubeOn bit 129 #linksp LubeOn <= vti.out-13 130 #linksp LubeOn => iocontrol.0.lube 131 132 # connect lube level to I/O controller 133 #newsig LubeLevel bit 134 #linksp LubeLevel <= vti.in-13 135 #linksp LubeLevel => iocontrol.0.lube_level