modbus_handle.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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 g_modbus_write_reg(void* manger,int saddr,unsigned short reg,unsigned short data);
  25. int g_modbus_write_x_reg(void* manger,int saddr,unsigned short reg,unsigned int size,unsigned short *data);
  26. int g_modbus_read_reg(void* manger,int saddr,unsigned short reg,unsigned short* data);
  27. int g_modbus_read_x_reg(void* manger,int saddr,unsigned short reg,unsigned int size,unsigned short *data);
  28. int g_modbus_read_x_reg_delay(void* manger,int saddr,unsigned short reg,unsigned int size,unsigned short *data);
  29. int g_modbus_get_timeout(void* manger,int *timeout_ms);
  30. int g_modbus_set_timeout(void* manger,int timeout_ms);
  31. void g_modbus_deinit(void* manger);
  32. int g_modbus_receive(void* manger, uint8_t *req);
  33. int g_modbus_reply(void* manger, uint8_t *req, int reqlen, modbus_mapping_t *map);
  34. int g_modbus_set_slave(void* manger, int saddr);
  35. int g_modbus_read_input_reg(void* manger,int saddr,unsigned short reg,unsigned int size,unsigned short *data);
  36. #endif