Advertisement
Guest User

Untitled

a guest
Sep 6th, 2011
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.82 KB | None | 0 0
  1. # Generated by PNCconf at Tue Sep 6 13:03:09 2011
  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_7i43 config="firmware=hm2/7i43-4/SVST4_4t.BIT num_encoders=4 num_pwmgens=1 num_stepgens=4"
  10. setp hm2_7i43.0.pwmgen.pwm_frequency 3000
  11. #setp hm2_7i43.0.pwmgen.pdm_frequency 100000
  12. setp hm2_7i43.0.watchdog.timeout_ns 10000000
  13. loadrt abs names=
  14. #loadrt lowpass names=
  15. loadrt near
  16.  
  17. addf hm2_7i43.0.read servo-thread
  18. addf motion-command-handler servo-thread
  19. addf motion-controller servo-thread
  20. loadrt pid num_chan=4
  21. addf pid.0.do-pid-calcs servo-thread
  22. addf pid.1.do-pid-calcs servo-thread
  23. addf pid.2.do-pid-calcs servo-thread
  24. addf pid.3.do-pid-calcs servo-thread
  25. alias pin pid.0.Pgain pid.x.Pgain
  26. alias pin pid.0.Igain pid.x.Igain
  27. alias pin pid.0.Dgain pid.x.Dgain
  28. alias pin pid.0.bias pid.x.bias
  29. alias pin pid.0.FF0 pid.x.FF0
  30. alias pin pid.0.FF1 pid.x.FF1
  31. alias pin pid.0.FF2 pid.x.FF2
  32. alias pin pid.0.deadband pid.x.deadband
  33. alias pin pid.0.maxoutput pid.x.maxoutput
  34. alias pin pid.0.enable pid.x.enable
  35. alias pin pid.0.command pid.x.command
  36. alias pin pid.0.feedback pid.x.feedback
  37. alias pin pid.0.output pid.x.output
  38. alias pin pid.0.index-enable pid.x.index-enable
  39.  
  40. alias pin pid.1.Pgain pid.y.Pgain
  41. alias pin pid.1.Igain pid.y.Igain
  42. alias pin pid.1.Dgain pid.y.Dgain
  43. alias pin pid.1.bias pid.y.bias
  44. alias pin pid.1.FF0 pid.y.FF0
  45. alias pin pid.1.FF1 pid.y.FF1
  46. alias pin pid.1.FF2 pid.y.FF2
  47. alias pin pid.1.deadband pid.y.deadband
  48. alias pin pid.1.maxoutput pid.y.maxoutput
  49. alias pin pid.1.enable pid.y.enable
  50. alias pin pid.1.command pid.y.command
  51. alias pin pid.1.feedback pid.y.feedback
  52. alias pin pid.1.output pid.y.output
  53. alias pin pid.1.index-enable pid.y.index-enable
  54.  
  55. alias pin pid.2.Pgain pid.z.Pgain
  56. alias pin pid.2.Igain pid.z.Igain
  57. alias pin pid.2.Dgain pid.z.Dgain
  58. alias pin pid.2.bias pid.z.bias
  59. alias pin pid.2.FF0 pid.z.FF0
  60. alias pin pid.2.FF1 pid.z.FF1
  61. alias pin pid.2.FF2 pid.z.FF2
  62. alias pin pid.2.deadband pid.z.deadband
  63. alias pin pid.2.maxoutput pid.z.maxoutput
  64. alias pin pid.2.enable pid.z.enable
  65. alias pin pid.2.command pid.z.command
  66. alias pin pid.2.feedback pid.z.feedback
  67. alias pin pid.2.output pid.z.output
  68. alias pin pid.2.index-enable pid.z.index-enable
  69.  
  70. alias pin pid.3.Pgain pid.a.Pgain
  71. alias pin pid.3.Igain pid.a.Igain
  72. alias pin pid.3.Dgain pid.a.Dgain
  73. alias pin pid.3.bias pid.a.bias
  74. alias pin pid.3.FF0 pid.a.FF0
  75. alias pin pid.3.FF1 pid.a.FF1
  76. alias pin pid.3.FF2 pid.a.FF2
  77. alias pin pid.3.deadband pid.a.deadband
  78. alias pin pid.3.maxoutput pid.a.maxoutput
  79. alias pin pid.3.enable pid.a.enable
  80. alias pin pid.3.command pid.a.command
  81. alias pin pid.3.feedback pid.a.feedback
  82. alias pin pid.3.output pid.a.output
  83. alias pin pid.3.index-enable pid.a.index-enable
  84.  
  85. addf near.0 servo-thread
  86. addf hm2_7i43.0.write servo-thread
  87. addf hm2_7i43.0.pet_watchdog servo-thread
  88.  
  89. # external output signals
  90.  
  91.  
  92. # --- SPINDLE-ENABLE ---
  93. #setp hm2_7i43.0.gpio.021.is_output true
  94. #net spindle-enable => hm2_7i43.0.gpio.021.out
  95. # --- COOLANT-FLOOD ---
  96. #setp hm2_7i43.0.gpio.022.is_output true
  97. #net coolant-flood => hm2_7i43.0.gpio.022.out
  98.  
  99. # external input signals
  100.  
  101.  
  102. # --- ESTOP-EXT ---
  103. setp hm2_7i43.0.gpio.023.is_output false
  104. net estop-ext <= hm2_7i43.0.gpio.023.in_not
  105.  
  106. #*******************
  107. # AXIS X
  108. #*******************
  109.  
  110. # Step Gen signals/setup
  111.  
  112. setp hm2_7i43.0.stepgen.00.dirsetup [AXIS_0]DIRSETUP
  113. setp hm2_7i43.0.stepgen.00.dirhold [AXIS_0]DIRHOLD
  114. setp hm2_7i43.0.stepgen.00.steplen [AXIS_0]STEPLEN
  115. setp hm2_7i43.0.stepgen.00.stepspace [AXIS_0]STEPSPACE
  116. setp hm2_7i43.0.stepgen.00.position-scale [AXIS_0]SCALE
  117. setp hm2_7i43.0.stepgen.00.maxaccel 0
  118. setp hm2_7i43.0.stepgen.00.maxvel 0
  119. setp hm2_7i43.0.stepgen.00.step_type 0
  120.  
  121. net xpos-fb axis.0.motor-pos-fb <= hm2_7i43.0.stepgen.00.position-fb
  122. net xpos-cmd axis.0.motor-pos-cmd => hm2_7i43.0.stepgen.00.position-cmd
  123. net xenable axis.0.amp-enable-out => hm2_7i43.0.stepgen.00.enable
  124.  
  125. # ---Encoder feedback signals/setup---
  126.  
  127. setp hm2_7i43.0.encoder.00.counter-mode 0
  128. setp hm2_7i43.0.encoder.00.filter 1
  129. setp hm2_7i43.0.encoder.00.index-invert 0
  130. setp hm2_7i43.0.encoder.00.index-mask 0
  131. setp hm2_7i43.0.encoder.00.index-mask-invert 0
  132. setp hm2_7i43.0.encoder.00.scale [AXIS_0]INPUT_SCALE
  133.  
  134. #net xpos-fb <= hm2_7i43.0.encoder.00.position
  135. #net xpos-fb => pid.x.feedback
  136. #net xpos-fb => axis.0.motor-pos-fb
  137. net x-index-enable axis.0.index-enable <=> hm2_7i43.0.encoder.00.index-enable
  138.  
  139. # ---setup home / limit switch signals---
  140.  
  141. net x-home-sw => axis.0.home-sw-in
  142. net x-neg-limit => axis.0.neg-lim-sw-in
  143. net x-pos-limit => axis.0.pos-lim-sw-in
  144.  
  145. #*******************
  146. # AXIS Y
  147. #*******************
  148.  
  149. # Step Gen signals/setup
  150.  
  151. setp hm2_7i43.0.stepgen.01.dirsetup [AXIS_1]DIRSETUP
  152. setp hm2_7i43.0.stepgen.01.dirhold [AXIS_1]DIRHOLD
  153. setp hm2_7i43.0.stepgen.01.steplen [AXIS_1]STEPLEN
  154. setp hm2_7i43.0.stepgen.01.stepspace [AXIS_1]STEPSPACE
  155. setp hm2_7i43.0.stepgen.01.position-scale [AXIS_1]SCALE
  156. setp hm2_7i43.0.stepgen.01.maxaccel 0
  157. setp hm2_7i43.0.stepgen.01.maxvel 0
  158. setp hm2_7i43.0.stepgen.01.step_type 0
  159.  
  160. net ypos-fb axis.1.motor-pos-fb <= hm2_7i43.0.stepgen.01.position-fb
  161. net ypos-cmd axis.1.motor-pos-cmd => hm2_7i43.0.stepgen.01.position-cmd
  162. net yenable axis.1.amp-enable-out => hm2_7i43.0.stepgen.01.enable
  163.  
  164. # ---Encoder feedback signals/setup---
  165.  
  166. setp hm2_7i43.0.encoder.01.counter-mode 0
  167. setp hm2_7i43.0.encoder.01.filter 1
  168. setp hm2_7i43.0.encoder.01.index-invert 0
  169. setp hm2_7i43.0.encoder.01.index-mask 0
  170. setp hm2_7i43.0.encoder.01.index-mask-invert 0
  171. setp hm2_7i43.0.encoder.01.scale [AXIS_1]INPUT_SCALE
  172.  
  173. #net ypos-fb <= hm2_7i43.0.encoder.01.position
  174. #net ypos-fb => pid.y.feedback
  175. #net ypos-fb => axis.1.motor-pos-fb
  176. net y-index-enable axis.1.index-enable <=> hm2_7i43.0.encoder.01.index-enable
  177.  
  178. # ---setup home / limit switch signals---
  179.  
  180. net y-home-sw => axis.1.home-sw-in
  181. net y-neg-limit => axis.1.neg-lim-sw-in
  182. net y-pos-limit => axis.1.pos-lim-sw-in
  183.  
  184. #*******************
  185. # AXIS Z
  186. #*******************
  187.  
  188. # Step Gen signals/setup
  189.  
  190. setp hm2_7i43.0.stepgen.02.dirsetup [AXIS_2]DIRSETUP
  191. setp hm2_7i43.0.stepgen.02.dirhold [AXIS_2]DIRHOLD
  192. setp hm2_7i43.0.stepgen.02.steplen [AXIS_2]STEPLEN
  193. setp hm2_7i43.0.stepgen.02.stepspace [AXIS_2]STEPSPACE
  194. setp hm2_7i43.0.stepgen.02.position-scale [AXIS_2]SCALE
  195. setp hm2_7i43.0.stepgen.02.maxaccel 0
  196. setp hm2_7i43.0.stepgen.02.maxvel 0
  197. setp hm2_7i43.0.stepgen.02.step_type 0
  198.  
  199. net zpos-fb axis.2.motor-pos-fb <= hm2_7i43.0.stepgen.02.position-fb
  200. net zpos-cmd axis.2.motor-pos-cmd => hm2_7i43.0.stepgen.02.position-cmd
  201. net zenable axis.2.amp-enable-out => hm2_7i43.0.stepgen.02.enable
  202.  
  203. # ---Encoder feedback signals/setup---
  204.  
  205. setp hm2_7i43.0.encoder.02.counter-mode 0
  206. setp hm2_7i43.0.encoder.02.filter 1
  207. setp hm2_7i43.0.encoder.02.index-invert 0
  208. setp hm2_7i43.0.encoder.02.index-mask 0
  209. setp hm2_7i43.0.encoder.02.index-mask-invert 0
  210. setp hm2_7i43.0.encoder.02.scale [AXIS_2]INPUT_SCALE
  211.  
  212. #net zpos-fb <= hm2_7i43.0.encoder.02.position
  213. #net zpos-fb => pid.z.feedback
  214. #net zpos-fb => axis.2.motor-pos-fb
  215. net z-index-enable axis.2.index-enable <=> hm2_7i43.0.encoder.02.index-enable
  216.  
  217. # ---setup home / limit switch signals---
  218.  
  219. net z-home-sw => axis.2.home-sw-in
  220. net z-neg-limit => axis.2.neg-lim-sw-in
  221. net z-pos-limit => axis.2.pos-lim-sw-in
  222.  
  223. #*******************
  224. # AXIS A
  225. #*******************
  226.  
  227. # Step Gen signals/setup
  228.  
  229. setp hm2_7i43.0.stepgen.03.dirsetup [AXIS_3]DIRSETUP
  230. setp hm2_7i43.0.stepgen.03.dirhold [AXIS_3]DIRHOLD
  231. setp hm2_7i43.0.stepgen.03.steplen [AXIS_3]STEPLEN
  232. setp hm2_7i43.0.stepgen.03.stepspace [AXIS_3]STEPSPACE
  233. setp hm2_7i43.0.stepgen.03.position-scale [AXIS_3]SCALE
  234. setp hm2_7i43.0.stepgen.03.maxaccel 0
  235. setp hm2_7i43.0.stepgen.03.maxvel 0
  236. setp hm2_7i43.0.stepgen.03.step_type 0
  237.  
  238. net apos-fb axis.3.motor-pos-fb <= hm2_7i43.0.stepgen.03.position-fb
  239. net apos-cmd axis.3.motor-pos-cmd => hm2_7i43.0.stepgen.03.position-cmd
  240. net aenable axis.3.amp-enable-out => hm2_7i43.0.stepgen.03.enable
  241.  
  242. # ---Encoder feedback signals/setup---
  243.  
  244. setp hm2_7i43.0.encoder.03.counter-mode 0
  245. setp hm2_7i43.0.encoder.03.filter 1
  246. setp hm2_7i43.0.encoder.03.index-invert 0
  247. setp hm2_7i43.0.encoder.03.index-mask 0
  248. setp hm2_7i43.0.encoder.03.index-mask-invert 0
  249. setp hm2_7i43.0.encoder.03.scale [AXIS_3]INPUT_SCALE
  250.  
  251. #net apos-fb <= hm2_7i43.0.encoder.03.position
  252. #net apos-fb => pid.a.feedback
  253. #net apos-fb => axis.3.motor-pos-fb
  254. net a-index-enable axis.3.index-enable <=> hm2_7i43.0.encoder.03.index-enable
  255.  
  256. # ---setup home / limit switch signals---
  257.  
  258. net a-home-sw => axis.3.home-sw-in
  259. net a-neg-limit => axis.3.neg-lim-sw-in
  260. net a-pos-limit => axis.3.pos-lim-sw-in
  261.  
  262. #*******************
  263. # SPINDLE S
  264. #*******************
  265.  
  266. # ---PWM Generator signals/setup---
  267.  
  268. setp hm2_7i43.0.pwmgen.00.output-type 1
  269. setp hm2_7i43.0.pwmgen.00.scale [SPINDLE_9]OUTPUT_SCALE
  270.  
  271.  
  272. net spindle-vel-cmd => hm2_7i43.0.pwmgen.00.value
  273. net spindle-enable => hm2_7i43.0.pwmgen.00.enable
  274.  
  275. # ---setup spindle control signals---
  276.  
  277. net spindle-vel-cmd-rps <= motion.spindle-speed-out-rps
  278. net spindle-vel-cmd <= motion.spindle-speed-out
  279. net spindle-enable <= motion.spindle-on
  280. net spindle-cw <= motion.spindle-forward
  281. net spindle-ccw <= motion.spindle-reverse
  282. net spindle-brake <= motion.spindle-brake
  283. net spindle-revs => motion.spindle-revs
  284. net spindle-at-speed => motion.spindle-at-speed
  285. net spindle-vel-fb => motion.spindle-speed-in
  286. net spindle-index-enable <=> motion.spindle-index-enable
  287.  
  288. # ---Setup spindle at speed signals---
  289.  
  290. sets spindle-at-speed true
  291.  
  292. #******************************
  293. # connect miscellaneous signals
  294. #******************************
  295.  
  296. # ---coolant signals---
  297.  
  298. net coolant-mist <= iocontrol.0.coolant-mist
  299. net coolant-flood <= iocontrol.0.coolant-flood
  300.  
  301. # ---probe signal---
  302.  
  303. net probe-in => motion.probe-input
  304.  
  305. # ---digital in / out signals---
  306.  
  307. # ---estop signals---
  308.  
  309. net estop-out <= iocontrol.0.user-enable-out
  310. net estop-ext => iocontrol.0.emc-enable-in
  311.  
  312. # ---manual tool change signals---
  313.  
  314. loadusr -W hal_manualtoolchange
  315. net tool-change-request iocontrol.0.tool-change => hal_manualtoolchange.change
  316. net tool-change-confirmed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
  317. net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
  318. net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement