在很多数据分析的实时场景下,有时候需要对某些重要的关键数据点进行实时跟踪,并以图表的形式非常直观的进行显示并在数据点数据变化时能够及时的进行刷新,这时候就需要用到实时曲线来进行绘图处理和呈现。
在ApolloStudio中,软件提供非常简便的方法来实现这个需求,我们先来看一下(我们可以在脚本工具集>UI界面>图表控件>实时曲线找到):
组态页面编辑
我们可以在“组态UI设计器”中绘制我们所需要呈现的表格大小:
在这里有一点需要特别注意的是:在ApolloStudio中,隐含了很多复用功能,即一个控件或者是脚本函数可以有“七十二般变化”的功能,这种灵活的设计是便于将功能更为简便的提供给大家,而不需要繁琐的去寻找或者记忆,把更多精力放到具体业务分析中去。在这里“图表控件”便是其中一个具有复用功能的UI控件,它可以根据需要,变成实时曲线模型、饼图、柱状图或者历史记录曲线模型等等,本篇中将以实时曲线模型进行详解。
先不要着急在组态UI设计器内如此“矬”的显示,这只是简单的标识一下这是一个图表控件,在正式加载到软件主运行界面的时候,该区域将是空白,需要在脚本里面对其进行显示模型设定才能显示其“庐山真面目”。(加载后默认图像如下图所示)
脚本功能设定
我们现在以每隔1秒生成一个在10到60之间的随机数来生成一个简单的实时曲线:
#-*- coding: UTF-8 -*-
#加载内嵌模块
import clr,sys,time,datetime,random
#将plotview1初始化显示模型设定为实时曲线模型,图表标题设定为“实时曲线1”,显示曲线条数为1
AS.Func_UI_PlotView_RT_SetDispModel("plotview1", "实时曲线1", 1)
#设定plotview1中第1根(索引为0)的曲线名字为“我的曲线1”
AS.Func_UI_PlotView_RT_SetLineTitle("plotview1", 0, "我的曲线1")
#添加Y轴坐标为10和60的辅助线(上下限)
AS.Func_UI_PlotView_RT_SetLineAnnotation("plotview1", "Line1", "Y", 60)
AS.Func_UI_PlotView_RT_SetLineAnnotation("plotview1", "Line2", "Y", 10)
#删除指定名字的辅助线(可选)
#AS.Func_UI_PlotView_RT_RemoveLineAnnotation("plotview1", "Line1")
#循环添加实时点
while True:
#在第1根曲线上添加10到60的随机点,可以追加一个整型(uint)参数来限制实时曲线所显示的最大点数(默认4096)
AS.Func_UI_PlotView_RT_AddPoint("plotview1", 0, random.randint(10, 60))
#设定更新周期为1秒
time.sleep(1)
我们将会得到如下一个图像:
我们可以通过鼠标来进行滚轮放大缩小、鼠标右键平移,鼠标中键双击展示缩略图、按下鼠标中键拖动局部细节方法等操作。
鼠标点击在数据点上,会显示点的数据相关信息。
***********************************************************************************************************************************************
ApolloStudio最新版下载地址(网盘有交流群号):