⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zlp.h

📁 modbus通讯原代码工程程序
💻 H
字号:
#ifndef _ZLP_H_NRS3_PROTDLL_ZLP_BY_LIHAO_
#define _ZLP_H_NRS3_PROTDLL_ZLP_BY_LIHAO_

#include  "loadpara.h"

#define   local

#define	  CHAN_COM_TIME
#define   CHAN_CON_TIME         1
#define	  CHAN_GZ_NUM			10
#define	  MAX_RECV_LEN			64 

const BYTE chancomtime[]={
// baudrate:    300     600   900    1200   2400
				164,    84,    58,    44,    24,
// baudrate:    4800    9600  14400  19200
				14,     9,    7,     6    };

// #define   MAX_COUNT_SEND_RCV    60   // 最大收发长度总和

#define   U_M_YT     0x27      // 设置控母输出电压
#define   U_EC_YT    0x43      // 设置均充电压
#define   U_VC_YT    0x48      // 设置浮充电压

#define   NULL_YKYT        0      // 无遥控操作
#define   SELECT_YK        1      // 遥控选择
#define   EXECUTE_YK       2      // 遥控执行
#define   CANCEL_YK        3      // 遥控取消
#define   SELECT_YT        4      // 遥调选择
#define   EXECUTE_YT       5      // 遥调执行
#define   CANCEL_YT        6      // 遥调取消

#define   CMD_NULL                    0x00		// 无操作
#define   CMD_YC1                     0x03		// 召唤遥测1
#define   CMD_YC2                     0x04		// 召唤遥测2
#define   CMD_YC3                     0x05		// 召唤遥测3
#define   CMD_YX                      0x02		// 召唤遥信
#define   CMD_YK                      0x0F		// 遥控动令
#define   CMD_YT                      0x06		// 遥调动令
#define   CMD_YK_SELECT               0x07		// 遥控预令
#define   CMD_YT_SELECT               0x08		// 遥调预令

#define	  nFlagYK          ChanGPara[1]   // 通道遥控标志
#define	  nRtuNo           ChanGPara[3]   // 上次报文发给的RTU
#define	  nNextRtuIndex    ChanGPara[4]   // 下一个要组报文的RTU索引号: 
                                          // 0 - tempCh->channel.GetRtuNum()-1
#define	  nWaitRcv         ChanGPara[5]   // 等待接收的报文类型

#define   YkNoLow          bPReserved[0]
#define   YkNoHigh         bPReserved[1]
#define   YTValueLow       bPReserved[2]
#define   YTValueHigh      bPReserved[3]
#define   YTRegLow         bPReserved[4]
#define	  nDGRAMTypeLast   bPReserved[5]  // 已发送的报文的类型
#define	  nReply           bPReserved[6]  // 设备响应
#define	  nYKYTSelect      bPReserved[7]  // 是否遥控遥调

#define   DGramLink        m_cdSendData  

#define   ALREADYSEND      0      // 报文已经发送
#define   WAITSEND         1      // 报文尚未发送

// 设备响应
#define   UNCERTAIN_REPLY  -1     // 收操作尚未进行 
#define   NORMAL_REPLY     0      // 正常   
#define   NO_REPLY         2      // 无应答
#define   INVALID_REPLY    3      // 报文错误
#define   SENDFAIL_REPLY   4      // 发送报文失败

#define   INCS  EnterCriticalSection(&tempCh->csSend)
#define   OUTCS LeaveCriticalSection(&tempCh->csSend)

extern "C" __declspec(dllexport) void WINAPI ChanCom (CChannel *tempCh, CSystemPara *sp);  
extern "C" __declspec(dllexport) void WINAPI ChanCon (CChannel *tempCh, CSystemPara *sp);  
extern "C" __declspec(dllexport) UINT WINAPI GetMaxRecLen (CChannel *tempCh);   

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -