25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

51 lines
1.3 KiB

  1. #ifndef __MODBUS_H
  2. #define __MODBUS_H
  3. #ifdef DLLProvider
  4. #define DLL_EXPORT_IMPORT __declspec(dllexport)
  5. #else
  6. #define DLL_EXPORT_IMPORT __declspec(dllimport)
  7. #endif
  8. #include <stdio.h>
  9. #include <winsock2.h>
  10. #include <WS2tcpip.h>
  11. #include <vector>
  12. #include <string>
  13. #include <iostream>
  14. #include <algorithm>
  15. #include <tchar.h>
  16. #include <bitset>
  17. #pragma comment(lib,"ws2_32.lib")
  18. using namespace std;
  19. #define DEVICE_ID 0x01 //É豸ID
  20. #define Device_ID 0x09
  21. #define MAX_Address 9999
  22. #define MAX_NUMBER 300
  23. enum Response_Type{
  24. MSG_LEN_ERROR,
  25. MABP_ERROR,
  26. FUNCTION_CODE_ERROR,
  27. START_ADDRESS_ERROR,
  28. OPERATION_NUMBER_ERROR,
  29. NORMAL_RESPONSE,
  30. ABNORMAL_RESPONSE
  31. };
  32. enum Request_Type{
  33. NO_RESPONSE,
  34. NORMAL_REQUEST,
  35. EXCEPTION_CODE_01,
  36. EXCEPTION_CODE_03,
  37. EXCEPTION_CODE_04,
  38. };
  39. DLL_EXPORT_IMPORT int Analysis_Response_Message(UINT8 *Response_Message, UINT8 *Request_Message, int response_message_len);
  40. DLL_EXPORT_IMPORT int Create_TCP_Message(UINT8 *Message, int function_code, unsigned int operations_Number, unsigned int starting_address, string write_date);
  41. DLL_EXPORT_IMPORT int Analysis_Response_Msg(UINT8 *Requst_Message, UINT8 *Response_Message, DWORD read_len);
  42. DLL_EXPORT_IMPORT bool Create_Response_Message(UINT8 *Requst_Message, UINT8 *Response_Message, int flage);
  43. #endif /* __MODBUS_H */