⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ptccable.cpp

📁 电信机房MDF、电源柜监控源码,主要用在通信机房配线设备监控、电源柜监控
💻 CPP
字号:
#include "stdafx.h"
#include ".\ptccable.h"

CPtcCable::CPtcCable(void)
{

}

CPtcCable::~CPtcCable(void)
{

}
int CPtcCable::SetParent(CWnd * m_wnd)
{
	if (m_wnd)
	{
		m_pWnd = m_wnd;
		return 0;
	}else
	{
		return -1;
	}
}

int CPtcCable::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);

	//校验数据的合法性
	//if (!((BYTE)cBuf[0] == 0x7e && (BYTE)cBuf[iLen] == 0x0D))
		//return -1;
	tyCable m_curData;
	
	//取得地址码
	strBuf = cBuf[3];
	strBuf += cBuf[4];
	sscanf(strBuf.GetBuffer(),"%X",&(m_curData.m_Addr));
	switch(frame.InPack.CID2)
	{
	case 0x44:			//获取数据
		strBuf = cBuf[7];					//列数
		for(int i =0;i<12;i++)
		{
			strBuf = cBuf[(i*3)+8];			//第一列是否告警
			sscanf(strBuf.GetBuffer(),"%X",&iRet);
			m_curData.m_arrCable[i][0] = iRet;
					
			strBuf = cBuf[(i*3)+9];			//第一列断线距离
			strBuf += cBuf[(i*3)+10];			
			sscanf(strBuf.GetBuffer(),"%X",&iRet);
			m_curData.m_arrCable[i][1] = iRet;
		}

		//取得支路空开告警信息
		strBuf = cBuf[44];					//外告警数
		for(int i =0;i<4;i++)
		{
			strBuf = cBuf[i+45];			//外接告警
			sscanf(strBuf.GetBuffer(),"%X",&iRet);
			m_curData.m_arrAlarm[i]  = iRet;
		}

		if (m_pWnd )
		{
			SendMessage(m_pWnd->m_hWnd,WM_DEVICE_ALARM, (WPARAM)&m_curData,NULL);
		}
		break;
	case 0x4D:			//获取监测模块时间

		break;
	case 0x4E:			//设置监测模块时间

		break;
	case 0x4F:			//获取设备地址

		break;
	case 0x50:			//返回设备地址
		
		break;
	case 0x55:			//设置设备地址成功
		break;
	case 0x51:			//获取设备厂家信息
		
		break;
	case 0x58:			//系统复位
		break;
	case 0x60:			//设备初始化
		break;
	case 0x61:			//获取电话号码

		break;
	case 0x62:			//设置电话号码结果
			
		break;
	case 0x70:			//电流点系数标定

		break;
	case 0x75:			//修改电流点系数

		break;
	case 0xE0:			//设备告警上传
		break;
	case 0xFE:			//错误命令
		break;
	}
	return 0;
}

⌨️ 快捷键说明

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