ptcpowerdc.cpp

来自「MDF监控源码2」· C++ 代码 · 共 132 行

CPP
132
字号
#include "stdafx.h"
#include "ptcpowerdc.h"

//extern CMDFApp theApp;

//##ModelId=4652869E02B0
CPtcPowerDC::CPtcPowerDC(void)
{
	//m_pAdoDB = theApp.m_pAdoDB;
}

//##ModelId=4652869E02C0
CPtcPowerDC::~CPtcPowerDC(void)
{
}
//##ModelId=4652869E02C2
int CPtcPowerDC::SetParent(CWnd * m_wnd)
{
	if (m_wnd)
	{
		m_pWnd = m_wnd;
		return 0;
	}else
	{
		return -1;
	}
}

//##ModelId=4652869E02CE
int CPtcPowerDC::DataAnalyse(CInfoFrame frame)
{
	//分析直流电源柜协议数据
	
	char cBuf[4096];
	int iSub = 0;
	int iSample = 0;
	int iVoltage = 0;
	int iRet = 0;
	int iLen = 0;
	BYTE cData[5];
	CString strBuf;
	BYTE bt ;
	iLen = frame.nRLen; 
	memcpy(cBuf,frame.ucBuf ,iLen);

	tyPowerDC m_curData;
	////取得地址码
	//strBuf = cBuf[3];
	//strBuf += cBuf[4];
	//sscanf(strBuf.GetBuffer(),"%X",&(m_curData.m_Addr));

	//strBuf = cBuf[7];
	//strBuf += cBuf[8];
	//sscanf(strBuf.GetBuffer(),"%X",&iRet);
	//if (iRet == 2)
	//	return(-1);

	////取得支路空开告警信息
	//strBuf = cBuf[13];
	//strBuf += cBuf[14];
	//sscanf(strBuf.GetBuffer(),"%X",&(m_curData.m_subAlarm));
	//


	////取得电压电流告警信息
	//strBuf = cBuf[15];
	//strBuf += cBuf[16];
	//sscanf(strBuf.GetBuffer(),"%X",&(m_curData.m_Alarm));

	////主路电压
	//memcpy(cData,&(cBuf[17]),4);
	//cData[4] = '\0';
	//sscanf((char *)cData,"%X",&(m_curData.m_majorPower));

	////备路电压
	//memcpy(cData,&(cBuf[21]),4);
	//cData[4] = '\0';
	//sscanf((char *)cData,"%X",&(m_curData.m_minorPower));
	////主路电流
	//memcpy(cData,&(cBuf[25]),4);
	//cData[4] = '\0';
	//sscanf((char *)cData,"%X",&(m_curData.m_majorCarrent));	

	////备路电流
	//memcpy(cData,&(cBuf[29]),4);
	//cData[4] = '\0';
	//sscanf((char *)cData,"%X",&(m_curData.m_minorCarrent));	
	//m_curData.m_time = CTime::GetCurrentTime();
	////送出告警信息
	//



	//刷新电源柜界面图
	/*
	m_Power1.SetValue((float)m_curData.m_majorPower /1000);
	m_Power2.SetValue((float)m_curData.m_minorPower /1000);
	m_Power3.SetValue((float)m_curData.m_majorCarrent /100);
	m_Power4.SetValue((float)m_curData.m_minorCarrent /100);
	*/
	/*
	memset(m_curData.m_sub,0,sizeof(m_curData.m_sub));
	if (m_curData.m_subAlarm == 0)
	{
		memset(m_subStatus,0,sizeof(m_subStatus));	
		
	}else
	{
		m_curData.m_sub[m_curData.m_subAlarm-1] = 1;
		m_subStatus[m_curData.m_subAlarm - 1] = 1;
	}
	*/
	
	/*设置支路状态
	CWnd * m_wndSub = GetDlgItem(IDC_STASUB);
	CRect rect;
	m_wndSub->GetWindowRect(&rect);
	ScreenToClient(&rect);
	this->InvalidateRect(&rect,0);
	SetDeviceStatus(m_curData);
	*/

	//保存数据

	if (m_pWnd)
	{
		SendMessage(m_pWnd->m_hWnd, WM_DEVICE_ALARM,(WPARAM)&m_curData,NULL);
	}

	return -1;
}

⌨️ 快捷键说明

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