Modbus,OPC-UA和OPC-DA与MQTT之间的差异

OPC UA是OPC DA的后继产品/替代产品。Predix不支持OPC DA,但支持OPC UA。但是所有这些协议与Predix无关,因此,导致您在它们之间进行选择的因素主要取决于您的设置。

OPC UA已经设计用于传感器数据,而MQTT是消息传递协议,您将需要创建传感器数据抽象并对其进行调整。

请研究其提供商的技术。您可以放心,无论您采用哪种方式(MQTT或OPC UA),都可以轻松地与Predix集成。

OPC最初是作为一种标准协议开发的,可以与诸如可编程控制器(PLC),SCADA系统(监控和数据采集)以及许多其他工业控制系统和设备之类的设备进行通信。使用OPC,有一台服务器以其本机语言/协议与设备通信,然后以标准OPC格式公开该数据。然后,OPC客户端可以使用该数据。OPC DA最初设计为传输相当简单的数据类型,例如模拟量(温度,压力,流速等)和离散量(机器/设备状态,例如泵开/关,阀门打开/关闭,电动机运行/停止等)。传感器数据,而OPC UA允许传感器数据以及其他数据(如警报和事件)以及其他数据类型。OPC UA是OPC DA的后继产品。因此,Predix OPC UA组件是OPC UA服务器的客户端应用程序,OPC UA服务器将是与控制系统实际通信的软件。

Modbus是另一种已多年成为行业标准的协议。它最初由Modicon开发,用于与Modicon PLC通信,但已被其他供应商采用作为与这些其他设备进行通信的协议。像OPC一样,Modbus只是提供了一种相对简单的机制来与支持Modbus协议的设备(例如PLC,远程终端设备或RTU等)进行通信,然后将该数据提供给需要该数据的应用程序。例如,GE iFIX软件是一个HMI应用程序,它允许您构建实时显示,以可视化来自OPC,Modbus和其他使用这些协议进行通讯的类似工业控制器系统的传感器数据。

最重要的是,OPC UA和Modbus是用于与工业控制器/系统进行通信的协议。我们与这些系统进行通信,以便检索传感器数据(温度,压力,流速,振动数据,状态信息,例如泵是否运行等),然后将该数据转发到GE的Proficy Historian和/或进入云中的Predix时间序列数据库。

区别:
OPC-UA最适合SCADA(监测控制和数据采集(supervisory control and data acquisition))系统,MQTT非常适合通过不可靠的网络(例如移动网络)进行发布/订阅消息传递。

如果低开销是您的关键,那么MQTT可能比OPC-UA更合适。当然,这在很大程度上取决于您的用例。

MQTT是基于代理的消息传递协议,其中有效负载编码和内容完全是特定于应用程序的。因此,如果要在您开发的两个应用程序之间发送消息,将很有用。

OPC UA是一种体系结构(OPC统一体系结构),其中通信协议只是所讨论主题的一部分。OPC UA应用程序能够以面向对象的方式公开对象,变量,方法和数据结构的全网状网络。今天的通信基于客户机/服务器模型,其中服务器公开一组标准服务,以导航可用对象,读取和写入数据,调用方法或预订数据更改或事件。

主要目标是通过定义有关如何使信息可用的元元模型,定义用于访问信息的标准服务以及定义用于服务调用的不同传输协议和数据编码,来提供不同供应商的应用程序之间的互操作性。协议包括优化的OPC UA二进制协议,不仅提供端到端的安全性,而且还提供基于Web服务或基于HTTPS的协议。

OPC UA目前正在研究第二种基于发布订阅的通信模型,该模型允许OPC UA应用程序之间进行消息传递。除了基于UDP的对等协议外,此PubSub扩展还将使用基于代理的消息传递协议,例如AMQP和MQTT。

OPC UA和MQTT是正交的,因为它们试图解决不同的问题。

OPC UA WG当前正在开发PubSub扩展OPC UA,它指定如何通过MQTT,AMQP或XMPP发送OPC UA净荷。

MQTT的最大问题之一是有效载荷的格式留给应用程序,这意味着您之间在没有经过专门编码以彼此协同工作的应用程序之间没有真正的互操作性。OPC UA PubSub扩展通过定义OPC UA有效负载的语法来解决此限制。


ref

diffrence between modbus, OPC-UA, and OPC-DA and MQTT.

OPC UA protocol vs MQTT protocol

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章