最近我在做S7-200的OPC通信实验。我做过大量的S7-300/400和S7-1200的通信实验,包括使用SIMATIC NET的OPC通信实验,所以觉得做S7-200的OPC实验是小菜一碟。谁知在阴沟里翻了船,一开始就出师不利。
1.S7-200与PC ACCESS的通信
在PC ACCESS中起动客户机测试时,显示“出现错误”对话框,不能启动测试。
现在的互联网真是个好东西,有问题上互联网,已经成了我们的生活习惯。我遇到问题的第一个反应就是上网。
在西门子网站的S7-200论坛上搜索“PC ACCESS”,出现了大量的有PC没有ACCESS的帖子。改为搜索“ACCESS”,搜索到的帖子少了很多,剩下的有效帖子的比例也高了。
逐个打开找到的帖子,说什么的都有,例如:
1)“用的是原装的PC/PPI电缆吗?”
我用的不是原装的,有人说原装的也不行。
2)“只要能下载程序,说明PC/PPI电缆肯定没问题。”
我也能下载程序,看来电缆没问题。
3)“在Microwin中定义变量名不要使用中文。”
我改为英文也不行。
4)“PC ACCESS 内建立的变量保存了吗?”
我保存了也不行。
5)“系统安装了WinCC flexible2008_SP2,不能连接。卸载后重装系统问题得到解决。”
我用一个重装的“干净”的操作系统也不行。
6)“PC ACCESS V1.0 SP3~SP5安装后都不能用,只有SP1能用,后来找了个SP6又能用了。”
说明此软件与操作系统可能有兼容性问题。
7)在“找答案”版区找到“pc access sp6为升级包,需要您先安装完整版才可以,pc access sp3是完整版”。
我在西门子网站下载了PC ACCESS V1.0 SP6,安装时需要先卸载老版的PC ACCESS、MicroWIN V4.0和S7-200 Explorer(真是麻烦!)。
安装好PC ACCESS V1.0 SP6和MicroWIN V4.0 SP9后,在PC ACCESS中起动客户机测试时,没有显示“出现错误”对话框了。“测试客户机”窗口可以显示PLC中变量的数值了,首战告捷(见图1)!
2.组态王与S7-200的OPC通信
S7-200与PC ACCESS的通信不是目的,我的最终目的是要实现第3方组态软件(组态王)与S7-200的OPC通信。
图2是S7-200的程序,用图3中组态王画面上的起动按钮和停车按钮控制M0.0和M0.1的状态,通过PLC的程序控制Q0.0,用组态王画面上的指示灯显示Q0.0的状态。
T37的当前值以锯齿波的波形在0和MW10的预置值之间不断变化。用组态王的画面显示T37的当前值,用组态王画面上的模拟值输入字符串修改T37的预置值MW10。
在组态王中组态好S7-200.OPCServer的变量和画面后,在测试组态王和S7-200的通信时,发现S7-200的数据可以传送给组态王,例如用组态王画面上的指示灯显示Q0.0的状态和显示T37的当前值。但是组态王中的数据(例如用画面上的按钮控制的M0.0和M0.1)不能传送到PLC,只能实现单向的通信。
在西门子的论坛和“找答案”版区搜索“ACCESS 组态王”,几乎找不到什么有用的信息。在组态王的生产厂商亚控公司的论坛搜索,得到的有用信息也很少。
用百度搜索“ACCESS 组态王”,找到了很多与数据库ACCESS有关的帖子。改为搜索“PC ACCESS 组态王”,发现有几个和我同病相怜的人,遇到和我相同的问题。
下面两个帖子讲到了原因:
1) “原因找到了,还是因为组态王是盗版的原因呀!很多功能实现不了。”
这个原因我不认同,我用的是亚控公司给的组态王的试用版光盘,每次可用2小时,不存在盗版的问题。
2) “有个更新文件。”
3)“在组态王V6.53里边有个补丁,找组态王要一个就行了,我用的时候就是。”
看来问题出在组态王身上,我用的是V6.51版的组态王。在亚控公司的网站上找不到组态王有关的补丁和更新文件,干脆下载了最新版的组态王V6.55。重新安装组态王后一试,按钮信号可以传送到PLC,问题解决了!
这个问题的解决过程可以得出一些结论:
1)遇到问题找互联网,一般都可以解决问题。
2)在什么地方搜索很重要,西门子产品的问题首选的当然是西门子网站的论坛和“找答案”版区。组态王的问题可以在生产厂商的论坛搜索。这个例子最后用百度搜索得到了启发。
3)搜索时的关键词很重要,有时需要使用不同的关键词搜索。
4)要学会在搜索到的大量信息中,迅速地找出有用的信息。
5)很多信息最后还需要通过实验来验证是否正确,去伪存真,大浪淘沙始得金。