本文主要简单介绍一下OPC UA相关的开源库,这样大家可以根据需要去选择使用。关于OPC UA的本质,这篇博客讲的挺好,可以看下。
以下排名不分先后。
1. open62541
这个是本人经常使用的库,支持跨平台,支持异步,文档写的也很好。下面是该库的信息,
- 官网地址:https://open62541.org/
- Github地址:https://github.com/open62541/open62541
- 语言:C/C++
- License:Mozilla Public License v2.0
- 官方教程:见官网Documentation
- 本人教程:https://blog.csdn.net/whahu1989/category_9236462.html
2. UA-.NETStandard
这是OPCFoundation推出的库,支持跨平台,基于.NET,下面是该库的信息,
- 官网地址:http://opcfoundation.github.io/UA-.NETStandard/
- Github地址:https://github.com/OPCFoundation/UA-.NETStandard
- 语言:C#
- License:对于OPCFoundation成员使用RCL,对于个人使用GPL-2.0
- 官方教程:见官网
3. python-opcua
Python现在已经很火了,opcua+python则更加强大,跨平台更不在话下,库接口简洁易用
- 官网地址:http://freeopcua.github.io/
- Github地址:https://github.com/FreeOpcUa/python-opcua
- 语言:Python (Python2和Python3都支持)
- License:LGPL-3.0
- 教程:见该库github地址主页
4. opcua-asyncio
这个库和python-opcua同出一脉,API接口和python-opcua也基本一致,只是使用python的asyncio进行了重写,可使程序异步运行,提高效率,这也是符合发展趋势,
- 官网地址:http://freeopcua.github.io/
- Github地址:https://github.com/FreeOpcUa/opcua-asyncio
- 语言:Python (Python3.6+)
- License:LGPL-3.0
- 教程:见该库github地址主页
5. node-opcua
基于JavaScript和NodeJS实现的OPC UA协议栈,跨平台是必然的,100%异步
- 官网地址:http://node-opcua.github.io/
- Github地址:https://github.com/node-opcua/node-opcua
- 语言:JavaScript / TypeScript
- License:MIT
- 教程:见该库github地址主页
6. milo
Eclipse下的开源库,
- 官网地址:https://projects.eclipse.org/projects/iot.milo
- Github地址:https://github.com/eclipse/milo
- 语言:Java
- License:EPL-2.0
- 教程:见该库github地址主页
7. gopcua
使用golang编写的OPCUA库,目前只实现Client功能
- 官网地址:https://pkg.go.dev/github.com/gopcua/opcua#section-readme
- Github地址:https://github.com/gopcua/opcua
- 语言:Golang
- License:MIT
- 教程:见该库的example目录
总结
以上是本人在github上搜索到的star数比较多的OPC UA开源库,大家可以根据需要选择适合自己的库进行使用。