Advertisement
Guest User

Untitled

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