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

📄 tcp103.h

📁 此程序适用于电力系统中的网关程序
💻 H
字号:
/******************************************************************
* Copyright (c) 2004-2005, 许继日立公司
* All rights reserved.
* 
* 文件名称:tcp103.h
* 文件标识:
* 摘    要:tcp103类。主要为应用层为tcp103规约,链路层套用104。
*
* 当前版本:1.0
* 作    者:李龙伟  <lilongwei1@hotmail.com>
* 完成日期:2004年11月24日
*
* 取代版本:1.0 
* 原作者  :李龙伟
* 完成日期:2004年11月24日
******************************************************************/
#ifndef _TCP103_H
#define _TCP103_H

#if _MSC_VER>1000
#pragma warning(disable: 4786)
#endif

#include <windows.h>
#include <list>
#include <vector>
#include "baserule.h"

using namespace std;

class CTcp103 : public BaseRule
{
public:	

	CTcp103(BYTE no, short rlen, short slen);
	virtual ~CTcp103();

private:

	bool		m_bDataSend;		//是否允许发送标志
	WORD		m_wSendCount;		//发送序列号
	WORD		m_wRevCount;		//接收序列号

	BYTE			m_bFrameBuf[256];		//存储接收单包数据,对一次收到多包数据处理
	unsigned long	m_bFrameLen;		//存储接收单包长度

	BYTE	m_bYXInfBuf[512];		//存储103信息序号
	BYTE	m_bSector[512];		//存储扇区号

	unsigned char	m_bRii;		//总召唤序号
//	enum CMD_TYPE	m_eCmdCode;		//正在进行的命令类型

	list<DATA_STR>	m_SendList;		//上送信息队列
private:

	//循环发送接收函数
	virtual void RuleLoop(void);

	//校验收到的数据是否正确
	int CheckRevData(void);

	//对103数据进行解包处理
	void UnpackData(void);

	//对103数据进行打包处理
	void PackData(void);

	//控制域数据处理
	int TcpHeart(void);

	//总召唤响应
	void GeneralInquire(void);
	//查看CDT串口状态
	int CheckNode(void);
	//校时函数,校正时间
	void CalibrateTime(void);
	//一般命令
	void NormalCommand(void);
	//一般命令回答
	void NormalAnswer(unsigned char bInf, bool bSign = false);
	//定值操作
	void SettingOperate(unsigned char bInf);
	//装置未连接时定值命令的打包数据
	void SettingNo(unsigned char bInf, bool bSign = false);
	//遥测量信息
	void GetYC(void);

	//控制命令
	void RtuControl(void);
	//控制命令否定回答
	void RtuAnswerNo(void);

	//打包主动上送信息,存入m_SendList队列中
	int PutSendList(void);

	//打包装置状态上送信息
	void ID_State(BYTE bAddr, BYTE bState);

	//读取103遥信信息表
	int ReadYXInf103(void);

	//读取103遥信信息表
	int ReadSOEInf103(int pot);

	//取CDT信息值
	int ReadYXInfCDT(BYTE pot);

};

#endif

⌨️ 快捷键说明

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