Advertisement
Guest User

Untitled

a guest
Nov 21st, 2011
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.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. #----See kinematics.hal file-----
  6. #loadrt trivkins
  7. #loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
  8. #
  9. loadrt probe_parport
  10. loadrt hostmot2
  11. loadrt hm2_7i43 config="firmware=hm2/7i43-4/SVST4_4t.BIT num_encoders=4 num_pwmgens=1 num_stepgens=4"
  12. #
  13. addf hm2_7i43.0.write servo-thread
  14. addf hm2_7i43.0.pet_watchdog servo-thread
  15. #---PWMGEN is our charge pump waveform---
  16. setp hm2_7i43.0.pwmgen.pwm_frequency 5000
  17. setp hm2_7i43.0.watchdog.timeout_ns 10000000
  18. #
  19. addf hm2_7i43.0.read servo-thread
  20. addf motion-command-handler servo-thread
  21. addf motion-controller servo-thread
  22.  
  23. # Load realtime hal components for THC
  24. #
  25. #strictly THC functions:
  26. #
  27. loadrt comp count=3
  28. addf comp.0 servo-thread
  29. addf comp.1 servo-thread
  30. addf comp.2 servo-thread
  31. loadrt conv_s32_float
  32. addf conv-s32-float.0 servo-thread
  33. loadrt ddt count=2
  34. addf ddt.0 servo-thread
  35. addf ddt.1 servo-thread
  36. loadrt debounce cfg=5
  37. addf debounce.0 servo-thread
  38. loadrt edge count=2
  39. addf edge.0 servo-thread
  40. addf edge.1 servo-thread
  41. loadrt flipflop count=3
  42. addf flipflop.0 servo-thread
  43. addf flipflop.1 servo-thread
  44. addf flipflop.2 servo-thread
  45. loadrt hypot
  46. addf hypot.0 servo-thread
  47. loadrt minmax
  48. addf minmax.0 servo-thread
  49. loadrt mult2 count=2
  50. addf mult2.0 servo-thread
  51. addf mult2.1 servo-thread
  52. loadrt mux2 count=7
  53. addf mux2.0 servo-thread
  54. addf mux2.1 servo-thread
  55. addf mux2.2 servo-thread
  56. addf mux2.3 servo-thread
  57. addf mux2.4 servo-thread
  58. addf mux2.5 servo-thread
  59. addf mux2.6 servo-thread
  60. loadrt scale
  61. addf scale.0 servo-thread
  62. loadrt updown
  63. addf updown.0 servo-thread
  64. loadrt xor2 count=3
  65. addf xor2.0 servo-thread
  66. addf xor2.1 servo-thread
  67. addf xor2.2 servo-thread
  68. #
  69. #Local and THC functions:
  70. #
  71. loadrt and2 count=11
  72. addf and2.0 servo-thread
  73. addf and2.1 servo-thread
  74. addf and2.2 servo-thread
  75. addf and2.3 servo-thread
  76. addf and2.4 servo-thread
  77. addf and2.5 servo-thread
  78. addf and2.6 servo-thread
  79. addf and2.7 servo-thread
  80. addf and2.8 servo-thread
  81. addf and2.9 servo-thread
  82. addf and2.10 servo-thread
  83. loadrt estop_latch
  84. addf estop-latch.0 servo-thread
  85. loadrt not count=4
  86. addf not.0 servo-thread
  87. addf not.1 servo-thread
  88. addf not.2 servo-thread
  89. addf not.3 servo-thread
  90. loadrt logic count=2 personality=0x203,0x204
  91. addf logic.0 servo-thread
  92. addf logic.1 servo-thread
  93. loadrt oneshot count=5
  94. addf oneshot.0 servo-thread
  95. addf oneshot.1 servo-thread
  96. addf oneshot.2 servo-thread
  97. addf oneshot.3 servo-thread
  98. addf oneshot.4 servo-thread
  99. loadrt or2 count=11
  100. addf or2.0 servo-thread
  101. addf or2.1 servo-thread
  102. addf or2.2 servo-thread
  103. addf or2.3 servo-thread
  104. addf or2.4 servo-thread
  105. addf or2.5 servo-thread
  106. addf or2.6 servo-thread
  107. addf or2.7 servo-thread
  108. addf or2.8 servo-thread
  109. addf or2.9 servo-thread
  110. addf or2.10 servo-thread
  111. loadrt pid num_chan=4
  112. addf pid.0.do-pid-calcs servo-thread
  113. addf pid.1.do-pid-calcs servo-thread
  114. addf pid.2.do-pid-calcs servo-thread
  115. addf pid.3.do-pid-calcs servo-thread
  116. loadrt sum2 count=11
  117. addf sum2.0 servo-thread
  118. addf sum2.1 servo-thread
  119. addf sum2.2 servo-thread
  120. addf sum2.3 servo-thread
  121. addf sum2.4 servo-thread
  122. addf sum2.5 servo-thread
  123. loadrt timedelay count=1
  124. addf timedelay.0 servo-thread
  125.  
  126.  
  127. # external output signals
  128.  
  129. # --- SPINDLE-ENABLE ---
  130. #setp hm2_7i43.0.gpio.021.is_output true
  131. #net spindle-enable => hm2_7i43.0.gpio.021.out
  132. # --- COOLANT-FLOOD ---
  133. setp hm2_7i43.0.gpio.022.is_output true
  134. net coolant-flood => hm2_7i43.0.gpio.022.out
  135.  
  136. #Set Step and Dir pins to Grainte drive to open drain mode
  137.  
  138. #Stepgen 0 Step/Dir
  139. #This is X-axis step/dir - still going to Gecko, NOT in open drain
  140. #setp hm2_7i43.0.gpio.012.is_opendrain true
  141. #setp hm2_7i43.0.gpio.013.is_opendrain true
  142.  
  143. #Stepgen 1 Step/Dir
  144. #This is Y1-axis step/dir - Connected to Granite drive in open drain
  145. setp hm2_7i43.0.gpio.014.is_opendrain true
  146. setp hm2_7i43.0.gpio.014.invert_output true
  147. setp hm2_7i43.0.gpio.015.is_opendrain true
  148.  
  149. #Stepgen 2 Step/Dir
  150. #This is Z-axis step/dir - still going to Gecko, NOT in open drain
  151. #setp hm2_7i43.0.gpio.016.is_opendrain true
  152. #setp hm2_7i43.0.gpio.017.is_opendrain true
  153.  
  154. #Stepgen 3 Step/Dir
  155. #This is Y2-axis step/dir - Connected to Granite drive in open drain
  156. setp hm2_7i43.0.gpio.018.is_opendrain true
  157. setp hm2_7i43.0.gpio.018.invert_output true
  158. setp hm2_7i43.0.gpio.019.is_opendrain true
  159.  
  160.  
  161. # external input signals
  162.  
  163. # movement is enabled when EITHER we are homing from PYVCP button, or the halui "on" button has been pressed
  164. #net external-homing or2.10.in0
  165. #net external-homing-ena or2.10.in0
  166. #net machine_is_on or2.10.in1 <= halui.machine.is-on
  167. #net enable-movement or2.10.out
  168. net machine_is_on halui.machine.is-on
  169.  
  170. #homing feedback pin
  171. setp hm2_7i43.0.gpio.040.is_output false
  172.  
  173. # homing status
  174. net EMC_Is_Homed0 axis.0.homed logic.1.in-00
  175. net EMC_Is_Homed1 axis.1.homed logic.1.in-01
  176. net EMC_Is_Homed2 axis.2.homed logic.1.in-02
  177. net EMC_Is_Homed3 axis.3.homed logic.1.in-03
  178. net EMC_Is_Homed logic.1.or
  179.  
  180.  
  181. #GPIO Output 41 on Mesa -> Granite drive X & Y1 IN3 (Disable In/Clear fault)
  182. #Physical Mesa 7i42: Bottom card, pin 17
  183. setp hm2_7i43.0.gpio.041.is_output true
  184. setp hm2_7i43.0.gpio.041.is_opendrain true
  185. #If invert is true, output will be high when Axis is brought out of estop.
  186. setp hm2_7i43.0.gpio.041.invert_output true
  187. # take the drive out of disable if movement is enabled
  188. net enable-movement hm2_7i43.0.gpio.041.out
  189.  
  190. #GPIO Output 42 on Mesa -> Granite drive Z & Y2 IN3 (Disable In/Clear fault)
  191. #Physical Mesa 7i42: Bottom card, pin 18
  192. setp hm2_7i43.0.gpio.042.is_output true
  193. setp hm2_7i43.0.gpio.042.is_opendrain true
  194. #If invert is true, output will be high when Axis is brought out of estop.
  195. setp hm2_7i43.0.gpio.042.invert_output true
  196. #setp hm2_7i43.0.gpio.042.out true
  197. # take the drive out of disable if movement is enabled
  198. net enable-movement hm2_7i43.0.gpio.042.out
  199.  
  200. #GPIO Output 43 on Mesa -> Granite drive X & Y1 IN4 (Start Homing)
  201. #Physical Mesa 7i42: Bottom card, pin 19
  202. setp hm2_7i43.0.gpio.043.is_output true
  203. #setp hm2_7i43.0.gpio.043.is_opendrain true
  204. #setp hm2_7i43.0.gpio.043.invert_output true
  205. #net HomeY1Pin <= hm2_7i43.0.gpio.043.out
  206.  
  207. #GPIO Output 44 on Mesa -> Granite drive Z & Y2 IN4 (Start Homing)
  208. #Physical Mesa 7i42: Bottom card, pin 20
  209. setp hm2_7i43.0.gpio.044.is_output true
  210. #setp hm2_7i43.0.gpio.044.is_opendrain true
  211. #setp hm2_7i43.0.gpio.044.invert_output true
  212. #net HomeY2Pin <= hm2_7i43.0.gpio.044.out
  213.  
  214. #setp oneshot.4.width 0.1
  215. #net enable-movement oneshot.4.in
  216. #net enable-movement-start oneshot.4.out
  217. #These lines reset the encoders on pushing the Halui on button:
  218. #net enable-movement-start hm2_7i43.0.encoder.00.reset
  219. #net enable-movement-start hm2_7i43.0.encoder.01.reset
  220. #net enable-movement-start hm2_7i43.0.encoder.02.reset
  221. #net enable-movement-start hm2_7i43.0.encoder.03.reset
  222.  
  223.  
  224. #***************************************************************
  225. # --- Estop Indication Section ---
  226. setp hm2_7i43.0.gpio.023.is_output false
  227.  
  228. net estop-sw-btn and2.9.in0 <= iocontrol.0.user-enable-out
  229. net estop-hw-btn and2.9.in1 <= hm2_7i43.0.gpio.023.in_not
  230.  
  231. # ---- emc-enable-in is enabling softwhm2_7i43.0.gpio.044.is_outputare to run ---
  232. # ---- user-request-enable is momentary press of software estop button----
  233. net system-enable or2.9.in0 <= iocontrol.0.emc-enable-in
  234. net var2 or2.9.in1 <= iocontrol.0.user-request-enable
  235. net var3 and2.10.in0 <= and2.9.out
  236. net var4 and2.10.in1 <= or2.9.out
  237.  
  238. net system-enable iocontrol.0.emc-enable-in <= and2.10.out
  239. net system-enable not.3.in
  240. net system-enable-not not.3.out
  241. # --- End of Estop Indication Section ---
  242. #***************************************************************
  243.  
  244.  
  245. #*******************
  246. # AXIS X
  247. #*******************
  248.  
  249. # Step Gen signals/setup
  250.  
  251. setp hm2_7i43.0.stepgen.00.dirsetup [AXIS_0]DIRSETUP
  252. setp hm2_7i43.0.stepgen.00.dirhold [AXIS_0]DIRHOLD
  253. setp hm2_7i43.0.stepgen.00.steplen [AXIS_0]STEPLEN
  254. setp hm2_7i43.0.stepgen.00.stepspace [AXIS_0]STEPSPACE
  255. setp hm2_7i43.0.stepgen.00.position-scale [AXIS_0]SCALE
  256. setp hm2_7i43.0.stepgen.00.maxaccel [AXIS_0]MMAX_ACCELERATION
  257. setp hm2_7i43.0.stepgen.00.maxvel [AXIS_0]MMAX_VELOCITY
  258. setp hm2_7i43.0.stepgen.00.step_type 0
  259. setp hm2_7i43.0.stepgen.00.control-type 1
  260.  
  261. #net xpos-fb axis.0.motor-pos-fb <= hm2_7i43.0.stepgen.00.position-fb
  262. #net xpos-cmd axis.0.motor-pos-cmd => hm2_7i43.0.stepgen.00.position-cmd
  263. #net xenable axis.0.amp-enable-out => hm2_7i43.0.stepgen.00.enable
  264.  
  265. # ---PID signals/setup---
  266. setp pid.0.Pgain [AXIS_0]P
  267. setp pid.0.Igain [AXIS_0]I
  268. setp pid.0.Dgain [AXIS_0]D
  269. setp pid.0.bias [AXIS_0]BIAS
  270. setp pid.0.FF0 [AXIS_0]FF0
  271. setp pid.0.FF1 [AXIS_0]FF1
  272. setp pid.0.FF2 [AXIS_0]FF2
  273. setp pid.0.deadband [AXIS_0]DEADBAND
  274. setp pid.0.maxoutput [AXIS_0]MAX_OUTPUT
  275.  
  276. # ---Encoder feedback signals/setup---
  277.  
  278. setp hm2_7i43.0.encoder.00.counter-mode 0
  279. setp hm2_7i43.0.encoder.00.filter 1
  280. setp hm2_7i43.0.encoder.00.index-invert 0
  281. setp hm2_7i43.0.encoder.00.index-mask 0
  282. setp hm2_7i43.0.encoder.00.index-mask-invert 0
  283. setp hm2_7i43.0.encoder.00.scale [AXIS_0]INPUT_SCALE
  284.  
  285. net X.pos-fb axis.0.motor-pos-fb <= hm2_7i43.0.encoder.00.position => pid.0.feedback
  286. net X.pos-cmd axis.0.motor-pos-cmd => pid.0.command
  287. net X.enable axis.0.amp-enable-out => hm2_7i43.0.stepgen.00.enable => pid.0.enable
  288. net X.pos-out pid.0.output => hm2_7i43.0.stepgen.00.velocity-cmd
  289.  
  290. net x-index-enable axis.0.index-enable <=> hm2_7i43.0.encoder.00.index-enable
  291.  
  292. # ---setup home / limit switch signals---
  293. #net x-home-sw => axis.0.home-sw-in
  294. #net x-neg-limit => axis.0.neg-lim-sw-in
  295. #net x-pos-limit => axis.0.pos-lim-sw-in
  296.  
  297. #*******************
  298. # AXIS Y
  299. #*******************
  300.  
  301. # Step Gen signals/setup
  302.  
  303. setp hm2_7i43.0.stepgen.01.dirsetup [AXIS_1]DIRSETUP
  304. setp hm2_7i43.0.stepgen.01.dirhold [AXIS_1]DIRHOLD
  305. setp hm2_7i43.0.stepgen.01.steplen [AXIS_1]STEPLEN
  306. setp hm2_7i43.0.stepgen.01.stepspace [AXIS_1]STEPSPACE
  307. setp hm2_7i43.0.stepgen.01.position-scale [AXIS_1]SCALE
  308. setp hm2_7i43.0.stepgen.01.maxaccel [AXIS_1]MMAX_ACCELERATION
  309. setp hm2_7i43.0.stepgen.01.maxvel [AXIS_1]MMAX_VELOCITY
  310. setp hm2_7i43.0.stepgen.01.step_type 0
  311. #setp hm2_7i43.0.stepgen.01.control-type 0
  312. setp hm2_7i43.0.stepgen.01.control-type 1
  313.  
  314. #net ypos-fb axis.1.motor-pos-fb <= hm2_7i43.0.stepgen.01.position-fb
  315. #net ypos-fb axis.1.motor-pos-fb <= hm2_7i43.0.stepgen.01.velocity-fb
  316. #test line below to feed encoder to pos fb
  317. #net ypos-fb axis.1.motor-pos-fb <= hm2_7i43.0.encoder.01.position
  318. #net ypos-cmd axis.1.motor-pos-cmd => hm2_7i43.0.stepgen.01.position-cmd
  319. #net yenable axis.1.amp-enable-out => hm2_7i43.0.stepgen.01.enable
  320.  
  321. # ---PID signals/setup---
  322. setp pid.1.Pgain [AXIS_1]P
  323. setp pid.1.Igain [AXIS_1]I
  324. setp pid.1.Dgain [AXIS_1]D
  325. setp pid.1.bias [AXIS_1]BIAS
  326. setp pid.1.FF0 [AXIS_1]FF0
  327. setp pid.1.FF1 [AXIS_1]FF1
  328. setp pid.1.FF2 [AXIS_1]FF2
  329. setp pid.1.deadband [AXIS_1]DEADBAND
  330. setp pid.1.maxoutput [AXIS_1]MAX_OUTPUT
  331.  
  332. # ---Encoder feedback signals/setup---
  333.  
  334. setp hm2_7i43.0.encoder.01.counter-mode 0
  335. setp hm2_7i43.0.encoder.01.filter 1
  336. setp hm2_7i43.0.encoder.01.index-invert 0
  337. setp hm2_7i43.0.encoder.01.index-mask 0
  338. setp hm2_7i43.0.encoder.01.index-mask-invert 0
  339. setp hm2_7i43.0.encoder.01.scale [AXIS_1]INPUT_SCALE
  340.  
  341. #net Y.pos-fb axis.1.motor-pos-fb <= hm2_7i43.0.stepgen.01.position-fb => pid.1.feedback
  342. #net Y.pos-cmd axis.1.motor-pos-cmd => pid.1.command
  343. #net Y.enable axis.1.amp-enable-out => hm2_7i43.0.stepgen.01.enable => pid.1.enable
  344. #net Y.pos-out pid.1.output => hm2_7i43.0.stepgen.01.velocity-cmd
  345. ##net Y.pos-out pid.1.output => hm2_7i43.0.stepgen.01.position-cmd
  346.  
  347. net Y.pos-fb axis.1.motor-pos-fb <= hm2_7i43.0.encoder.01.position => pid.1.feedback
  348. net Y.pos-cmd axis.1.motor-pos-cmd => pid.1.command
  349. net Y.enable axis.1.amp-enable-out => hm2_7i43.0.stepgen.01.enable => pid.1.enable
  350. net Y.pos-out pid.1.output => hm2_7i43.0.stepgen.01.velocity-cmd
  351.  
  352. net y-index-enable axis.1.index-enable <=> hm2_7i43.0.encoder.01.index-enable
  353.  
  354. # ---setup home / limit switch signals---
  355.  
  356. #net y-home-sw => axis.1.home-sw-in
  357. #net y-neg-limit => axis.1.neg-lim-sw-in
  358. #net y-pos-limit => axis.1.pos-lim-sw-in
  359.  
  360. #*******************
  361. # AXIS Z
  362. #*******************
  363.  
  364. # Step Gen signals/setup
  365.  
  366. setp hm2_7i43.0.stepgen.02.dirsetup [AXIS_2]DIRSETUP
  367. setp hm2_7i43.0.stepgen.02.dirhold [AXIS_2]DIRHOLD
  368. setp hm2_7i43.0.stepgen.02.steplen [AXIS_2]STEPLEN
  369. setp hm2_7i43.0.stepgen.02.stepspace [AXIS_2]STEPSPACE
  370. setp hm2_7i43.0.stepgen.02.position-scale [AXIS_2]SCALE
  371. setp hm2_7i43.0.stepgen.02.maxaccel [AXIS_2]MMAX_ACCELERATION
  372. setp hm2_7i43.0.stepgen.02.maxvel [AXIS_2]MMAX_VELOCITY
  373. setp hm2_7i43.0.stepgen.02.step_type 0
  374. setp hm2_7i43.0.stepgen.02.control-type 1
  375.  
  376. #net zpos-fb axis.2.motor-pos-fb <= hm2_7i43.0.stepgen.02.position-fb
  377. #net zpos-cmd axis.2.motor-pos-cmd => hm2_7i43.0.stepgen.02.position-cmd
  378. #net zenable axis.2.amp-enable-out => hm2_7i43.0.stepgen.02.enable
  379.  
  380. # ---PID signals/setup---
  381. setp pid.2.Pgain [AXIS_2]P
  382. setp pid.2.Igain [AXIS_2]I
  383. setp pid.2.Dgain [AXIS_2]D
  384. setp pid.2.bias [AXIS_2]BIAS
  385. setp pid.2.FF0 [AXIS_2]FF0
  386. setp pid.2.FF1 [AXIS_2]FF1
  387. setp pid.2.FF2 [AXIS_2]FF2
  388. setp pid.2.deadband [AXIS_2]DEADBAND
  389. setp pid.2.maxoutput [AXIS_2]MAX_OUTPUT
  390.  
  391. # ---Encoder feedback signals/setup---
  392.  
  393. setp hm2_7i43.0.encoder.02.counter-mode 0
  394. setp hm2_7i43.0.encoder.02.filter 1
  395. setp hm2_7i43.0.encoder.02.index-invert 0
  396. setp hm2_7i43.0.encoder.02.index-mask 0
  397. setp hm2_7i43.0.encoder.02.index-mask-invert 0
  398. setp hm2_7i43.0.encoder.02.scale [AXIS_2]INPUT_SCALE
  399.  
  400. #net zpos-fb <= hm2_7i43.0.encoder.02.position
  401. #net zpos-fb => pid.z.feedback
  402. #net zpos-fb => axis.2.motor-pos-fb
  403. #net z-index-enable axis.2.index-enable <=> hm2_7i43.0.encoder.02.index-enable
  404.  
  405. net Z.pos-fb axis.2.motor-pos-fb <= hm2_7i43.0.encoder.02.position => pid.2.feedback
  406. net Z.pos-cmd axis.2.motor-pos-cmd => pid.2.command
  407. net Z.enable axis.2.amp-enable-out => hm2_7i43.0.stepgen.02.enable => pid.2.enable
  408. net Z.pos-out pid.2.output => hm2_7i43.0.stepgen.02.velocity-cmd
  409.  
  410. net z-index-enable axis.2.index-enable <=> hm2_7i43.0.encoder.02.index-enable
  411.  
  412.  
  413. # ---setup home / limit switch signals---
  414.  
  415. #net z-home-sw => axis.2.home-sw-in
  416. #net z-neg-limit => axis.2.neg-lim-sw-in
  417. #net z-pos-limit => axis.2.pos-lim-sw-in
  418.  
  419. #*******************
  420. # AXIS Y2
  421. #*******************
  422.  
  423. # Step Gen signals/setup
  424.  
  425. setp hm2_7i43.0.stepgen.03.dirsetup [AXIS_3]DIRSETUP
  426. setp hm2_7i43.0.stepgen.03.dirhold [AXIS_3]DIRHOLD
  427. setp hm2_7i43.0.stepgen.03.steplen [AXIS_3]STEPLEN
  428. setp hm2_7i43.0.stepgen.03.stepspace [AXIS_3]STEPSPACE
  429. setp hm2_7i43.0.stepgen.03.position-scale [AXIS_3]SCALE
  430. setp hm2_7i43.0.stepgen.03.maxaccel [AXIS_3]MMAX_ACCELERATION
  431. setp hm2_7i43.0.stepgen.03.maxvel [AXIS_3]MMAX_VELOCITY
  432. setp hm2_7i43.0.stepgen.03.step_type 0
  433. #setp hm2_7i43.0.stepgen.03.control-type 0
  434. setp hm2_7i43.0.stepgen.03.control-type 1
  435.  
  436. #net vpos-fb axis.3.motor-pos-fb <= hm2_7i43.0.stepgen.03.position-fb
  437. #net vpos-cmd axis.3.motor-pos-cmd => hm2_7i43.0.stepgen.03.position-cmd
  438. #net venable axis.3.amp-enable-out => hm2_7i43.0.stepgen.03.enable
  439.  
  440. # ---PID signals/setup---
  441. setp pid.3.Pgain [AXIS_3]P
  442. setp pid.3.Igain [AXIS_3]I
  443. setp pid.3.Dgain [AXIS_3]D
  444. setp pid.3.bias [AXIS_3]BIAS
  445. setp pid.3.FF0 [AXIS_3]FF0
  446. setp pid.3.FF1 [AXIS_3]FF1
  447. setp pid.3.FF2 [AXIS_3]FF2
  448. setp pid.3.deadband [AXIS_3]DEADBAND
  449. setp pid.3.maxoutput [AXIS_3]MAX_OUTPUT
  450.  
  451.  
  452. # ---Encoder feedback signals/setup---
  453.  
  454. setp hm2_7i43.0.encoder.03.counter-mode 0
  455. setp hm2_7i43.0.encoder.03.filter 1
  456. setp hm2_7i43.0.encoder.03.index-invert 0
  457. setp hm2_7i43.0.encoder.03.index-mask 0
  458. setp hm2_7i43.0.encoder.03.index-mask-invert 0
  459. setp hm2_7i43.0.encoder.03.scale [AXIS_3]INPUT_SCALE
  460.  
  461. #net apos-fb <= hm2_7i43.0.encoder.03.position
  462. #net apos-fb => pid.a.feedback
  463. #net apos-fb => axis.3.motor-pos-fb
  464. #net a-index-enable axis.3.index-enable <=> hm2_7i43.0.encoder.03.index-enable
  465.  
  466. net A.pos-fb axis.3.motor-pos-fb <= hm2_7i43.0.encoder.03.position => pid.3.feedback
  467. net A.pos-cmd axis.3.motor-pos-cmd => pid.3.command
  468. net A.enable axis.3.amp-enable-out => hm2_7i43.0.stepgen.03.enable => pid.3.enable
  469. net A.pos-out pid.3.output => hm2_7i43.0.stepgen.03.velocity-cmd
  470.  
  471. setp sum2.5.gain0 -1.0
  472. setp sum2.5.offset 0.0
  473. net A.pos-fb sum2.5.in0
  474. net A.pos-cmd sum2.5.in1
  475. net aposerror sum2.5.out
  476.  
  477. net a-index-enable axis.3.index-enable <=> hm2_7i43.0.encoder.03.index-enable
  478.  
  479.  
  480. # ---setup home / limit switch signals---
  481.  
  482. #net a-home-sw => axis.3.home-sw-in
  483. #net a-neg-limit => axis.3.neg-lim-sw-in
  484. #net a-pos-limit => axis.3.pos-lim-sw-in
  485.  
  486. #*******************
  487. # SPINDLE S
  488. #*******************
  489.  
  490. #***********************
  491. # CHARGE PUMP SIGNAL
  492. #***********************
  493.  
  494. # ---PWM Generator signals/setup---
  495.  
  496. setp hm2_7i43.0.pwmgen.00.output-type 1
  497. setp hm2_7i43.0.pwmgen.00.scale [CHARGEPUMP_0]OUTPUT_SCALE
  498. setp hm2_7i43.0.pwmgen.00.value [CHARGEPUMP_0]VALUE
  499.  
  500. net system-enable => hm2_7i43.0.pwmgen.00.enable
  501.  
  502.  
  503. # ---setup spindle control signals---
  504.  
  505. #net spindle-vel-cmd-rps <= motion.spindle-speed-out-rps
  506. #net spindle-vel-cmd <= motion.spindle-speed-out
  507. #net spindle-enable <= motion.spindle-on
  508. #net spindle-cw <= motion.spindle-forward
  509. #net spindle-ccw <= motion.spindle-reverse
  510. #net spindle-brake <= motion.spindle-brake
  511. #net spindle-revs => motion.spindle-revs
  512. #net spindle-at-speed => motion.spindle-at-speed
  513. #net spindle-vel-fb => motion.spindle-speed-in
  514. #net spindle-index-enable <=> motion.spindle-index-enable
  515.  
  516. # ---Setup spindle at speed signals---
  517.  
  518. #sets spindle-at-speed true
  519.  
  520. #******************************
  521. # connect miscellaneous signals
  522. #******************************
  523.  
  524. # ---coolant signals---
  525.  
  526. net coolant-mist <= iocontrol.0.coolant-mist
  527. net coolant-flood <= iocontrol.0.coolant-flood
  528.  
  529. # ---probe signal---
  530.  
  531. net probe-in => motion.probe-input
  532.  
  533. # ---digital in / out signals---
  534.  
  535.  
  536. # ---manual tool change signals---
  537.  
  538. loadusr -W hal_manualtoolchange
  539. net tool-change-request iocontrol.0.tool-change => hal_manualtoolchange.change
  540. net tool-change-confirmed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
  541. net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
  542. net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
  543.  
  544.  
  545.  
  546.  
  547.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement