有谁处理过 OPC 协议呢?求例子

2019-04-28 12:40:50 +08:00
 ninestep

目前有个需求是使用 OPC 协议从组态王的接口中取出数据,原本设想是使用 Python 的 OPC 库开发,但是开发过程中遇到很多问题,举步维艰,各位大佬谁做过相关的开发,求例子,语言最好是 php,python,js 中其中一个

2575 次点击
所在节点    问与答
6 条回复
ruoyu0088
2019-04-28 12:49:25 +08:00
是那个和 PLC 通讯的 OPC 吗,我用 Python 做过一个项目,没有遇到什么问题啊。
Joe0920
2019-04-28 12:56:25 +08:00
以前用 cpp 写过,依稀记得有 1.0 2.0 3.0 版本的都不一样吧,是个很头疼的东西
ninestep
2019-04-28 14:26:08 +08:00
@ruoyu0088 我对 opc 这方面没有了解,我用的库是`http://openopc.sourceforge.net/`这个库,然后我在本地使用`http://www.matrikonopc.com/downloads/178/index.aspx`家里了一个虚拟 OPC 接口,在使用下载的 opc 工具的时候可以访问,但是自己读服务器列表的时候就会报错
![1]( https://i.loli.net/2019/04/28/5cc547601ecb8.png)
![2]( https://i.loli.net/2019/04/28/5cc54767c4c5c.png)
loserwn
2019-04-28 14:47:52 +08:00
js opc 就算了。协议相对传统,目前也就 python 好一点。
windflyer
2019-04-28 15:45:00 +08:00
@ninestep 感觉你使用 OpenOPC 的方式有问题。


如果通过本地 COM 访问:
opc = OpenOPC.client()

如果是通过网络访问(前提是在运行 OPC server 的机器上需要安装并启动一个服务来作为 proxy,这个 proxy 本质上还是通过 COM 访问 OPC server ):
opc = OpenOPC.open_client(host, port)


不论通过哪种方式,获得一个 opc 对象之后,就可以调用其他 API 了
opc.servers()
opc.connect('YOUR OPC SERVER'))
ninestep
2019-04-28 17:24:57 +08:00
@windflyer 现在的问题是用下载的 opc 软件可以连上,但是如果是自己写这两种方式全部都不行,都连不上

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/559442

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX