📄 mbtool.h
字号:
/*****************************************************************************/
/* Head File: for Modbus Protocol driver MBTool.dll define */
/* */
/* COPYRIGHT 2003 BY HUNG-TSAIR YEH */
/* Date : 2003 -10 - 01 designed V1.0 */
/* */
/* */
/*****************************************************************************/
extern "C"
{
//Modbus Master RTU functions
int _stdcall MBRTUInit(int iPortNumber, int iBaudrate,int iParity, int iDataBit, int iStopBit, int iTimeOut);
int _stdcall MBRTU_R_Coils(int iPortNumber, int iSlaveNumber, int iStartAddress, int iCount, unsigned char *iRecv, int iFuncNumber /*1/2 up to the modbus device*/);
int _stdcall MBRTU_W_Coil(int iPortNumber, int iSlaveNumber, int iCoilAddress, int iCoilStatus); // Fun 5
int _stdcall MBRTU_R_Registers(int iPortNumber, int iSlaveNumber, int iStartAddress, int iCount, short *iRecv, int iFuncNumber /*3/4 up to the modbus device*/);
int _stdcall MBRTU_W_Register(int iPortNumber, int iSlaveNumber, int iRegAddress, short iRegStatus); // Fun 6
void _stdcall MBRTUClose(int iPortNumber);
int _stdcall MBRTU_W_Multi_Coils(int iPortNumber, int iSlaveNumber, int iCoilAddress, int iCount, unsigned char *iCoilStatus); // Fun 15
int _stdcall MBRTU_W_Multi_Registers(int iPortNumber, int iSlaveNumber, int iRegAddress, int iCount, short *iRegStatus); // Fun 16
//Modbus Master ASCII functions
int _stdcall MBASCInit(int iPortNumber, int iBaudrate,int iParity, int iDataBit, int iStopBit, int iTimeOut);
int _stdcall MBASC_R_Coils(int iPortNumber, int iSlaveNumber, int iStartAddress, int iCount, unsigned char *iRecv, int iFuncNumber /*1/2 up to the modbus device*/);
int _stdcall MBASC_W_Coil(int iPortNumber, int iSlaveNumber, int iCoilAddress, int iCoilStatus); // Fun 5
int _stdcall MBASC_R_Registers(int iPortNumber, int iSlaveNumber, int iStartAddress, int iCount, short *iRecv, int iFuncNumber /*3/4 up to the modbus device*/);
int _stdcall MBASC_W_Register(int iPortNumber, int iSlaveNumber, int iRegAddress, short iRegStatus); // Fun 6
void _stdcall MBASCClose(int iPortNumber);
int _stdcall MBASC_W_Multi_Coils(int iPortNumber, int iSlaveNumber, int iCoilAddress, int iCount, unsigned char *iCoilStatus); // Fun 15
int _stdcall MBASC_W_Multi_Registers(int iPortNumber, int iSlaveNumber, int iRegAddress, int iCount, short *iRegStatus); // Fun 16
//Modbus Master TCP functions
int _stdcall MBTCPInit(int iSocketNumber, char *tcpipaddr, int tcpipport, int iTimeOut);
int _stdcall MBTCP_R_Coils(int iSocketNumber,int iSlaveNumber, int iStartAddress, int iCount, unsigned char *iRecv, int iFuncNumber /*1/2 up to the modbus device*/);
int _stdcall MBTCP_W_Coil(int iSocketNumber, int iSlaveNumber, int iCoilAddress, int iCoilStatus);
int _stdcall MBTCP_R_Registers(int iSocketNumber, int iSlaveNumber, int iStartAddress, int iCount, short *iRecv, int iFuncNumber /*3/4 up to the modbus device*/);
int _stdcall MBTCP_W_Register(int iSocketNumber, int iSlaveNumber, int iRegAddress, short iRegStatus);
void _stdcall MBTCPClose(int iSocketNumber);
int _stdcall MBTCP_W_Multi_Coils(int iSocketNumber, int iSlaveNumber, int iCoilAddress, int iCount, unsigned char *iCoilStatus); // Fun 15
int _stdcall MBTCP_W_Multi_Registers(int iSocketNumber, int iSlaveNumber, int iRegAddress, int iCount, short *iRegStatus); // Fun 16
//Modbus SLave RTU functions
int _stdcall SLRTUInit(int iPortNumber, int iBaudrate,int iParity, int iDataBit, int iStopBit, int iTimeOut);
int _stdcall SLRTU_Wait_Query(int iPortNumber, int *iSlaveNumber, int *iStartAddress, int *iCount, int *iFuncNumber);
int _stdcall SLRTU_Set_Coils(int iPortNumber, unsigned char *coil);
int _stdcall SLRTU_Set_Registers(int iPortNumber, unsigned short *reg);
int _stdcall SLRTU_Get_Coils(int iPortNumber, unsigned char *coil);
int _stdcall SLRTU_Get_Registers(int iPortNumber, unsigned short *reg);
int _stdcall SLRTU_Send_Exception(int iPortNumber, unsigned char code);
void _stdcall SLRTUClose(int iPortNumber);
//Modbus SLave ASCII functions
int _stdcall SLASCInit(int iPortNumber, int iBaudrate,int iParity, int iDataBit, int iStopBit, int iTimeOut);
int _stdcall SLASC_Wait_Query(int iPortNumber, int *iSlaveNumber, int *iStartAddress, int *iCount, int *iFuncNumber);
int _stdcall SLASC_Set_Coils(int iPortNumber, unsigned char *coil);
int _stdcall SLASC_Set_Registers(int iPortNumber, unsigned short *reg);
int _stdcall SLASC_Get_Coils(int iPortNumber, unsigned char *coil);
int _stdcall SLASC_Get_Registers(int iPortNumber, unsigned short *reg);
int _stdcall SLASC_Send_Exception(int iPortNumber, unsigned char code);
void _stdcall SLASCClose(int iPortNumber);
//Modbus SLave TCP functions
int _stdcall SLTCPInit(int tcpipport);
int _stdcall SLTCP_Wait_Query(int *iSlaveNumber, int *iStartAddress, int *iCount, int *iFuncNumber);
int _stdcall SLTCP_Has_Query(int *iSlaveNumber, int *iStartAddress, int *iCount, int *iFuncNumber);
int _stdcall SLTCP_Set_Coils(unsigned char *coil);
int _stdcall SLTCP_Set_Registers(unsigned short *reg);
int _stdcall SLTCP_Get_Coils(unsigned char *coil);
int _stdcall SLTCP_Get_Registers(unsigned short *reg);
int _stdcall SLTCP_Send_Exception(unsigned char code);
void _stdcall SLTCPClose(void);
//Bit Pattern sub.
int _stdcall Coil_Bit_Read(unsigned char *coil, int bitno);
int _stdcall Coil_Bit_Write(unsigned char *coil, int bitno, int onoff);
}
#define iPARITY_NONE 0
#define iPARITY_ODD 1
#define iPARITY_EVEN 2
// Modbus exception code
#define MB_RTC_OK 0
#define MB_ILLEGAL_FUNCTION 1
#define MB_ILLEGAL_DATA_ADDRESS 2
#define MB_ILLEGAL_DATA_VALUE 3
#define MB_SLAVE_DEVICE_FAILURE 4
#define MB_ACKNOWLEDGE 5
#define MB_SLAVE_DEVICE_BUSY 6
#define MB_NEGATIVE_ACKNOWLEDGE 7
#define MB_MEMORY_PARITY_ERROR 8
//#define MB_ILLEGAL_FUNCTION 9 // undefine code
#define MB_GATEWAY_PATH_UNAVAILABLE 10
#define MB_GATEWAY_FAILED_TO_RESPOND 11
// DLL sub. parameter error
#define MB_OPEN_PORT_ERROR 101 // Open COM/TCP Port error
#define MB_PORTNO_OVER 102 // COM Port is 1 - 8
#define MB_PORT_NOT_OPEN 103 // COM/TCP Port does not open yet
#define MB_FUN_ERROR 104 // Modbus Fun. No. error
#define MB_READ_COUNT_OVER 105 // reading Count of Register or Bits is over range
// RTU: 120 register, 1920 coils
// ASCII: 60 register, 960 coils
// TCP: 120 register, 1920 coils
#define MB_SLAVENO_OVER 106 // Modbus Slave No. must be 1 - 247
#define MB_ADDRESS_OVER 107 // Register or Coil Address must count from 1
#define MB_COMM_TIMEOUT 108 // Comm. timeout
#define MB_CRC_ERROR 109 // RTU CRC Check error
#define MB_LRC_ERROR 110 // ASCII LRC Check error
#define MB_INVALID_SOCKET 111 // Initial Socket error
#define MB_TCP_CONNECT_ERROR 112 // Connect Remote Modbus Server error
#define MB_TCP_SEND_ERROR 113 // Send TCP Data error
#define MB_TCP_TIMEOUT 114 // Waiting Modbus Response Timeout
#define MB_WSA_INIT_ERROR 115 // WSA Startup error
#define MB_TCP_SOCKET_ERROR 116 // Create Socket error
#define MB_TCP_BIND_ERROR 117 // TCP Server Bind error
#define MB_TCP_LISTEN_ERROR 118 // TCP Server Listen error
#define MB_TCP_HAS_DATA 119 // it has data from remote Modbus Master
#define MB_WRITE_COUNT_OVER 120 // reading Count of Register or Bits is over range
// RTU: 120 register, 1920 coils
// ASCII: 60 register, 960 coils
// TCP: 120 register, 1920 coils
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -