• 大小: 173KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-12-24
  • 语言: 其他
  • 标签:

资源简介

IEC-103协议完整源码带注释

资源截图

代码片段和文件信息

#include “103Function.h“
#include 
#include 
#include 
#include “baseclass/publicclass.h“

//////////////////////////////////////////////////////////////////////
// CModfiyDingzhi
//////////////////////////////////////////////////////////////////////
CModfiyDingzhi::CModfiyDingzhi()
{
m_bGroup = 0x00;
m_bEntry = 0x00;
m_bType = 0x00;
m_bLen = 0x00;
}

//////////////////////////////////////////////////////////////////////
// CDistrubData
//////////////////////////////////////////////////////////////////////
CDistrubData::CDistrubData()
{
m_iNOE = 0;
m_iNOC = 0;
m_iFAN = 0;
m_iINT = 0;
}

CDistrubData::~CDistrubData()
{

}

void CDistrubData::SaveACCInfo(BYTE* pData)
{
ACCInfo aData;
aData.ACC = pData[0];
aData.RPV = *(float*)(pData+1);
aData.RSV = *(float*)(pData+5);
aData.RFA = *(float*)(pData+9);
m_ACCInfo.Add(aData);
}

void CDistrubData::SaveACCInfo(BYTE ACC float RPV float RSV float RFA)
{
ACCInfo aData;
aData.ACC = ACC;
aData.RPV = RPV;
aData.RSV = RSV;
aData.RFA = RFA;
m_ACCInfo.Add(aData);
}

void CDistrubData::SaveSwitchData(BYTE* pData)
{
m_SwitchDataNOT.Add(pData[0]);
SwitchData sData; memset(sData.byte 0x00 sizeof(SwitchData));
int index = 1;
WORD wtmp = 0;
memcpy(&wtmp &pData[1] 2*sizeof(BYTE));
if ((wtmp == 0) && (m_SwitchDataNOT.GetSize() == 2))
{
m_SwitchDataNOT.RemoveAt(1);
m_SwitchDataNOT.SetAt(0 m_SwitchDataNOT.GetAt(0)+pData[0]);
}
for (int i=0; i {
memcpy(sData.byte &pData[index] 5);
index += 5;
m_SwitchData.Add(sData);
}
}

void CDistrubData::SaveChannelData(BYTE* pData)
{
CChannelData *pcData;
WORD wtmp = 0; int iACC = 0; int step = 0;
if (m_ChannelData.count() == 0) iACC = 0;//南自网络103设备的通道号不能为0
else
{
pcData = m_ChannelData.at(m_ChannelData.count()-1);
iACC = pcData->m_ACC;
}
if (iACC == pData[0])
{
pcData = m_ChannelData.at(m_ChannelData.count()-1);
wtmp = *(WORD *)(pData+1);
pcData->m_NDV.Add(wtmp);
wtmp = *(WORD *)(pData+3);
pcData->m_NFE.Add(wtmp);
step = 0;
int iNDV = pcData->m_NDV.GetAt(pcData->m_NDV.GetSize()-1);
for (int i=0; i {
wtmp = *(WORD *)(pData+5+step); step += 2;
pcData->m_SDV.Add(wtmp);
}
}
else
{
pcData = new CChannelData;
pcData->m_ACC = pData[0];
wtmp = *(WORD *)(pData+1);
pcData->m_NDV.Add(wtmp);
wtmp = *(WORD *)(pData+3);
pcData->m_NFE.Add(wtmp);
step = 0;
for (int i=0; im_NDV[0]; i++)
{
wtmp = *(WORD *)(pData+5+step); step += 2;
pcData->m_SDV.Add(wtmp);
}
m_ChannelData.append(pcData);
}
}

CString CDistrubData::CreateWaveFile(int iCpuNo CString szFilePath)
{
CString strtmp = ““;
strtmp.sprintf(“%s%04d%02d%02d%02d%02d%05d-%d“ szFilePath.data() 
   m_FaultDataTime.Time.Years+2000 m_FaultDataTime.Time.Months 
   m_FaultDataTime.Time.DaysOfMonth m_FaultDataTime.Time.Hours 
   m_FaultDataTime.Time.Minutes m_FaultDataTime.Time.Milliseconds m_iFAN);

if (!SortData())
{
DeleteData();
return ““;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      13235  2005-11-28 12:41  NzLan103_Protocol\103Function.cpp

     文件       2564  2005-11-28 11:40  NzLan103_Protocol\103Function.h

     文件       4409  2005-09-02 19:13  NzLan103_Protocol\103Struct.h

     文件      13660  2005-12-06 08:55  NzLan103_Protocol\asdu.cpp

     文件       3058  2005-09-15 13:40  NzLan103_Protocol\asdu.h

     文件      16723  2005-08-01 15:25  NzLan103_Protocol\baseclass\database.cpp

     文件       2730  2005-08-01 15:25  NzLan103_Protocol\baseclass\database.h

     文件      26615  2005-12-08 14:36  NzLan103_Protocol\baseclass\publicclass.cpp

     文件      24319  2005-12-09 20:16  NzLan103_Protocol\baseclass\publicclass.h

     文件       3309  2005-11-25 22:16  NzLan103_Protocol\clientareadlg.cpp

     文件        923  2005-08-01 15:25  NzLan103_Protocol\clientareadlg.h

     文件       6266  2005-12-12 10:38  NzLan103_Protocol\Device.cpp

     文件        138  2005-08-14 10:07  NzLan103_Protocol\Device.h

     文件       3739  2005-12-07 21:08  NzLan103_Protocol\devmoduledlg.ui

     文件       4113  2005-12-07 21:08  NzLan103_Protocol\devmoduledlg.ui.h

     文件        182  2005-08-01 15:25  NzLan103_Protocol\editbasedialog.cpp

     文件        263  2005-08-01 15:25  NzLan103_Protocol\editbasedialog.h

     文件       2953  2005-12-12 10:34  NzLan103_Protocol\main.cpp

     文件       7436  2005-12-08 16:43  NzLan103_Protocol\makefile

     文件       9854  2005-08-01 15:25  NzLan103_Protocol\mytype.h

     文件      59339  2005-12-12 10:34  NzLan103_Protocol\nzlan103.cpp

     文件       3026  2005-12-12 10:34  NzLan103_Protocol\nzlan103.h

     文件       8926  2006-07-10 16:41  NzLan103_Protocol\NzLan103_Protocol.dsp

     文件        557  2006-07-10 16:41  NzLan103_Protocol\NzLan103_Protocol.dsw

     文件     156672  2006-07-22 16:37  NzLan103_Protocol\NzLan103_Protocol.ncb

     文件     271872  2006-07-22 16:37  NzLan103_Protocol\NzLan103_Protocol.opt

     文件        545  2005-08-14 10:10  NzLan103_Protocol\NzLan103_Protocol.pro

     文件      10794  2005-12-12 10:37  NzLan103_Protocol\signalprocess.cpp

     文件        832  2005-08-10 10:35  NzLan103_Protocol\signalprocess.h

     文件      17912  2005-12-08 19:36  NzLan103_Protocol\xml.cpp

............此处省略9个文件信息

评论

共有 条评论

相关资源