Advertisement
Guest User

Untitled

a guest
Mar 10th, 2013
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.99 KB | None | 0 0
  1. # Generated by PNCconf at Fri Feb 22 14:59:14 2013
  2. # If you make changes to this file, they will be
  3. # overwritten when you run PNCconf again
  4.  
  5. loadrt trivkins
  6. loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
  7. loadrt probe_parport
  8. loadrt hostmot2
  9. loadrt hm2_pci config=" num_encoders=6 num_pwmgens=0 num_3pwmgens=0 num_stepgens=0 sserial_port_0=000xxxxx "
  10. setp hm2_5i25.0.watchdog.timeout_ns 10000000
  11. loadrt pid names=pid.x,pid.y,pid.z,pid.0
  12. loadrt abs names=abs.0
  13. loadrt lowpass names=lowpass.0
  14. loadrt scale names=scale.0
  15. loadrt mux16 names=mux16.0
  16. loadusr dwelloc
  17.  
  18. addf hm2_5i25.0.read servo-thread
  19. addf motion-command-handler servo-thread
  20. addf motion-controller servo-thread
  21. addf pid.x.do-pid-calcs servo-thread
  22. addf pid.y.do-pid-calcs servo-thread
  23. addf pid.z.do-pid-calcs servo-thread
  24. addf pid.0.do-pid-calcs servo-thread
  25. addf mux16.0 servo-thread
  26. addf abs.0 servo-thread
  27. addf scale.0 servo-thread
  28. addf lowpass.0 servo-thread
  29. addf hm2_5i25.0.write servo-thread
  30. addf hm2_5i25.0.pet_watchdog servo-thread
  31.  
  32. # external output signals
  33.  
  34.  
  35. # --- SPINDLE-ON ---
  36. net spindle-on hm2_5i25.0.7i77.0.0.output-00
  37.  
  38. # external input signals
  39.  
  40.  
  41. # --- HOME-Y ---
  42. net home-y <= hm2_5i25.0.7i77.0.0.input-00
  43.  
  44. # --- MAX-Y ---
  45. net max-y <= hm2_5i25.0.7i77.0.0.input-02
  46.  
  47. # --- ESTOP-EXT ---
  48. net estop-ext <= hm2_5i25.0.7i77.0.0.input-04-not
  49.  
  50. # --- HOME-X ---
  51. net home-x <= hm2_5i25.0.7i77.0.0.input-05
  52.  
  53. #*******************
  54. # AXIS X
  55. #*******************
  56.  
  57. setp pid.x.Pgain [AXIS_0]P
  58. setp pid.x.Igain [AXIS_0]I
  59. setp pid.x.Dgain [AXIS_0]D
  60. setp pid.x.bias [AXIS_0]BIAS
  61. setp pid.x.FF0 [AXIS_0]FF0
  62. setp pid.x.FF1 [AXIS_0]FF1
  63. setp pid.x.FF2 [AXIS_0]FF2
  64. setp pid.x.deadband [AXIS_0]DEADBAND
  65. setp pid.x.maxoutput [AXIS_0]MAX_OUTPUT
  66.  
  67. net x-index-enable <=> pid.x.index-enable
  68. net x-enable => pid.x.enable
  69. net x-output => pid.x.output
  70. net x-pos-cmd => pid.x.command
  71. net x-vel-fb => pid.x.feedback-deriv
  72. net x-pos-fb => pid.x.feedback
  73.  
  74. # ---PWM Generator signals/setup---
  75.  
  76. setp hm2_5i25.0.7i77.0.1.analogout0-scalemax [AXIS_0]OUTPUT_SCALE
  77. setp hm2_5i25.0.7i77.0.1.analogout0-minlim [AXIS_0]OUTPUT_MIN_LIMIT
  78. setp hm2_5i25.0.7i77.0.1.analogout0-maxlim [AXIS_0]OUTPUT_MAX_LIMIT
  79.  
  80. net x-output => hm2_5i25.0.7i77.0.1.analogout0
  81. net x-pos-cmd axis.0.motor-pos-cmd
  82. net x-enable axis.0.amp-enable-out
  83. # enable _all_ sserial pwmgens
  84. net x-enable hm2_5i25.0.7i77.0.1.analogena
  85.  
  86. # ---Encoder feedback signals/setup---
  87.  
  88. setp hm2_5i25.0.encoder.00.counter-mode 0
  89. setp hm2_5i25.0.encoder.00.filter 1
  90. setp hm2_5i25.0.encoder.00.index-invert 0
  91. setp hm2_5i25.0.encoder.00.index-mask 0
  92. setp hm2_5i25.0.encoder.00.index-mask-invert 0
  93. setp hm2_5i25.0.encoder.00.scale [AXIS_0]ENCODER_SCALE
  94.  
  95. net x-pos-fb <= hm2_5i25.0.encoder.00.position
  96. net x-vel-fb <= hm2_5i25.0.encoder.00.velocity
  97. net x-pos-fb => axis.0.motor-pos-fb
  98. net x-index-enable axis.0.index-enable <=> hm2_5i25.0.encoder.00.index-enable
  99. net x-pos-rawcounts <= hm2_5i25.0.encoder.00.rawcounts
  100.  
  101. # ---setup home / limit switch signals---
  102.  
  103. net home-x => axis.0.home-sw-in
  104. net x-neg-limit => axis.0.neg-lim-sw-in
  105. net x-pos-limit => axis.0.pos-lim-sw-in
  106.  
  107. #*******************
  108. # AXIS Y
  109. #*******************
  110.  
  111. setp pid.y.Pgain [AXIS_1]P
  112. setp pid.y.Igain [AXIS_1]I
  113. setp pid.y.Dgain [AXIS_1]D
  114. setp pid.y.bias [AXIS_1]BIAS
  115. setp pid.y.FF0 [AXIS_1]FF0
  116. setp pid.y.FF1 [AXIS_1]FF1
  117. setp pid.y.FF2 [AXIS_1]FF2
  118. setp pid.y.deadband [AXIS_1]DEADBAND
  119. setp pid.y.maxoutput [AXIS_1]MAX_OUTPUT
  120.  
  121. net y-index-enable <=> pid.y.index-enable
  122. net y-enable => pid.y.enable
  123. net y-output => pid.y.output
  124. net y-pos-cmd => pid.y.command
  125. net y-vel-fb => pid.y.feedback-deriv
  126. net y-pos-fb => pid.y.feedback
  127.  
  128. # ---PWM Generator signals/setup---
  129.  
  130. setp hm2_5i25.0.7i77.0.1.analogout1-scalemax [AXIS_1]OUTPUT_SCALE
  131. setp hm2_5i25.0.7i77.0.1.analogout1-minlim [AXIS_1]OUTPUT_MIN_LIMIT
  132. setp hm2_5i25.0.7i77.0.1.analogout1-maxlim [AXIS_1]OUTPUT_MAX_LIMIT
  133.  
  134. net y-output => hm2_5i25.0.7i77.0.1.analogout1
  135. net y-pos-cmd axis.1.motor-pos-cmd
  136. net y-enable axis.1.amp-enable-out
  137.  
  138. # ---Encoder feedback signals/setup---
  139.  
  140. setp hm2_5i25.0.encoder.01.counter-mode 0
  141. setp hm2_5i25.0.encoder.01.filter 1
  142. setp hm2_5i25.0.encoder.01.index-invert 0
  143. setp hm2_5i25.0.encoder.01.index-mask 0
  144. setp hm2_5i25.0.encoder.01.index-mask-invert 0
  145. setp hm2_5i25.0.encoder.01.scale [AXIS_1]ENCODER_SCALE
  146.  
  147. net y-pos-fb <= hm2_5i25.0.encoder.01.position
  148. net y-vel-fb <= hm2_5i25.0.encoder.01.velocity
  149. net y-pos-fb => axis.1.motor-pos-fb
  150. net y-index-enable axis.1.index-enable <=> hm2_5i25.0.encoder.01.index-enable
  151. net y-pos-rawcounts <= hm2_5i25.0.encoder.01.rawcounts
  152.  
  153. # ---setup home / limit switch signals---
  154.  
  155. net home-y => axis.1.home-sw-in
  156. net y-neg-limit => axis.1.neg-lim-sw-in
  157. net max-y => axis.1.pos-lim-sw-in
  158.  
  159. #*******************
  160. # AXIS Z
  161. #*******************
  162.  
  163. setp pid.z.Pgain [AXIS_2]P
  164. setp pid.z.Igain [AXIS_2]I
  165. setp pid.z.Dgain [AXIS_2]D
  166. setp pid.z.bias [AXIS_2]BIAS
  167. setp pid.z.FF0 [AXIS_2]FF0
  168. setp pid.z.FF1 [AXIS_2]FF1
  169. setp pid.z.FF2 [AXIS_2]FF2
  170. setp pid.z.deadband [AXIS_2]DEADBAND
  171. setp pid.z.maxoutput [AXIS_2]MAX_OUTPUT
  172.  
  173. net z-index-enable <=> pid.z.index-enable
  174. net z-enable => pid.z.enable
  175. net z-output => pid.z.output
  176. net z-pos-cmd => pid.z.command
  177. net z-vel-fb => pid.z.feedback-deriv
  178. net z-pos-fb => pid.z.feedback
  179.  
  180. # ---PWM Generator signals/setup---
  181.  
  182. setp hm2_5i25.0.7i77.0.1.analogout2-scalemax [AXIS_2]OUTPUT_SCALE
  183. setp hm2_5i25.0.7i77.0.1.analogout2-minlim [AXIS_2]OUTPUT_MIN_LIMIT
  184. setp hm2_5i25.0.7i77.0.1.analogout2-maxlim [AXIS_2]OUTPUT_MAX_LIMIT
  185.  
  186. net z-output => hm2_5i25.0.7i77.0.1.analogout2
  187. net z-pos-cmd axis.2.motor-pos-cmd
  188. net z-enable axis.2.amp-enable-out
  189.  
  190. # ---Encoder feedback signals/setup---
  191.  
  192. setp hm2_5i25.0.encoder.02.counter-mode 0
  193. setp hm2_5i25.0.encoder.02.filter 1
  194. setp hm2_5i25.0.encoder.02.index-invert 0
  195. setp hm2_5i25.0.encoder.02.index-mask 0
  196. setp hm2_5i25.0.encoder.02.index-mask-invert 0
  197. setp hm2_5i25.0.encoder.02.scale [AXIS_2]ENCODER_SCALE
  198.  
  199. net z-pos-fb <= hm2_5i25.0.encoder.02.position
  200. net z-vel-fb <= hm2_5i25.0.encoder.02.velocity
  201. net z-pos-fb => axis.2.motor-pos-fb
  202. net z-index-enable axis.2.index-enable <=> hm2_5i25.0.encoder.02.index-enable
  203. net z-pos-rawcounts <= hm2_5i25.0.encoder.02.rawcounts
  204.  
  205. # ---setup home / limit switch signals---
  206.  
  207. net z-home-sw => axis.2.home-sw-in
  208. net z-neg-limit => axis.2.neg-lim-sw-in
  209. net z-pos-limit => axis.2.pos-lim-sw-in
  210.  
  211. #*******************
  212. # SPINDLE S
  213. #*******************
  214.  
  215. # ---setup spindle control signals---
  216.  
  217. net spindle-vel-cmd-rps <= motion.spindle-speed-out-rps
  218. net spindle-vel-cmd <= motion.spindle-speed-out
  219. net spindle-on <= motion.spindle-on
  220. net spindle-cw <= motion.spindle-forward
  221. net spindle-ccw <= motion.spindle-reverse
  222. net spindle-brake <= motion.spindle-brake
  223. net spindle-revs => motion.spindle-revs
  224. net spindle-at-speed => motion.spindle-at-speed
  225. net spindle-vel-fb => motion.spindle-speed-in
  226. net spindle-index-enable <=> motion.spindle-index-enable
  227.  
  228. # ---Setup spindle at speed signals---
  229.  
  230. sets spindle-at-speed true
  231.  
  232.  
  233. #******************************
  234. # connect miscellaneous signals
  235. #******************************
  236.  
  237. # ---HALUI signals---
  238.  
  239. net joint-select-a halui.joint.0.select
  240. net x-is-homed halui.joint.0.is-homed
  241. net jog-x-pos halui.jog.0.plus
  242. net jog-x-neg halui.jog.0.minus
  243. net jog-x-analog halui.jog.0.analog
  244. net joint-select-b halui.joint.1.select
  245. net y-is-homed halui.joint.1.is-homed
  246. net jog-y-pos halui.jog.1.plus
  247. net jog-y-neg halui.jog.1.minus
  248. net jog-y-analog halui.jog.1.analog
  249. net joint-select-c halui.joint.2.select
  250. net z-is-homed halui.joint.2.is-homed
  251. net jog-z-pos halui.jog.2.plus
  252. net jog-z-neg halui.jog.2.minus
  253. net jog-z-analog halui.jog.2.analog
  254. net jog-selected-pos halui.jog.selected.plus
  255. net jog-selected-neg halui.jog.selected.minus
  256. net spindle-manual-cw halui.spindle.forward
  257. net spindle-manual-ccw halui.spindle.reverse
  258. #net spindle-manual-stop halui.spindle.stop
  259. net machine-is-on halui.machine.is-on
  260. net jog-speed halui.jog-speed
  261. net MDI-mode halui.mode.is-mdi
  262.  
  263. # ---coolant signals---
  264.  
  265. net coolant-mist <= iocontrol.0.coolant-mist
  266. net coolant-flood <= iocontrol.0.coolant-flood
  267.  
  268. # ---probe signal---
  269.  
  270. net probe-in => motion.probe-input
  271.  
  272. # ---motion control signals---
  273.  
  274. net in-position <= motion.in-position
  275. net machine-is-enabled <= motion.motion-enabled
  276.  
  277. # ---digital in / out signals---
  278.  
  279. # ---estop signals---
  280.  
  281. net estop-out <= iocontrol.0.user-enable-out
  282. net estop-ext => iocontrol.0.emc-enable-in
  283.  
  284. # ---manual tool change signals---
  285.  
  286. loadusr -W hal_manualtoolchange
  287. net tool-change-request iocontrol.0.tool-change => hal_manualtoolchange.change
  288. net tool-change-confirmed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
  289. net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
  290. net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement