sách gpt4 ai đã đi

ipc - OPC 和 DDS 之间的区别?

In lại 作者:行者123 更新时间:2023-12-01 16:13:23 26 4
mua khóa gpt4 Nike

我想知道OPC(开放平台通信)和DDS(数据分发服务)之间的区别。

我对这两个框架的理解是:机器上的通信中间件,用于简化复杂的网络编程。两者都用于通过消息传递在物理上独立的机器上进行程序通信。它们采用客户端-服务器模型作为TCP/IP套接字进行通信,但可以以多2多方式交换数据。此外,DDS还经常用于飞机、军舰等关键系统。

如果有任何误解,或者您知道它们之间的差异,请告诉我。

1 Câu trả lời

(在 Basil 评论之后、在最初发布之前编辑:) )

我认为您指的是 OPC-UA,因为 OPC 已被统一架构实现所取代。有点交叉,OPC 只不过是 Windows COM/DCOM,UA 是对 SOA 的彻底改造。

DDS 互操作性规范需要 UDP/IP 和多播来进行匿名发现,而不是 TCP/IP。 TCP 可以使用,但还没有规范,允许不同的供应商随心所欲地实现它。假设一个供应商的 TCP/IP 传输无法与另一供应商的 TCP/IP 传输兼容(也适用于共享内存传输等。它们不可互操作)。

OPC-UA 通过类似 HTTP 的协议(protocol)使用静态通信。 TCP 不是确定性的,因此无法保证实时了解正在发生的事情。 UDP 是尽力而为(RTPS2,DDS 使用的协议(protocol)包括通过 UDP 提供可靠流量的方法,即在更高的协议(protocol)级别提供可靠性),但至少您的应用程序知道数据已/未及时到达,并且可以做出相应的 react 。

OPC-UA 默认情况下是客户端/服务器(但如果您想要嵌入式系统上服务器实现的开销,可以将其设置为点对点)。 DDS 是匿名的点对点(但将其设置为客户端-服务器非常简单,只需为给定主题实现一个订阅者即可)。

OPC-UA面向工业控制(SCADA)。 DDS 适用于几乎任何机器对机器的连接,其中“机器”被定义为运行某种代码的某些硬件,可以访问 UDP/IP 堆栈和足够的 RAM 来支持数据量/设备的多样性/速度/可变性/供应商/v...要求。

两者完全彼此分离,并且是平台独立的(硬件、操作系统、语言等),但实现方式不同。 DDS 将数据提升到系统的完全合格的对等点:发布者发布“数据”。订阅者订阅“数据”。它不是“发布者与订阅者对话”。

OPC-UA 使用内部协议(protocol)(opc-tpc://或 https://)和 RESTful。很难搞砸。

OPC(基金会)和 OMG(开放标准机构)都测试实现之间的互操作性。

QoS:DDS 中的 QoS 本身就是一个领域。你一定会印象深刻。你会感到惊讶的。当两个对等点在同一个主题上,在同一个子网上使用完全相同的类型定义,仍然无法相互交谈时,您会感到震惊、困惑和沮丧地哭泣。然后你会说,‘哦。呃,'更改 QoS 文件中的一项设置,一切都会再次变得甜蜜和轻松。

由于 OPC-UA 针对特定用例,因此除了该特定用例所需的之外,不需要任何 QoS。 DDS 的能力更强/对 QoS 的感知能力更强,因为它不限于单一用例。

关于ipc - OPC 和 DDS 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36301904/

26 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com