📄 protocol101.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 + -