题目中用到了合集、中英的字眼,之所以这样说,是因为我已经在中文网和外文网都搜过这个问题了。听起来工作量很大,其实问这个问题的人不多,回答更是大同小异。
下面列出的各种解决办法按其解决问题的可能性进行排列,互联网能搜索到的和我能想到的都在这里了。
首先必须明确一点,你所安装的PC ACCESS软件版本必须是和系统版本兼容的,见下表:
表中C = 支持;IC = 不支持;* = 不确定。
如果不兼容,程序就无法正常运行。
可以通过对现有软件进行升级来解决问题,这也是致电西门子技术支持给出的常用解答。对PC ACCESS的下载安装可以见我写的另一篇文章:
S7-200 PC ACCESS下载安装及常见问题解决思路指南
不管怎么说,修改ini文件这方法似乎对于大多数人来说还是有效的。
在我的测试过程中,SP6版本的PC ACCESS不仅有这行,甚至在你删除这一行后还会被软件自动恢复。
注意这是参考路径,如果你在安装软件时使用的默认安装路径,则可以按图中所示添加路径,否则必须做出修改。
但是在文中没有提到的是,在64位系统中还要做出如下修改:ConfigDataPath= C:\Program Files (x86)\Siemens\S7-200 PC Access\bin\sopcsrvr.ini
这个问题最早是在国外的西门子论坛被提到的,原贴被我找到了:
PC access error
提出在路径中添加x86的层主也在这:
坦白说我不知道为什么在ini文件中添加路径就可以正常运行了,难道在安装西门子软件时出现了注册表冲突(这一方面我不懂)?
我们先来看之前的帖子里题主是怎么问的:
大意就是先安装的PC ACCESS,可以正常工作;然后安装了WinCC,结果软件就出错了。
这个过程也很像我的操作:软件刚安装完毕时,我连接PLC通过自带的客户测试端进行通信测试,可以正常工作;然后我打开MicroWIN重编辑了S7-200的程序,之后再次打开PC ACCESS,至此只要点击客户测试端,就报错“An error has occured”。
那个流行的解决方法的提出者则是在安装WinCC flexible后程序出错。
从诱因来看,似乎PC ACCESS出错和其它安装在本机的西门子软件也有关,因此我看到的另一种解决方法是升级MicroWIN至V4.0 SP9。实际上STEP 7-MicroWIN SMART和pc access SMART就有兼容性问题(已证实),因此这也是一种尝试解决问题的方法。
所谓常规方法包括但不限于:
这些方式实际上适用于所有软件。
1
在国外论坛另一个近似的讨论帖里提到了一个(不像样的)解决方法:
PC-Access, an error has occurred.
这是楼主在3年之后自己给自己的回复,这期间没人想出有效的办法,不过没什么参考价值,意思就是说软件在刚打开时会弹窗提示配置更新时必须先保存配置再进行通信,因此只要保存项目再尝试就行了。难以想象这货居然这么水,都不看弹窗提示的么。
后面的跟帖还有提到修改timeout时间等等,总之我都测试过了,似乎没什么用。
————————————
2
国内西门子论坛里找到了一个,不过估计没什么用:
S7-200 PC Access 测试报错An error has occured
一般电脑似乎默认就是这个配置。
————————————
3
还有这个帖子可以参考一下:
smart 200的pc access一打开,就报错,安装无出错提示
虽然是SMART,性质应该差不多。
这个看着有点靠谱,确实有可能是盗版操作系统的问题,注意我指的是GHOST问题,对于修改【不保留最近打开文档的历史】我持保留意见。不过总的来说,既然WinCC和MicroWIN都成功在GHOST系统运行了,总不能PC Access反而对此有所要求吧。
把这个排在最后是因为无论哪一个都很麻烦。
更换系统:如果你是64位机,我建议更换成32位机,且使用虚拟机安装。win7可以尝试倒退回XP(毕竟S7-200诞生于XP时代)。
更换电脑:严格来讲换电脑即使成功运行了,也并没有解决这台电脑上的问题。可以换台相同OS的电脑进行测试,如果可以使用说明是原电脑的配置问题,然后再慢慢排查问题所在。
更换软件:尝试用其它软件进行OPC通信,S7-200保有量这么大,应该针对它开发的OPC服务器软件还是有的。
实话实说,我本来都打算放弃了,上面的除了更换系统、电脑和软件,我都试过了。
但是我今天莫名奇妙试成功了,我的组合是这样的:
电脑开机——重装软件——在路径中添加x86——管理员运行——打开之前保存的项目——保存项目——开始测试——测试成功
要知道重启、重装、x86我都试过了,不知道怎么成功的。希望到时候不会莫名其妙的失效吧。