profibus.hal 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. # ---------------------------------------
  2. # --- PROFIBUS DP
  3. # --- LinuxCNC HAL configuration file
  4. # ------
  5. # --- Load the pyprofibus HAL userspace module ---
  6. #
  7. # Parameters:
  8. # --loglevel LVL : Change the log level.
  9. #
  10. # --nice NICE : Renice the process. -20 <= NICE <= 19.
  11. # Default: Do not renice.
  12. #
  13. # The last parameter is the configuration file describing the PROFIBUS.
  14. #
  15. loadusr -Wn profibus pyprofibus-linuxcnc-hal pyprofibus.conf
  16. # --- Enable the used output pins ---
  17. # All output pins are deactivated by default.
  18. # So all output pins connected below, should be activated here by writing
  19. # a '1' to the '.active' pin.
  20. # Deactivated output pins will not be forwarded from LinuxCNC to the PROFIBUS.
  21. setp profibus.slave.8.output.bit.0.0.active 1
  22. setp profibus.slave.8.output.bit.0.1.active 1
  23. setp profibus.slave.8.output.bit.1.0.active 1
  24. setp profibus.slave.8.output.bit.1.1.active 1
  25. setp profibus.slave.8.output.bit.1.2.active 1
  26. setp profibus.slave.8.output.bit.1.3.active 1
  27. setp profibus.slave.8.output.bit.1.4.active 1
  28. setp profibus.slave.8.output.float.4.active 1
  29. setp profibus.slave.8.output.float.8.active 1
  30. setp profibus.slave.8.output.float.12.active 1
  31. setp profibus.slave.8.output.u8.16.active 1
  32. setp profibus.slave.8.output.u16.18.active 1
  33. setp profibus.slave.8.output.s16.20.active 1
  34. setp profibus.slave.8.output.u31.22.active 1
  35. setp profibus.slave.8.output.s32.26.active 1
  36. # --- Connect output pins ---
  37. net heartbeat => profibus.slave.8.output.bit.0.0
  38. net estop-out-not => profibus.slave.8.output.bit.0.1
  39. net spindle-cw => profibus.slave.8.output.bit.1.0
  40. net spindle-ccw => profibus.slave.8.output.bit.1.1
  41. net xpos-cmd => profibus.slave.8.output.float.4
  42. net ypos-cmd => profibus.slave.8.output.float.8
  43. net zpos-cmd => profibus.slave.8.output.float.12
  44. setp profibus.slave.8.output.bit.1.2 1 # limit-x inverted dummy loopback
  45. setp profibus.slave.8.output.bit.1.3 1 # limit-y inverted dummy loopback
  46. setp profibus.slave.8.output.bit.1.4 1 # limit-z inverted dummy loopback
  47. setp profibus.slave.8.output.bit.1.5 0 # estop-in-not inverted dummy loopback
  48. # --- Enable the used input pins ---
  49. # All input pins are deactivated by default.
  50. # So all input pins connected below, should be activated here by writing
  51. # a '1' to the '.active' pin.
  52. # Deactivated input pins will not be forwarded from the PROFIBUS to LinuxCNC.
  53. setp profibus.slave.8.input.bit.0.0.active 1
  54. setp profibus.slave.8.input.bit.0.1.active 1
  55. setp profibus.slave.8.input.bit.1.0.active 1
  56. setp profibus.slave.8.input.bit.1.1.active 1
  57. setp profibus.slave.8.input.bit.1.2.active 1
  58. setp profibus.slave.8.input.bit.1.3.active 1
  59. setp profibus.slave.8.input.bit.1.4.active 1
  60. setp profibus.slave.8.input.bit.1.5.active 1
  61. setp profibus.slave.8.input.float.4.active 1
  62. setp profibus.slave.8.input.float.8.active 1
  63. setp profibus.slave.8.input.float.12.active 1
  64. setp profibus.slave.8.input.u8.16.active 1
  65. setp profibus.slave.8.input.u16.18.active 1
  66. setp profibus.slave.8.input.s16.20.active 1
  67. setp profibus.slave.8.input.u31.22.active 1
  68. setp profibus.slave.8.input.s32.26.active 1
  69. # --- Connect input pins ---
  70. net limit-x <= profibus.slave.8.input.bit.1.2
  71. net limit-y <= profibus.slave.8.input.bit.1.3
  72. net limit-z <= profibus.slave.8.input.bit.1.4
  73. net estop-in-not <= profibus.slave.8.input.bit.1.5
  74. # Always keep this at the end of this file.
  75. # This will activate data transfer between pyprofibus and LinuxCNC.
  76. setp profibus.config.ready 1