更新时间: 2023-10-31
对于桌面方式运行且只允许一个实例运行的OPCServer软件,如果OPCServer程序和OPCClient程序都是以非SYSTEM账户或都是以SYSTEM账户运行,那么可以通讯;如果一个是非SYSTEM账户;另外一个是SYSTEM账户,那么不能通讯。
遭遇这种现象主要是由于OPC的采用的COM机制导致的,COM机制这里就不说了,当OPCClient运行后,就和目标OPCServer进行通讯,在操作系统允许的空间中检测OPCServer是否存在和是否运行,如果发现OPCServer在运行,就与OPCServer通讯,如果OPCServer未运行,就通知操作系统的COM协调器将目标OPCServer运行起来。在上面描述的现象中,如果带界面的OPCServer软件已经通过当前登录账户运行起来,而OPCClient以Windows服务方式运行在SYSTEM账户的空间,那么OPCClient就未能检测到OPCServer已经运行,于是OPCClient就让COM协调器在本空间中运行OPCServer,但OPCServer运行时,又检测到自己在当前登录账户的空间已经启动了,因此就拒绝再次运行。所以就发生了Windows服务方式的OPCClient和带界面的OPCServer无法通讯的问题。
上一篇:12570401卡件
下一篇:12664802卡件