0

我的机器上运行着一个 node-opcua 服务器。我想从 PLC 读取数据。据我了解,OPC Server 用于在 PLC 上进行读/写。

我已按照说明从http://node-opcua.github.io/创建服务器和客户端

那么,我的问题是如何从 PLC 读取信号?我是 IoT 和 OPC UA 的新手。请指导我。

4

3 回答 3

7

不幸的是,你错过了一大块拼图。

是的,OPC 服务器最常见的用途之一是允许 OPC 客户端与 PLC 通信。

但是 OPC 并没有什么神奇的地方可以做到这一点。这是因为特定的 OPC 服务器知道如何通过该 PLC 的本机协议与它声称支持的每种不同类型的 PLC 进行通信。这是一项繁重的工作,几乎每个 PLC 型号和品牌都不同,这就是为什么供应商可以要求他们的服务器定价,而你不会找到很多开源替代品。

只是给自己编程一个随机的 OPC 服务器并运行它对你没有任何帮助。OPC 服务器需要为连接并知道如何获取它的客户端提供某种有用的数据。如果您正在对服务器进行编程,那么需要知道如何获取它。


如果您想从 PLC 获取数据并使用 OPC,您应该做的是购买或以其他方式获得一个知道如何与您感兴趣的 PLC 通信的 OPC 服务器,然后自己编写一个 OPC 客户端以与该服务器交互并获取您需要的数据。

这是 OPC 一开始就解决的大问题:让供应商担心与 PLC 通信所需的大量复杂、遗留、有时未记录的协议。需要这些数据的客户只需担心一个开放标准 (OPC)。

于 2018-05-14T13:16:14.807 回答
1

OPCUA 服务器不用于从 PLC 读取数据。OPCUA 服务器会发布可供 OPCUA 客户端访问的数据。

如果您想使用 OPCUA 从 PLC 读取数据,您至少需要:

  • 可配置为 OPCUA 服务器的 PLC(以西门子 S7-1500 系列为例)

  • 一个 OPCUA 客户端应用程序(http://node-opcua.github.io/是一个选项)

注意:“OPC”和“OPCUA”有很大区别。我说的是 OPCUA,因为您提到了 node-opcua 库。

注 2:Kevin Herron 并非完全错误,但听起来有点误导我。他提到的专用通信驱动程序不是 OPC 服务器的一部分。一些产品可能被标记为“与 x,y.. 品牌的 PLC 通信的 OPC 服务器”,但这些产品不仅仅是一个 OPC 服务器。在这种情况下,OPC 不用于连接到 PLC。

于 2019-11-14T11:33:39.737 回答
0

1)什么类型的PLC?

2)您需要在节点中实现通信协议。但是,更好的是,考虑其他工具的实现。

3) 利润

恕我直言 node-opcua 更好地设计用于在 node.js 应用程序上发布内部参数。

例如 - https://www.npmjs.com/package/node-modbus

于 2018-05-27T10:34:06.417 回答