Ovation系统跟第三方进行OPC通信时,标准配置是加一台带防火墙功能的路由器。
出错现象为用PI_OPCclient调试工具测试时,会在连接Ovation OPC server时弹出一个窗口报“unable to advise for shutdown notification”错误,但是之后还是能正常地从Ovation OPC server上取到数。如果是用正式的PI OPC接口程序连接,则会在PI OPC程序窗口里报“Shutdown Advise Failed: : 800706ba(RPC 服务器不可用)”错误,并且在几分钟后自动退出连接。
一些看法:
如果在同一台机器上的两个OPC client同时连接同一个OPC server,首先连接到的client断开时无法向OPC server发送shutdown注册(即unable to advise for shutdown notification),那么第二个client发起连接就会处于挂起状态,无法正常的从OPC server读取数据。这样就可以解释,为何第一次用PI OPCtool可以读取到OPC server的数据(尽管在连接时报错).而其后用opcint自动连接OPC server时却不能读取数据.
这个问题的关键在于,这个问题大多出现在我们同时使用PI数据库自带的OPC tools和PI 数据库的opcint.bat先后与OPC server进行连接的情况下。这就意味这我们从同一个节点同时发出了两个connect的要求,其中一个因为unable to advise for shutdown notification没有正常断开,从而影响到另外一个client的连接。而往往我们都是先用OPC tools来测试通讯是否成功。
欢迎各位高手能来讨论这个问题.提出解决方案.