123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- #if !defined(_INCLUDE_HEAD_H)
- #define _INCLUDE_HEAD_H
- #if _MSC_VER > 1000
- #pragma once
- #endif // _MSC_VER > 1000
- #include <afxtempl.h>
- // Modbus Ascii 设备Dll错误代码定义
- enum __ERRO_CODE_MODBUS_ASC
- {
- ERR_CODE_MODBUS_ASC_COM_FAULT = 20001 , // Modbus asc设备串口通信故障
- ERR_CODE_MODBUS_ASC_COM_BUSY , // Modbus asc设备串口通信忙
- ERR_CODE_MODBUS_ASC_COM_READ_NO_DATA , // Modbus asc设备没有读到数据
- ERR_CODE_MODBUS_ASC_COM_READ_LEN_OVER , // Modbus asc设备读到数据长度超时限制
- ERR_CODE_MODBUS_ASC_COM_LRC_LOST , // Modbus asc设备lrc校验失败
- EER_CODE_MODBUS_ASC_COM_WRITE_DATA , // Modbus asc设备写串口错误
- EER_CODE_MODBUS_ASC_COM_REGNUM , // Modbus asc设备寄存器数
- ERR_CODE_MODBUS_ASC_COM_VARLEN , // Modbus asc设备变量长度非法
- };
- #pragma pack(push) //保存对齐状态
- #pragma pack(1)//设定为4字节对齐
- typedef struct tagPORTPARAM
- {
- BYTE PortNo; //Com端口
- DWORD BaudRate; //波特率
- BYTE ByteSize; /* Number of bits/byte, 4-8 */
- BYTE Parity; /* 校验位 0-4=None,Odd,Even,Mark,Space */
- BYTE StopBits; /* 结束位 0,1,2 = 1, 1.5, 2 */
- BYTE StartAddr; //起止地址
- int Interval; //间隔时间
- tagPORTPARAM()
- {
- PortNo=3;
- BaudRate=CBR_9600;
- ByteSize=8;
- Parity=NOPARITY;
- StopBits=ONESTOPBIT;
- StartAddr=1;
- Interval=1000;
- }
- }PORTPARAM,*PPORTPARAM;
- //写寄存器请求
- typedef struct __REQUESTPARAM
- {
- BYTE Start; //起始位
- BYTE AddrCode[2]; //地址码
- BYTE FuncCode[2]; //功能码
- BYTE StartAddr[4]; //起始地址
- BYTE RequestRegNum[4]; //读取的寄存器个数
- BYTE Lrc[2]; //校验码位
- BYTE End[2]; //结束符
- }REQUESTPARAM, *pREQUESTPARAM;
- typedef struct __REQUESTWRPARAM
- {
- BYTE Start; //起始位
- BYTE AddrCode[2]; //地址码
- BYTE FuncCode[2]; //功能码
- BYTE StartAddr[4]; //起始地址
- BYTE RequestRegNum[4]; //读取的寄存器个数
- BYTE Data[8]; //设置的数据
- BYTE Lrc[2]; //校验码位
- BYTE End[2]; //结束符
- }REQUESTWRPARAM, *pREQUESTWRPARAM;
- //设置的通讯协议基本参数
- typedef struct __SETBASEPARAM
- {
- int nAddr;//地址码
- int nStartAddr;//起始地址
- int nRegNum;//读取的寄存器个数
- BYTE FuncCode;//功能码
- }SETBASEPARAM, *pSETBASEPARAM;
- //读应答数据结构
- typedef struct __STATUS_STRUCT
- {
- BYTE Start; //起始位(都是:号开头)
- BYTE AddrCode[2]; //地址码
- BYTE FuncCode[2]; //功能码
- BYTE RtnByteNum[2]; //返回字节个数
- }STATUS_STRUCT, *PSTATUSSTRUCT;
- typedef struct __RESPONSE_STRUCT
- {
- STATUS_STRUCT StatusStruct;
- char StrRtnMsg[80]; //返回字符串
- BYTE Lrc[2]; //校验码位
- BYTE End[2]; //结束码 0x0d、0x0a(回车、换行符)
- }RESPONSE_STRUCT, *PRESPONSE_STRUCT;
- #pragma pack(pop)//恢复对齐状态
- #endif //!defined(_INCLUDE_HEAD_H)
|