profibus.hal 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  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 master-to-slave pins ---
  17. # MOSI = MasterOutputSlaveInput = Data flow from PB master to PB slave.
  18. # All master-to-slave pins are deactivated by default.
  19. # So all master-to-slave pins connected below, should be activated here by writing
  20. # a '1' to the '.active' pin.
  21. # Deactivated master-to-slave pins will not be forwarded from LinuxCNC to the PROFIBUS.
  22. setp profibus.slave.8.mosi.bit.0.0.active 1
  23. setp profibus.slave.8.mosi.bit.0.1.active 1
  24. setp profibus.slave.8.mosi.bit.1.0.active 1
  25. setp profibus.slave.8.mosi.bit.1.1.active 1
  26. setp profibus.slave.8.mosi.bit.1.2.active 1
  27. setp profibus.slave.8.mosi.bit.1.3.active 1
  28. setp profibus.slave.8.mosi.bit.1.4.active 1
  29. setp profibus.slave.8.mosi.float.4.active 1
  30. setp profibus.slave.8.mosi.float.8.active 1
  31. setp profibus.slave.8.mosi.float.12.active 1
  32. setp profibus.slave.8.mosi.u8.16.active 1
  33. setp profibus.slave.8.mosi.u16.18.active 1
  34. setp profibus.slave.8.mosi.s16.20.active 1
  35. setp profibus.slave.8.mosi.u31.22.active 1
  36. setp profibus.slave.8.mosi.s32.26.active 1
  37. # --- Connect master-to-slave pins ---
  38. # MOSI = MasterOutputSlaveInput = Data flow from PB master to PB slave.
  39. net heartbeat => profibus.slave.8.mosi.bit.0.0
  40. net estop-out-not => profibus.slave.8.mosi.bit.0.1
  41. net spindle-cw => profibus.slave.8.mosi.bit.1.0
  42. net spindle-ccw => profibus.slave.8.mosi.bit.1.1
  43. net xpos-cmd => profibus.slave.8.mosi.float.4
  44. net ypos-cmd => profibus.slave.8.mosi.float.8
  45. net zpos-cmd => profibus.slave.8.mosi.float.12
  46. setp profibus.slave.8.mosi.bit.1.2 1 # limit-x inverted dummy loopback
  47. setp profibus.slave.8.mosi.bit.1.3 1 # limit-y inverted dummy loopback
  48. setp profibus.slave.8.mosi.bit.1.4 1 # limit-z inverted dummy loopback
  49. setp profibus.slave.8.mosi.bit.1.5 0 # estop-in-not inverted dummy loopback
  50. # --- Enable the used slave-to-master pins ---
  51. # MISO = MasterInputSlaveOutput = Data flow from PB slave to PB master.
  52. # All slave-to-master pins are deactivated by default.
  53. # So all slave-to-master pins connected below, should be activated here by writing
  54. # a '1' to the '.active' pin.
  55. # Deactivated slave-to-master pins will not be forwarded from the PROFIBUS to LinuxCNC.
  56. setp profibus.slave.8.miso.bit.0.0.active 1
  57. setp profibus.slave.8.miso.bit.0.1.active 1
  58. setp profibus.slave.8.miso.bit.1.0.active 1
  59. setp profibus.slave.8.miso.bit.1.1.active 1
  60. setp profibus.slave.8.miso.bit.1.2.active 1
  61. setp profibus.slave.8.miso.bit.1.3.active 1
  62. setp profibus.slave.8.miso.bit.1.4.active 1
  63. setp profibus.slave.8.miso.bit.1.5.active 1
  64. setp profibus.slave.8.miso.float.4.active 1
  65. setp profibus.slave.8.miso.float.8.active 1
  66. setp profibus.slave.8.miso.float.12.active 1
  67. setp profibus.slave.8.miso.u8.16.active 1
  68. setp profibus.slave.8.miso.u16.18.active 1
  69. setp profibus.slave.8.miso.s16.20.active 1
  70. setp profibus.slave.8.miso.u31.22.active 1
  71. setp profibus.slave.8.miso.s32.26.active 1
  72. # If the slave disconnects, then reset all slave-to-master pins to zero.
  73. setp profibus.slave.8.config.disconnect-clear-pins 1
  74. # --- Connect slave-to-master pins ---
  75. # MISO = MasterInputSlaveOutput = Data flow from PB slave to PB master.
  76. net limit-x <= profibus.slave.8.miso.bit.1.2
  77. net limit-y <= profibus.slave.8.miso.bit.1.3
  78. net limit-z <= profibus.slave.8.miso.bit.1.4
  79. net estop-in-not <= profibus.slave.8.miso.bit.1.5
  80. # Always keep this at the end of this file.
  81. # This will activate data transfer between pyprofibus and LinuxCNC.
  82. setp profibus.config.ready 1