modbus_rt_defines.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. """
  4. Modbus TestKit: Implementation of Modbus protocol in python
  5. (C)2009 - Luc Jean - luc.jean@gmail.com
  6. (C)2009 - Apidev - http://www.apidev.fr
  7. This is distributed under GNU LGPL license, see license.txt
  8. """
  9. #modbus mode
  10. SLAVE = 0
  11. MASTER = 1
  12. #modebus tcp type
  13. SOCK_STREAM = 1
  14. SOCK_DGRAM = 2
  15. #modbus exception codes
  16. ILLEGAL_FUNCTION = 1
  17. ILLEGAL_DATA_ADDRESS = 2
  18. ILLEGAL_DATA_VALUE = 3
  19. SLAVE_DEVICE_FAILURE = 4
  20. COMMAND_ACKNOWLEDGE = 5
  21. SLAVE_DEVICE_BUSY = 6
  22. MEMORY_PARITY_ERROR = 8
  23. #supported modbus functions
  24. READ_COILS = 1
  25. READ_DISCRETE_INPUTS = 2
  26. READ_HOLDING_REGISTERS = 3
  27. READ_INPUT_REGISTERS = 4
  28. WRITE_SINGLE_COIL = 5
  29. WRITE_SINGLE_REGISTER = 6
  30. READ_EXCEPTION_STATUS = 7
  31. DIAGNOSTIC = 8
  32. WRITE_MULTIPLE_COILS = 15
  33. WRITE_MULTIPLE_REGISTERS = 16
  34. REPORT_SLAVE_ID = 17
  35. MASK_WRITE_REGISTER = 22
  36. READ_WRITE_MULTIPLE_REGISTERS = 23
  37. DEVICE_INFO = 43
  38. #supported block types
  39. CIOLS = 0
  40. INPUTS = 1
  41. INPUT_REGISTERS = 3
  42. REGISTERS = 4
  43. #data trans endian mode
  44. LITTLE_ENDIAL_SWAP = 0
  45. BIG_ENDIAL_SWAP = 1
  46. LITTLE_ENDIAL = 2
  47. BIG_ENDIAL = 3