我的计算机上运行了一个node-opcua服务器。我想从PLC读取数据。 根据我的理解,OPC Server用于在PLC上读/写。
我已按照说明从http://node-opcua.github.io/
创建服务器和客户端那么,我的问题是如何从PLC读取信号?我是IoT和OPC UA的新手。请指导我。
答案 0 :(得分:4)
不幸的是,你错过了一大块难题。
是的,OPC服务器最常见的用途之一是允许OPC客户端与PLC通信。
但OPC没有任何魔力允许这样做。这是有效的,因为特定的OPC服务器知道如何通过该PLC的本机协议与它声称支持的每种不同类型的PLC进行通信。这是一项繁重的工作,几乎每个PLC型号和品牌都有所不同,这就是为什么供应商可以为他们的服务器要价,而且你找不到很多开源替代品。
只需编程自己一个随机的OPC服务器并运行它对你没有任何帮助。 OPC服务器需要为连接的客户端提供某种有用的数据,并知道如何获取它。如果您正在编程服务器,那么<em>您需要知道如何获取它。
如果您想从PLC获取数据并使用OPC,您应该做的是购买或以其他方式获得知道如何与您感兴趣的PLC通信的OPC服务器然后自己编程OPC客户端与该服务器交互并获取所需的数据。
这是OPC在一开始就解决的一个大问题:让供应商担心与PLC通信所需的无数复杂,遗留,有时无记录的协议。那些需要这些数据的客户可以担心一个开放标准(OPC)。
答案 1 :(得分:0)
1)什么类型的PLC?
2)您需要在节点中实现通信协议。但是,更好的是,考虑其他工具的实施。
3)利润
IMHO node-opcua更适合在node.js应用程序上发布内部参数。
答案 2 :(得分:0)
OPCUA服务器不用于从PLC读取数据。 OPCUA服务器确实发布可由OPCUA客户端访问的数据。
如果要使用OPCUA从PLC读取数据,则至少需要:
可以配置为OPCUA服务器的PLC(例如Siemens S7-1500系列)
一个OPCUA客户端应用程序(可以选择http://node-opcua.github.io/)
注意:“ OPC”和“ OPCUA”之间有很大的区别。因为您提到了节点opcua库,所以我在谈论OPCUA。
注2:凯文·赫伦(Kevin Herron)并非完全错误,但听起来对我有误解。他提到的专用通讯驱动程序不属于OPC服务器。某些产品可能被冠以“ OPC服务器,该服务器与品牌x,y ..进行PLC通信”,但是这些产品远不止是OPC服务器。在这种情况下,不使用OPC连接到PLC。