资源简介
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\ba
文件 2730 2005-08-01 15:25 NzLan103_Protocol\ba
文件 26615 2005-12-08 14:36 NzLan103_Protocol\ba
文件 24319 2005-12-09 20:16 NzLan103_Protocol\ba
文件 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\editba
文件 263 2005-08-01 15:25 NzLan103_Protocol\editba
文件 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\xm
............此处省略9个文件信息
- 上一篇:SealXP11.exe
- 下一篇:newfilemenu破解版
评论
共有 条评论