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

📄 protocol101.h

📁 电力和自动化通讯规约模拟软件
💻 H
字号:
// Protocol101.h: interface for the CProtocol101 class.
//
//////////////////////////////////////////////////////////////////////
/******************************************************************** 
文件名:** Protocol101.h  Copyright (c) 2003-2004 许继科华公司工程部 
创建人:shq 
日 期 :2003.5.7 --  
修改人:** 
日 期 :** 
描 述 :FTU模拟程序,模拟101规约,主要功能的报文模仿公司的TTU和北京科瑞的重合器 
主要功能包括:

  版 本 :Protocol101 1.0 -- 2003.5
  
******************************************************************/

#if !defined(AFX_PROTOCOL101_H__C14E26CE_047D_4F53_BB2F_8608584F5F45__INCLUDED_)
#define AFX_PROTOCOL101_H__C14E26CE_047D_4F53_BB2F_8608584F5F45__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "ProtocalBase.h"
#include <afxtempl.h>

//各种命令类型
#define UNDEFINE_ORDER 0 
#define LINK_RESET     1
#define READ_CLASS1    2
#define READ_CLASS2    3
#define OPEN_SELECT    4
#define OPEN_EXECUTE   5
#define CLOSE_SELECT   6
#define CLOSE_EXECUTE  7
#define READ_COUNT     8
#define RTU_RESET      9
#define REQ_LINK       10
#define SYN_TIME       11
#define CANCEL_OPEN_SELECT 12
#define CANCEL_CLOSE_SELECT 13
#define READ_FAULT_DATA 14

//各种故障类型
#define OPEN_ACTION    0x0401//开关分闸
#define CLOSE_ACTION   0x0402//开关合闸

/*//故障信息结构
typedef struct _FAULTDATA
{
	WORD FaultType;
	BYTE Description;
	DWORD Milliseconds;
	BYTE Minutes;//后六位表示故障时间(分),第七位保留,
	             //第八位表示故障时间是否有效

}FAULTDATA,*LPFAULTDATA;
*/


class CProtocol101 : public CProtocalBase  
{
public:		
	void RespondReadFaultData(CByteArray &bSend);
    void Explain();
	CProtocol101();
	virtual ~CProtocol101();
	//int m_nFtuNumber;
	//BOOL m_bSwitchState;//表开关状态
	/*UINT m_uCount;
	float m_fUa;
	float m_fUb;
	float m_fUc;
	float m_fIa;
	float m_fIb;
	float m_fIc;
	BOOL m_bFault;//表示是否发生了故障*/
	//CArray<FAULTDATA,FAULTDATA> m_sFaultData;
	//virtual void DoAFault();
	//	virtual void DoBFault();
	//	virtual void DoCFault();
	
	
protected:	
	int Respond(CByteArray& bSend);
	BOOL ExplainInData(CByteArray& bReceive);
	int m_nOrderType;
	BOOL m_bFCB;
	BOOL m_bFCV;
	BOOL m_bSOE;
	BYTE m_chTypeMark;//表示命令类型标识
    BOOL m_bControl;//表示命令是分--FALSE,还是合--TRUE 
	BOOL m_bSendReason;
	BOOL m_bType;//表示命令是选择--FALSE,还是执行--TRUE
	BOOL m_bOpenSelect;
	BOOL m_bCloseSelect;
	SYSTEMTIME m_sRtuTime;
	BYTE m_bTimeData[7];
    
protected:
	void RespondCancelOpenSelect(CByteArray &bSend);
	void RespondCancelCloseSelect(CByteArray &bSend);
	void RespondSynTime(CByteArray &bSend);
	void RespondRTUReset(CByteArray &bSend);
	void RespondReadCount(CByteArray& bSend);
	void RespondCloseExecute(CByteArray& bSend);
	void RespondCloseSelect(CByteArray& bSend);
	void RespondOpenExecute(CByteArray& bSend);
	void RespondOpenSelect(CByteArray& bSend);
	void RespondLinkReset(CByteArray& bSend);
	void RespondReadClass2(CByteArray& bSend);
	void RespondReadClass1(CByteArray& bSend);
	
};

#endif // !defined(AFX_PROTOCOL101_H__C14E26CE_047D_4F53_BB2F_8608584F5F45__INCLUDED_)

⌨️ 快捷键说明

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