饼图可以直观表达配方中各组分所占的比例,而面积图就是饼图的动态化,在一些特定场合,面积图比折线图表达更为直观,界面更显得友好。
比如一个液体混合的工艺流程:

三个管路连续地按照一定比例进行混合,在任意时刻要求比例恒定,这个场合中,三个管路的流量数据分别用折线图和面积图来表达是这样的

显然,面积图直观友好的多了!
然而,WinCC的趋势图不能够直接作面积图,我的方法是通过全局脚本间接实现这个目的的。
面积堆积图重点在“堆积”,可以理解成“累加”,三路管道各自的流量是x、y、z,那么面积堆积图中,三个变量就是x、x+y、x+y+z,思路就是这样子了;
首先在计算机属性中,打开启动标签,勾选全局脚本运行系统,新建C编辑器全局动作:
float x,y,z,Sigma1,Sigma2;
x=GetTagFloat("FT155"); //读取管路1的流量
y=GetTagFloat("FT255"); //读取管路2的流量
z=GetTagFloat("FT355"); //读取管路3的流量
Sigma1=x+y;
Sigma2=x+y+z;
SetTagFloat("sigma1", Sigma1); //sigma1为内部变量
SetTagFloat("sigma2", Sigma2); //sigma2为内部变量
根据外部变量的采集周期,设定定时器循环时间,循环触发C动作;
然后按照普通趋势图一样添加累加变量到趋势图中,勾选趋势填充颜色,就是想要的面积图了。
