duduyoyo / WebSocket4OPC

Liberate and access plant data anywhere, any way!
MIT License
38 stars 6 forks source link

连接失败 #4

Closed hg-hyy closed 1 year ago

hg-hyy commented 1 year ago

我安装之后访问页面显示 DISCONNECTED 是什么问题? 我在WIN10 LTSC 21H2上测试,Opc Server 是kepware6

duduyoyo commented 1 year ago

这里注意三点,一是安装时你的帐号在IIS中是否有合适的权限可以运行appPool,第二是该帐号在opc server中是否有权限限制不能读写等(如果opc server有帐号操作仅限限制的话),三是如果不是用localhost来进行测试注意你的IIS下的windows authentication权限设置(本应用缺省的是anonymous,检查你有无改成其它的方式)。如果在浏览器的debug模式下(按F12键)选取网络->WebSocket进行网络监视你见到什么?另外在eventViewer中你可以检查下,它会告诉你一些可能的原因。最后还不行的话可以在另一台机子或vm上用matrikcon的免费opc server试下。你可以把你见到的做个截图放上来便于找到原因

hg-hyy commented 1 year ago

image image

我重新安装了个虚拟机测试ok image

仔细对比了下IIS配置是一样的,但是还是不行。

duduyoyo commented 1 year ago

根据你的第二个截图,感觉你的实体机的WebSocket功能没有打开,请检查如下图的设置。如还有问题,在EventViewer里请列出OPC WebSocket Native Module里的截图方便查找原因。你也可以在实体和虚拟机间比较你的设置发现问题。 image

hg-hyy commented 1 year ago

功能是打开的,我都是在虚拟机里测试的。 image image

duduyoyo commented 1 year ago

原因很清楚了,在同一个机子上除了Kepware外你还装了另外一个OPC Server(它的Class ID是275FBE32-A8AA-xxxx,杰控的?)。某种原因该OPC Server被卸载了但是注册表中还留有它的相关信息,导致创建实例失败。一般机子上只装有一个服务商的产品,所以这种情况很罕见。你可以清理你的注册表再试试。有问题再发EventViewer截图上来

hg-hyy commented 1 year ago

确实如此,感谢

duduyoyo commented 8 months ago

在多服务器环境下,现在可以支持你选定的服务器了。只要在config xml文件中把你需要的服务器的ProgID放进去,就可以了。