| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- #if !defined(_INCLUDE_DAIKIN_HEAD_H)
- #define _INCLUDE_DAIKIN_HEAD_H
- #if _MSC_VER > 1000
- #pragma once
- #endif // _MSC_VER > 1000
- #include <afxtempl.h>
- // Modbus Rtu 设备Dll错误代码定义
- enum __ERRO_CODE_DAIKIN
- {
- ERR_CODE_DAIKIN_COM_FAULT = 21401 , // DAIKIN设备串口通信故障
- ERR_CODE_DAIKIN_COM_BUSY , // DAIKIN设备串口通信忙
- ERR_CODE_DAIKIN_COM_READ_NO_DATA , // DAIKIN设备没有读到数据
- ERR_CODE_DAIKIN_COM_READ_LEN_OVER , // DAIKIN设备读到数据长度超时限制
- ERR_CODE_DAIKIN_COM_LRC_LOST , // DAIKIN设备lrc校验失败
- EER_CODE_DAIKIN_COM_WRITE_DATA , // DAIKIN设备写串口错误
- EER_CODE_DAIKIN_COM_REGNUM , // DAIKIN设备寄存器数
- ERR_CODE_DAIKIN_COM_VARLEN , // DAIKIN设备变量长度错误
- ERR_CODE_DAIKIN_COM_INVALIDRES , // DAIKIN错误的设置命令
- };
- #define SET_RUN 1 // 设置空调运转(开/关)
- #define SET_RUN_MODE 2 // 设置空调运转模式(0:送风,1:制热,2:制冷,3:自动,4:换气清洗,7:除湿
- #define SET_TEMP 3 // 设定温度
- #define SET_FAN 4 // 设置风量
- #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 __CHILD
- {
- BYTE bySoi;//起始标志位
- BYTE byVer[2];//通讯协议版本号
- BYTE byAdr[2];//设备地址描述
- BYTE byCid1[2];//控制标识码
- BYTE byCid2[2];//命令信息
- BYTE byLength[4];//INFO字节长度
- }CHILD, *pCHILD;
- //读寄存器请求
- typedef struct __REQUESTPARAM
- {
- CHILD RequestChild;
- //BYTE byCmdType[2];//命令类型
- //BYTE byCmdId[2];//命令ID
- BYTE byCheckSum[4];//校验码
- BYTE byEoi;//结束码
- }REQUESTPARAM, *pREQUESTPARAM;
- typedef struct __RESPONSE_STRUCT
- {
- CHILD RequestChild;
- BYTE byRtnMsg[200];//返回数据信息
- BYTE byCheckSum[4];//校验码
- BYTE byEoi;//结束码
- }RESPONSE_STRUCT, *PRESPONSE_STRUCT;
- //控制空调命令请求
- typedef struct __REQUEST_CTRL
- {
- CHILD RequestChild;
- BYTE szCmdType[2]; //控制命令 10H:运转 / 11H:顺次起动运转 / 1FH:停止
- BYTE byCheckSum[4]; //校验码
- BYTE byEoi; //结束码
- }REQUEST_CTRL, *PREQUEST_CTRL;
- //设置空调参数请求
- typedef struct __REQUESTSETPARAM
- {
- CHILD RequestChild;
- BYTE szCmdType[2]; //80H 空调开机温度, 81H 空调关机温度, 82H 回风温度上限, 83H 回风温度下限, 84H 回风湿度上限, 85H 回风湿度下限
- BYTE szCmdInfo[4]; //设定值
- BYTE byCheckSum[4];//校验码
- BYTE byEoi;//结束码
- }REQUESTSETPARAM, *PREQUESTSETPARAM;
- //设置空调参数请求
- typedef struct __REQUESTREMOTECTRL
- {
- CHILD RequestChild;
- BYTE szCmdType[3]; //'6', '2', '0':运转模式, '6', '3', '0':设定温度, '6', '4', '0':风量
- //BYTE szAddr; //地址
- // 设置内容,谁szCmdType内容的变化而变化
- //BYTE szMsg[n];
- BYTE szCmdData[2];
- BYTE byCheckSum[4];//校验码
- BYTE byEoi;//结束码
- }REQUESTREMOTECTRL, *PREQUESTREMOTECTRL;
- //下面命令可能需要发送身份密码验证,如果客户不需要,最好不要做,所以现在功能还没有开发
- //ATX控制空调命令请求
- typedef struct __REQUESTATX
- {
- BYTE bySoi; //起始标志位 02H
- BYTE szCmdType[3]; //'6', '2', '0':运转模式, '6', '3', '0':设定温度, '6', '4', '0':风量
- //BYTE szAddr; //地址
- // 设置内容,谁szCmdType内容的变化而变化
- //BYTE szMsg[n];
- BYTE byEoi; //结束码 03H
- BYTE szCheckSum; //校验码
- }REQUESTATX, *PREQUESTATX;
- //ATX控制空调命令响应
- typedef struct __RESPONSEATX
- {
- BYTE bySoi; //起始标志位 02H
- BYTE szCmdType[3]; //'6', '2', '0':运转模式, '6', '3', '0':设定温度, '6', '4', '0':风量
- BYTE byEoi; //结束码 03H
- BYTE szCheckSum; //校验码
- }RESPONSEATX, *PRESPONSEATX;
- #pragma pack(pop)//恢复对齐状态
- #endif //!defined(_INCLUDE_DAIKIN_HEAD_H)
|