modbus_handle.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #ifndef __MODBUS_HANDLE_H
  2. #define __MODBUS_HANDLE_H
  3. #include "modbus-rtu.h"
  4. #include "modbus-tcp.h"
  5. #include <pthread.h>
  6. typedef struct
  7. {
  8. modbus_t *mb;
  9. unsigned char type ;//rtu tcp
  10. unsigned char saddr ;
  11. unsigned int baud ;
  12. char name[32];
  13. char* port_name;
  14. pthread_mutex_t mutex ;
  15. int delay;
  16. }Modbus_Manger;
  17. int g_modbus_init(void* manger,
  18. const char* port_name,
  19. unsigned int baud,
  20. const unsigned char type,
  21. unsigned char saddr,
  22. const char* name,
  23. int delay_us,
  24. int timeout_ms);
  25. int g_modbus_write_reg(void* manger,int saddr,unsigned short reg,unsigned short data);
  26. int g_modbus_write_x_reg(void* manger,int saddr,unsigned short reg,unsigned int size,unsigned short *data);
  27. int g_modbus_read_reg(void* manger,int saddr,unsigned short reg,unsigned short* data);
  28. int g_modbus_read_x_reg(void* manger,int saddr,unsigned short reg,unsigned int size,unsigned short *data);
  29. int g_modbus_read_x_reg_delay(void* manger,int saddr,unsigned short reg,unsigned int size,unsigned short *data);
  30. int g_modbus_get_timeout(void* manger,int *timeout_ms);
  31. int g_modbus_set_timeout(void* manger,int timeout_ms);
  32. void g_modbus_deinit(void* manger);
  33. int g_modbus_receive(void* manger, uint8_t *req);
  34. int g_modbus_reply(void* manger, uint8_t *req, int reqlen, modbus_mapping_t *map);
  35. int g_modbus_set_slave(void* manger, int saddr);
  36. int g_modbus_read_input_reg(void* manger,int saddr,unsigned short reg,unsigned int size,unsigned short *data);
  37. #endif