在过程控制中,为了方便监控实际的生产工艺,往往把现场的设备包括电机、阀门、管道等,用流程图的形式在画面中展现出来,而不仅仅是获取数据堆积到画面中。

在工艺画面流程图中,通过不同的颜色,不同的运动状态来模拟现场设备的运行情况,有直观的视觉展示。

那么如何把wincc采集的plc数据转换成状态显示。以下以阀门状态显示为例,来阐述数据到画面的展示过程。通常阀门的状态在plc中封装成“字”的形式,即状态字。当wincc把封装的状态“字”读取上来之后,要通过“&”表的逻辑运算把其中要读取的“状态位”拆分出来。

拆分过程:

0位:“ 状态字 ” & 0x2^0; 说明:2^0:表示2的0次方

1位:“ 状态字 ” & 0x 2^1;说明:2^1:表示2的1次方

2位:“ 状态字 ” & 0x 2^2;说明:2^2:表示2的2次方

3位:“ 状态字 ” & 0x 2^3;说明:2^3:表示2的3次方

通过以上的逻辑运算得到了,状态字中每个位的状态(1或0),如果要表示阀门的状态至少用到2个位,即开到位、关到位,在一个阀门上如何表示2个位呢?

我的方法一般用一个算术表达式运算法:

例如:第0位位开到位,第1位为关到位,阀门状态的表达式:

“状态字” & 0x 2^0 + ( “状态字” & 0x 2^1)*2,通过表达式的计算结果判断阀门的状态。

打开网易新闻 查看精彩图片

结果0:没有开到位没有关到位;

结果1:开到位=1,关到位=0;

结果2:开到位=0,关到位=1;

当然色彩的选择,根据项目统一处理。但是类别颜色保持一致,符合操作人员查看习惯。

打开网易新闻 查看精彩图片