大规模设备故障/数据分析曲线源码开发 适用于工控、军工、金融等领域 浮云E绘图

基于数据曲线分析设备故障,能直观快速的找出故障点时各设备数据和状态,本文详细浮云E绘图研发的大规模设备故障/数据分析曲线控件的功能,有需要的可以联系定制开发。本曲线适用于海量数据高性能的各类数据分析领域的曲线分析场景。

大规模设备故障/数据分析曲线源码开发 适用于工控、军工、金融等领域 浮云E绘图

1.曲线X轴-时间轴

所有数据的X轴都是时间,基于时间采集或计算的数据。

时间轴刻度值支持36挡位,包含年、月、日、时、分、秒、毫秒、微妙,比如分包含30m/20m/10/5m/2m/1m。

不同挡位刻度值格式化精度不同,比如每隔是1日,月中日格式化为“d”日,整月天格式为“M-d”,其他模式刻度值都是友好的刻度值格式化。

        //作者:浮云绘图,专业付费定制复杂的绘图编辑器、曲线控件、报表等软件
        //QQ:316868127
        //X轴刻度
        else if (m_curScaleIndex == 20)	txt += "   刻度30秒";
		else if (m_curScaleIndex == 21)	txt += "   刻度1分钟";
		else if (m_curScaleIndex == 22)	txt += "   刻度2分钟";
		else if (m_curScaleIndex == 23)	txt += "   刻度5分钟";
		else if (m_curScaleIndex == 24)	txt += "   刻度10分钟";
		else if (m_curScaleIndex == 25)	txt += "   刻度20分钟";
		else if (m_curScaleIndex == 26)	txt += "   刻度30分钟";
		else if (m_curScaleIndex == 27)	txt += "   刻度1小时";
		else if (m_curScaleIndex == 28)	txt += "   刻度2小时";
		else if (m_curScaleIndex == 29)	txt += "   刻度5小时";
		else if (m_curScaleIndex == 30)	txt += "   刻度6小时";
		else if (m_curScaleIndex == 31)	txt += "   刻度12小时";
		else if (m_curScaleIndex == 32)	txt += "   刻度1天";



        //刻度值的精细格式化
        case 21:		//1分钟
		case 22:		//2分钟
		case 23:		//5分钟
		case 24:		//10分钟
		case 25:		//20分钟
		case 26:		//30分钟
			tm1 = curCTime.GetSecond();				//秒
			tm2 = curCTime.GetMinute();				//分
			tm3 = curCTime.GetHour();				//时
			if (tm1 == 0 && tm2 == 0 && tm3 == 0)
			{
				scVal = curCTime.Format("%m-%d");	//07-22
			}
			else if (tm1 == 0 && tm2 == 0)
			{
				scVal = curCTime.Format("%H:%M");	//10:00
			}
			else
			{
				scVal = curCTime.Format("%M");	//5-6-7
			}
			break;

2.多子曲线支持

故障数据分析,往往涉及多个设备或者一个设备的多个采集项,需要同屏同时刻展示数据状态,如此导致可能需要一次性展示数条、甚至数十条曲线。清晰、简洁、直观的解决方案就是如上图的布局。

3.多子曲线同步

基于相同时刻的不同设备的数据状态,是故障数据分析的重中之重,多个数据子曲线需要便捷的翻页、缩放等功能保持同步,这样可以从不同角度查看数据之间的关系,快速辅助数据分析。

4.多类型子曲线支持

以设备故障分析为例,某个路灯的数据有多项,比如电压V、电流A、信号(红灯/绿灯/灭灯/故障),电压和电流的数据是数值型的模拟量(如电压0~220V),而信号是指定的有限取值(1红-2绿-0灭-3故障),模拟量适合用数值描点连线,信号量适合用对应的颜色方块......还有更多其他场景下不同的曲线表现形态的需要。所以,支持多类型数据曲线,是数据分析更友好的需要。

5.十字线+Tip框实时测量

数据分析过程中,经常需要对特定点查看数值,这就是异或十字线+透明Tip信息框的作用,具体参考浮云E绘图其他文章。

CFXPen::CFXPen(HWND hWnd, int width, int drawMode)
{
	m_hWnd = hWnd;
	m_hdc = ::GetDC(hWnd);

	HPEN hPen = ::CreatePen(PS_DOT, width, 0x000000);
	m_hPenOld = ::SelectObject(m_hdc, hPen);

	::SetROP2(m_hdc, drawMode);
}

CFXPen::~CFXPen()
{
	::SelectObject(m_hdc, m_hPenOld);
	::ReleaseDC(m_hWnd, m_hdc);
}

6.故障参考线支持

可设置故障点位置,画线贯穿标识,方便定位分析故障点前后各设备数据变化情况。

    CMarkCurve* markCurve = new CMarkCurve(faultTime, 2, 0x0000FF);
	markCurve->SetDescr("故障位置:00:20:05");
	chart->AddCurve(markCurve );

7.隐藏、折叠、翻页、缩放支持

数据分析涉及许多数据项,需要展示多条曲线,为了更有效的利用有限的可视区域,也尽量排除干扰,需要曲线可隐藏、可折叠。翻页和缩放等功能也是必备的。

大数据设备故障数据分析曲线的主要功能作用就介绍到这里,该曲线组件适用范围广,支持数百万数据点的快速响应。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浮云绘图

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值