大家在用组态软件时可能会需要一个功能,就是需要针对部分重要的仪表创建对应的趋势图,最好是小弹窗形式,以方便在观察该数据的趋势同时,也能了解到生产情况。但是如果每个仪表都建立对应的趋势图,既浪费资源,维护又不方便,所以需要建立一个公共弹窗,每次都是调用这一个弹窗,显示不同的数据趋势。
用intouch软件来展示该功能的建立过程。
首先、创建一个弹窗名为“趋势图”,然后在工具栏中点击这个帽子图标
,在其中的趋势栏中选择部分块,创建成如下图所示画面。
其中有不同点先不管。双击这三个部分,每一个都创建成下图所示,点击建议后修改部分数字即可。
其中趋势图比例有一些设置需要单独进行。笔号对应曲线名改为1,2,3,4.下面值格式根据需要的格式提前进行修改。
创建完以后一个基本的趋势图功能就完成了。
下面说明如何实现公共模版。
首先需要创建部分变量
1、 在你需要创建对应弹窗的对应模拟量中创建按钮动作。(在模拟量的触动按钮-动作)
HTSetPenName("HistTrend",1,"TEXT1") ;用于将变量填入对应的曲线中。下面三条是作用是将备用变量填入到备用曲线。
HistTrend.ChartLength = 1800;设定进入画面后曲线时间轴长度为30分钟。
HTUpdateToCurrentTime( HistTrend.Name );让曲线时间轴更新到最新。通过上面两条曲线的设置可以规范每次进入曲线的时间轴为最新的三十分钟
HistTrend.MinRange=0;HistTrend.MaxRange=100;将工程范围缩放设定为最大范围。
1
上面的脚本就是如何创建公共模版的方式。将你需要的所以变量都填入对应的脚本。其中一个每一个变量对应NUM的一个数字。在这里通过NUM变量实现两次打开同一个变量的趋势,里面的设置不会被重新覆盖。
然后在全局脚本中执行下图脚本,用于提取变量对应的注释。
TAG1.Name=HTGetPenName("HistTrend",HistTrend.UpdateCount,1);
HistTrendName1=TAG1.Comment;
上面两条指令用于将对应曲线的变量名提取出来,然后提取对应的注释。
然后进入趋势图弹窗,点击该图标
,右键分解单元,将Tagname字符中的字符串里面的变量改成HistTrendName1。
因为小弹窗我们不需要过多曲线进行对比,这里我用了四条曲线。左边的y曲线轴有八条曲线切换的功能,这里我把这个功能给修改一下。将主趋势图进行分解,选择左侧的绿色长条,这里有两条曲线重叠,删去用于5-8曲线的那条,另一条可见性功能勾去,动作功能勾去。这样该长条的功能就是显示选中的曲线的y轴坐标以及对应的颜色。
效果图如上。左边绿色的为y轴显示,可显示y轴数值的量程以及当前数值的颜色、右边的趋势笔可显示当前数值的注释以及对应的左数值和右数值的值。点击趋势笔可调整y轴对应的数值。下面的指示器可拖动查看对应时间的数值。数值在趋势笔中查看。下面的缩放平移面板就是对时间轴进行缩放平移。点击中间的趋势画面可进行趋势变量的添加删除。
1
该模版是基于intouch自带的趋势图修改而成,也可以在画面中增加显示整个趋势最大值、最小值、平均值等数值显示。指示器之间的最大值、最小值、平均值等数值显示。这些在帮助文件里都有说明,可根据自己需求进行修改。这次主要是把一个模版的开发思路分享给大家。