📄 dnpexplain.h
字号:
// DnpExplain.h: interface for the CDnpExplain class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_DNPEXPLAIN_H__B02F3005_E041_423D_AACB_DE6FFE81083C__INCLUDED_)
#define AFX_DNPEXPLAIN_H__B02F3005_E041_423D_AACB_DE6FFE81083C__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "RTUSimDlg.h"
#include "ProtocalBase.h"
class CRTUSimDlg;
class CDnpExplain : public CProtocalBase
{
public:
void HandleIInInfo();
BOOL SendAnalogyAndCount(WORD &rtuaddress, WORD &priaddress);
BOOL SendBinaryAndCount(WORD &rtuaddress, WORD &priaddress);
BOOL SendBinaryAndAnalogy(WORD &rtuaddress, WORD &priaddress);
void ResetLink();
void BinaryInputChange(BYTE &index,BOOL onOff);
BOOL OperateTimeOut(WORD timeOut,SYSTEMTIME &doneTime);
BOOL m_bOperateTimeOut;
bool m_soeState;
bool m_faultState;
WORD m_DnpIIN;
CRTUSimDlg * m_pRtuSimDlg; //主窗口
int SoePtrExplain(bool onOff,BYTE DigitalNo,SYSTEMTIME & soeTime);
BOOL SwitchSendCode(CByteArray &byteArray,int inBufLen);
virtual void Explain();
CDnpExplain();
virtual ~CDnpExplain();
private:
void DumpSoeRecord();
unsigned short dnp_crc_table[256];
BOOL CallClass3Data(WORD &rtuaddr,WORD &priaddr);
BOOL SendSoeDataWithRelative(WORD &rtuaddr,WORD &priaddr);
BOOL CallClass2Data(WORD &rtuaddr,WORD &priaddr);
BOOL CallClass1Data(WORD &rtuaddr,WORD &priaddr);
BOOL CallClass0Data(WORD &rtuaddr,WORD &priaddr);
BOOL TimeSynchReply(WORD &rtuaddr,WORD &priaddr,CByteArray &byteArray);
BOOL DirectOperateReply(WORD &rtuaddr,WORD &priaddr,BYTE index,bool Onoff);
BOOL PreOperateReply(WORD &rtuaddress,WORD &priaddress,BYTE ykindex,bool Onoff);
BOOL DoneOperateReply(WORD &rtuaddress,WORD &priaddress,BYTE ykindex,bool Onoff);
BOOL SendCountData(WORD &rtuaddress,WORD &priaddress);
BOOL SendAnalogyData(WORD &rtuaddress,WORD &priaddress);
BOOL SendDigitalData(WORD &rtuaddress,WORD &priaddress);
BOOL SendSoeDataWithAbsolute(WORD &rtuaddr,WORD &priaddr,BYTE yxIndex,BOOL Onoff);
protected:
unsigned short dnp_crc16(unsigned short crc, unsigned int text);
unsigned short send_calc_crc(int index, unsigned short len);
void setSendCrc();
};
#endif // !defined(AFX_DNPEXPLAIN_H__B02F3005_E041_423D_AACB_DE6FFE81083C__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -