Advertisement
Guest User

Untitled

a guest
Feb 15th, 2014
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.80 KB | None | 0 0
  1. # ###################################
  2. # Core EMC/HAL Loads
  3. # ###################################
  4.  
  5. # kinematics
  6. loadrt trivkins
  7.  
  8. # motion controller, get name and thread periods from ini file
  9. loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
  10.  
  11. # only the 7i43 needs this, but it doesnt hurt the others
  12. # loadrt probe_parport
  13.  
  14. # hostmot2 driver
  15. loadrt hostmot2
  16.  
  17. # load low-level driver
  18. loadrt [HOSTMOT2](DRIVER) config=[HOSTMOT2](CONFIG)
  19.  
  20. setp hm2_[HOSTMOT2](BOARD).0.watchdog.timeout_ns 10000000
  21.  
  22.  
  23. # ################################################
  24. # THREADS
  25. # ################################################
  26.  
  27. addf hm2_[HOSTMOT2](BOARD).0.read servo-thread
  28. addf motion-command-handler servo-thread
  29. addf motion-controller servo-thread
  30. addf hm2_[HOSTMOT2](BOARD).0.write servo-thread
  31. addf hm2_[HOSTMOT2](BOARD).0.pet_watchdog servo-thread
  32.  
  33. loadrt and2
  34. addf and2.0 servo-thread
  35. loadrt not names=mdi-ok
  36. addf mdi-ok servo-thread
  37.  
  38. #********
  39. # X AXIS
  40. #********
  41.  
  42. # axis enable chain
  43. newsig emcmot.00.enable bit
  44. sets emcmot.00.enable FALSE
  45.  
  46. net emcmot.00.enable <= axis.0.amp-enable-out
  47. net emcmot.00.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.00.enable
  48.  
  49. # position command and feedback
  50. net emcmot.00.pos-cmd <= axis.0.motor-pos-cmd
  51. net emcmot.00.pos-cmd => hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-cmd
  52.  
  53. net motor.00.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-fb
  54. net motor.00.pos-fb => axis.0.motor-pos-fb
  55.  
  56. # timing parameters
  57. setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.dirsetup [AXIS_0]DIRSETUP
  58. setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.dirhold [AXIS_0]DIRHOLD
  59. setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.steplen [AXIS_0]STEPLEN
  60. setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.stepspace [AXIS_0]STEPSPACE
  61. setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-scale [AXIS_0]SCALE
  62. setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.maxvel [AXIS_0]STEPGEN_MAX_VEL
  63. setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.maxaccel [AXIS_0]STEPGEN_MAX_ACC
  64. setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.step_type 0
  65.  
  66. # ---setup home switch signals---
  67. net home-x axis.0.home-sw-in <= hm2_5i25.0.7i76.0.0.input-07
  68.  
  69. #*******************
  70. # AXIS Z
  71. #*******************
  72. # axis enable chain
  73. newsig emcmot.02.enable bit
  74. sets emcmot.02.enable FALSE
  75. net emcmot.02.enable <= axis.2.amp-enable-out
  76. net emcmot.02.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.02.enable
  77.  
  78. # position command and feedback
  79. net emcmot.02.pos-cmd <= axis.2.motor-pos-cmd
  80. net emcmot.02.pos-cmd => hm2_[HOSTMOT2](BOARD).0.stepgen.02.position-cmd
  81. net motor.02.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.02.position-fb
  82. net motor.02.pos-fb => axis.2.motor-pos-fb
  83.  
  84. # timing parameters
  85. setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.dirsetup [AXIS_2]DIRSETUP
  86. setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.dirhold [AXIS_2]DIRHOLD
  87. setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.steplen [AXIS_2]STEPLEN
  88. setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.stepspace [AXIS_2]STEPSPACE
  89. setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.position-scale [AXIS_2]SCALE
  90. setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.maxvel [AXIS_2]STEPGEN_MAX_VEL
  91. setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.maxaccel [AXIS_2]STEPGEN_MAX_ACC
  92. setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.step_type 0
  93.  
  94. # ---setup home switch signals---
  95.  
  96. net home-z axis.2.home-sw-in <= hm2_5i25.0.7i76.0.0.input-08
  97.  
  98. #*******************
  99. # AXIS A
  100. #*******************
  101. # axis enable chain
  102. newsig emcmot.03.enable bit
  103. sets emcmot.03.enable FALSE
  104. net emcmot.03.enable <= axis.3.amp-enable-out
  105. net emcmot.03.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.03.enable
  106.  
  107. # position command and feedback
  108. net emcmot.03.pos-cmd <= axis.3.motor-pos-cmd
  109. net emcmot.03.pos-cmd => hm2_[HOSTMOT2](BOARD).0.stepgen.03.position-cmd
  110. net motor.03.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.03.position-fb
  111. net motor.03.pos-fb => axis.3.motor-pos-fb
  112.  
  113. # timing parameters
  114. setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.dirsetup [AXIS_3]DIRSETUP
  115. setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.dirhold [AXIS_3]DIRHOLD
  116. setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.steplen [AXIS_3]STEPLEN
  117. setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.stepspace [AXIS_3]STEPSPACE
  118. setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.position-scale [AXIS_3]SCALE
  119. setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.maxvel [AXIS_3]STEPGEN_MAX_VEL
  120. setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.maxaccel [AXIS_3]STEPGEN_MAX_ACC
  121. setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.step_type 0
  122.  
  123. # ---setup home switch signals---
  124. net home-a axis.3.home-sw-in <= hm2_5i25.0.7i76.0.0.input-09
  125.  
  126. #*******************
  127. # AXIS U
  128. #*******************
  129. # axis enable chain
  130. newsig emcmot.06.enable bit
  131. sets emcmot.06.enable FALSE
  132. net emcmot.06.enable <= axis.6.amp-enable-out
  133. net emcmot.06.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.06.enable
  134.  
  135. # position command and feedback
  136. net emcmot.06.pos-cmd <= axis.6.motor-pos-cmd
  137. net emcmot.06.pos-cmd => hm2_[HOSTMOT2](BOARD).0.stepgen.06.position-cmd
  138. net motor.06.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.06.position-fb
  139. net motor.06.pos-fb => axis.6.motor-pos-fb
  140.  
  141. # timing parameters
  142. setp hm2_[HOSTMOT2](BOARD).0.stepgen.06.dirsetup [AXIS_6]DIRSETUP
  143. setp hm2_[HOSTMOT2](BOARD).0.stepgen.06.dirhold [AXIS_6]DIRHOLD
  144. setp hm2_[HOSTMOT2](BOARD).0.stepgen.06.steplen [AXIS_6]STEPLEN
  145. setp hm2_[HOSTMOT2](BOARD).0.stepgen.06.stepspace [AXIS_6]STEPSPACE
  146. setp hm2_[HOSTMOT2](BOARD).0.stepgen.06.position-scale [AXIS_6]SCALE
  147. setp hm2_[HOSTMOT2](BOARD).0.stepgen.06.maxvel [AXIS_6]STEPGEN_MAX_VEL
  148. setp hm2_[HOSTMOT2](BOARD).0.stepgen.06.maxaccel [AXIS_6]STEPGEN_MAX_ACC
  149. setp hm2_[HOSTMOT2](BOARD).0.stepgen.06.step_type 0
  150.  
  151. # ---setup home switch signals---
  152. net home-u axis.6.home-sw-in <= hm2_5i25.0.7i76.0.2.input-07
  153.  
  154. #*******************
  155. # AXIS V
  156. #*******************
  157. # axis enable chain
  158. newsig emcmot.07.enable bit
  159. sets emcmot.07.enable FALSE
  160. net emcmot.07.enable <= axis.7.amp-enable-out
  161. net emcmot.07.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.07.enable
  162.  
  163. # position command and feedback
  164. net emcmot.07.pos-cmd <= axis.7.motor-pos-cmd
  165. net emcmot.07.pos-cmd => hm2_[HOSTMOT2](BOARD).0.stepgen.07.position-cmd
  166. net motor.07.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.07.position-fb
  167. net motor.07.pos-fb => axis.7.motor-pos-fb
  168.  
  169. # timing parameters
  170. setp hm2_[HOSTMOT2](BOARD).0.stepgen.07.dirsetup [AXIS_7]DIRSETUP
  171. setp hm2_[HOSTMOT2](BOARD).0.stepgen.07.dirhold [AXIS_7]DIRHOLD
  172. setp hm2_[HOSTMOT2](BOARD).0.stepgen.07.steplen [AXIS_7]STEPLEN
  173. setp hm2_[HOSTMOT2](BOARD).0.stepgen.07.stepspace [AXIS_7]STEPSPACE
  174. setp hm2_[HOSTMOT2](BOARD).0.stepgen.07.position-scale [AXIS_7]SCALE
  175. setp hm2_[HOSTMOT2](BOARD).0.stepgen.07.maxvel [AXIS_7]STEPGEN_MAX_VEL
  176. setp hm2_[HOSTMOT2](BOARD).0.stepgen.07.maxaccel [AXIS_7]STEPGEN_MAX_ACC
  177. setp hm2_[HOSTMOT2](BOARD).0.stepgen.07.step_type 0
  178.  
  179. # ---setup home switch signals---
  180. net home-v axis.7.home-sw-in <= hm2_5i25.0.7i76.0.2.input-08
  181.  
  182. #*******************
  183. # AXIS W
  184. #*******************
  185. # axis enable chain
  186. newsig emcmot.08.enable bit
  187. sets emcmot.08.enable FALSE
  188. net emcmot.08.enable <= axis.8.amp-enable-out
  189. net emcmot.08.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.08.enable
  190.  
  191. # position command and feedback
  192. net emcmot.08.pos-cmd <= axis.8.motor-pos-cmd
  193. net emcmot.08.pos-cmd => hm2_[HOSTMOT2](BOARD).0.stepgen.08.position-cmd
  194. net motor.08.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.08.position-fb
  195. net motor.08.pos-fb => axis.8.motor-pos-fb
  196.  
  197. # timing parameters
  198. setp hm2_[HOSTMOT2](BOARD).0.stepgen.08.dirsetup [AXIS_8]DIRSETUP
  199. setp hm2_[HOSTMOT2](BOARD).0.stepgen.08.dirhold [AXIS_8]DIRHOLD
  200. setp hm2_[HOSTMOT2](BOARD).0.stepgen.08.steplen [AXIS_8]STEPLEN
  201. setp hm2_[HOSTMOT2](BOARD).0.stepgen.08.stepspace [AXIS_8]STEPSPACE
  202. setp hm2_[HOSTMOT2](BOARD).0.stepgen.08.position-scale [AXIS_8]SCALE
  203. setp hm2_[HOSTMOT2](BOARD).0.stepgen.08.maxvel [AXIS_8]STEPGEN_MAX_VEL
  204. setp hm2_[HOSTMOT2](BOARD).0.stepgen.08.maxaccel [AXIS_8]STEPGEN_MAX_ACC
  205. setp hm2_[HOSTMOT2](BOARD).0.stepgen.08.step_type 0
  206.  
  207. # ---setup home switch signals---
  208. net home-w axis.8.home-sw-in <= hm2_5i25.0.7i76.0.2.input-09
  209.  
  210.  
  211. #******************************
  212. # connect miscellaneous signals
  213. #******************************
  214.  
  215. # ---digital in / out signals---
  216. # External Program Run Button
  217. net program-run-btn halui.mode.auto <= hm2_5i25.0.7i76.0.0.input-01-not
  218. net program-run-btn and2.0.in0
  219. net program-is-auto and2.0.in1 <= halui.mode.is-auto
  220. net remote-prg-run halui.program.run <= and2.0.out
  221.  
  222. # External Home All Button
  223. # once homing is verified un-comment
  224. net home-machine halui.home-all <= hm2_5i25.0.7i76.0.0.input-02-not
  225.  
  226. # External Move to Load Position Button
  227. # once load location is established un-comment
  228. net load-machine halui.mdi-command-00 <= hm2_5i25.0.7i76.0.0.input-03-not
  229.  
  230. # estop
  231. loadrt estop_latch
  232. addf estop-latch.0 servo-thread
  233. net estop-loopout iocontrol.0.emc-enable-in <= estop-latch.0.ok-out
  234. net estop-loopin iocontrol.0.user-enable-out => estop-latch.0.ok-in
  235. net estop-reset iocontrol.0.user-request-enable => estop-latch.0.reset
  236. net remote-estop estop-latch.0.fault-in <= hm2_5i25.0.7i76.0.0.input-00-not
  237.  
  238. # ---toolchange signals for custom tool changer---
  239. net tool-number <= iocontrol.0.tool-prep-number
  240. net tool-change-request <= iocontrol.0.tool-change
  241. net tool-change-confirmed => iocontrol.0.tool-changed
  242. net tool-prepare-request <= iocontrol.0.tool-prepare
  243. net tool-prepare-confirmed => iocontrol.0.tool-prepared
  244.  
  245. # spindles
  246. net m3-spindles motion.spindle-on => hm2_5i25.0.7i76.0.0.output-00
  247. net m66p0-spindle motion.digital-out-00 => hm2_5i25.0.7i76.0.0.output-01
  248. net m66p0-spindle motion.digital-out-00 => hm2_5i25.0.7i76.0.0.output-02
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement