Example_vcDlg.h
上传用户:wuxg88
上传日期:2022-05-28
资源大小:814k
文件大小:3k
源码类别:

通讯编程

开发平台:

C++ Builder

  1. // Example_vcDlg.h : header file
  2. //
  3. #if !defined(AFX_EXAMPLE_VCDLG_H__93132B08_760C_4CAB_B7CF_C28534199009__INCLUDED_)
  4. #define AFX_EXAMPLE_VCDLG_H__93132B08_760C_4CAB_B7CF_C28534199009__INCLUDED_
  5. #if _MSC_VER > 1000
  6. #pragma once
  7. #endif // _MSC_VER > 1000
  8. //#define DYNAMIC_LOAD // Switch to dynamic/static load
  9. /////////////////////////////////////////////////////////////////////////////
  10. // CExample_vcDlg dialog
  11. class CExample_vcDlg : public CDialog
  12. {
  13. // Construction
  14. public:
  15. CExample_vcDlg(CWnd* pParent = NULL); // standard constructor
  16. #ifdef DYNAMIC_LOAD // Dynamic load
  17. // Dynamic load: Step 1/3
  18. HINSTANCE hDMTDll;
  19. // Open Modbus Serial
  20. int  (WINAPI *OpenModbusSerial)(int conn_num, int baud_rate, 
  21. int data_len, char parity, 
  22. int stop_bits, int modbus_mode);
  23. // Close Serial
  24. void (WINAPI *CloseSerial)(int conn_num);
  25. // Get Serial Error Message Function
  26. int  (WINAPI *GetLastSerialErr)();
  27. // Clear Serial Error Message Function
  28. void (WINAPI *ResetSerialErr)();
  29. // Open Modbus TCP Socket
  30. int  (WINAPI *OpenModbusTCPSocket)(int conn_num, int ipaddr);
  31. // Close Socket
  32. void (WINAPI *CloseSocket)(int conn_num);
  33. // Read Select
  34. int  (WINAPI *ReadSelect)(int conn_num, int SelectTime_msec);
  35. // Get Socket Error Message Function
  36. int  (WINAPI *GetLastSocketErr)();
  37. // Clear Socket Error Message Function
  38. void (WINAPI *ResetSocketErr)();
  39. // Request Modbus Data
  40. int  (WINAPI *RequestData)(int comm_type, int conn_num, int slave_addr, int func_code, 
  41.    const unsigned char *data, int datalen);
  42. // Response Modbus Data
  43. int  (WINAPI *ResponseData)(int comm_type, int conn_num, int *slave_addr, int *func_code, 
  44. unsigned char *data);
  45. #endif
  46. // Dialog Data
  47. //{{AFX_DATA(CExample_vcDlg)
  48. enum { IDD = IDD_EXAMPLE_VC_DIALOG };
  49. CEdit m_modbus_func_r;
  50. CEdit m_modbus_addr_r;
  51. CComboBox m_comport;
  52. CComboBox m_modbus_mode;
  53. CComboBox m_comm_type;
  54. CEdit m_modbus_data_r;
  55. CIPAddressCtrl m_ipaddress1;
  56. CEdit m_modbus_addr_s;
  57. CEdit m_modbus_func_s;
  58. CEdit m_modbus_data_s;
  59. //}}AFX_DATA
  60. // ClassWizard generated virtual function overrides
  61. //{{AFX_VIRTUAL(CExample_vcDlg)
  62. protected:
  63. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  64. //}}AFX_VIRTUAL
  65. // Implementation
  66. unsigned char ASCI_to_HEX(unsigned char asci[]); // Convert ASCII to HEX
  67. void HEX_to_ASCI(unsigned char value_hex, unsigned char *asci); // Convert HEX to ASCII
  68. int HexStr_to_Int(const TCHAR *value); // Convert a "Hex String" to an Integer
  69. #ifdef DYNAMIC_LOAD
  70. BOOL InitDMT(); // Initial DMT
  71. #endif
  72. protected:
  73. HICON m_hIcon;
  74. // Generated message map functions
  75. //{{AFX_MSG(CExample_vcDlg)
  76. virtual BOOL OnInitDialog();
  77. afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
  78. afx_msg void OnPaint();
  79. afx_msg HCURSOR OnQueryDragIcon();
  80. virtual void OnOK();
  81. afx_msg void OnSelchangeCombo1();
  82. afx_msg void OnDestroy();
  83. //}}AFX_MSG
  84. DECLARE_MESSAGE_MAP()
  85. };
  86. //{{AFX_INSERT_LOCATION}}
  87. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  88. #endif // !defined(AFX_EXAMPLE_VCDLG_H__93132B08_760C_4CAB_B7CF_C28534199009__INCLUDED_)