上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.4 S7-200 OPC变量管理
WinCC和普通的外部通信,变量是在WinCC中手动建立的,数据类型也是手动指定的。但S7-200通过PC Access OPC通信,那么变量其实是导入的方式批量复制过来的。数据是在OPC SERVER中已经定义好的。在上一章节中已经简单演示过。但演示的是int数据类型,一点问题没有。特殊的是浮点数据类型,由于在S7-200的编程的符号表中并没有指定数据类型,符号表中定义的DWORD,编程中可以用来作为浮点数处理,也可以作为双字的长整数来处理,而在导入到PC Access中时,系统并不知道实际使用的数据类型,所以统一都当成DINT给导入进来了。
如果就这样直接传到WinCC,因为数据类型错误,是不可能显示出正确的数值的。所以需要提前在PC Access中手动调整这些数据的类型,如图3-1所示。
图3-1 PC ACCESS
截图中可以看到,前4个的数据类型改为了REAL,而后三个仍然保持为缺省的DINT。
由于PC Access的配置不支持导入和导出为文本格式,所以这些变量只能靠手动逐个修正。不过还好,S7-200 CPU一般带的模拟量通道数量比较少,所以用到的需要与WinCC通信的浮点数也不会很多,逐个修改一遍也不算麻烦。
但是,如果在项目调试过程中,PLC中的程序不断修改,不断有新变量需要增加进来,那应该怎么做呢?前面讲的变量表本来是统一导入进来的,那现在如果完全重新导入一次,模拟量数据格式又丢了,又要重来一遍吗?
其实有个技巧,就是第一次导入的CPU保持使用,重复再导入整个CPU一次,然后从中挑选新增加的变量,复制粘贴到旧的CPU中,然后把后导入的CPU整体删掉,即可。
同样,需要增加导入到WinCC的变量,也从WinCC的OPC通道的项目浏览器中,逐个选择新变量增加。