optoblog

RESPEST-RESPONSE与Publish-Subscribe,第1部分:差异是什么?

发表 让·费亚亚(Jean Femia)2018年2月8日上午11:17:12

网络连接我们都知道,计算机和其他电子设备(打印机,路易斯电脑,智能手机等)已经建立了网络,因此它们可以交换信息。

但是,这些信息如何到达应该去的地方呢?

电子表格如何到达打印机,YouTube视频进入您的智能手机,或者对于自动化工程师来说,传感器的价值最重要?

让我们看一下几个用于网络通信的模型,然后在第2部分中,我们将它们比较,以查看哪种在某些情况下可能会更好。我们要看的两个是请求响应bublish-subscribe

请求和响应

网络上通信的计算机的典型模型是请求响应。在请求响应模型中,客户端计算机或软件请求数据或服务,服务器计算机或软件通过提供数据或服务来响应该请求。

例如,当您将电子表格发送到打印机时,您的电子表格程序是客户端。其对打印机服务的请求将送达您公司的打印服务器,该服务器响应了该请求,并为网络上的打印机分配资源。打印服务器处理所有客户端打印请求,确保您的电子表格和同事的打印作业都以有序的方式完成。

当您想在智能手机上观看该YouTube视频时,您的Web浏览器或YouTube应用程序是客户端,请在网络巨头(Internet)上要求视频。YouTube的Web服务器收到了请求,并通过将视频页面提供给您,以及其他数百万个视频页面,这些视频页面访问了全球其他数百万观众。

在自动化中,客户端通常是PC,服务器是PLC或PAC。您的PC上的HMI应用程序请求从PLC或PAC的数据请求数据,以便在监视器上显示。

您可以想象请求响应是客户发送空卡车以填充数据的客户。服务器通过将数据放在卡车上并将其发送回去来做出响应。

请求响应插图:客户端和服务器

请求响应和凹槽看法

用光电22凹槽®视图操作员界面,一个凹槽史诗处理器,凹槽盒子, 或者凹槽Windows Acts的服务器作为客户,请求从已连接到的设备中要求HMI所需的数据- 通过OPC UA,Epic和Snap PAC控制器,MODBUS®设备和PLC。这些设备响应接口所需的数据。

同时,凹槽Epic或Box也充当Web服务器。应客户的要求,例如授权的智能手机和平板电脑凹槽查看响应是通过为您在网络上创建的这些客户端创建的界面页面来响应。

了解有关groov视图的更多信息

发布并订阅

设备在网络上通信的另一种方式称为发布订阅,或者酒吧。在Pub-Sub体系结构中,一个名为Broker(有时也称为服务器)的中央来源接收并分发所有数据。Pub-Sub客户端可以将数据发布到经纪人或订阅以获取数据或两者的数据。

发布数据的客户仅在数据更改(按异常报告或RBE报告)时发送。订阅数据的客户端会自动从经纪人/服务器接收它,但是只有在更改时才从经纪人/服务器接收。

经纪人不存储数据;它只是将其从发布者转移到订户。当数据来自发布者时,经纪人会立即将其发送给该数据订阅的任何客户端。

在我们的卡车类比中,没有空卡车。客户出版数据将一辆完整的卡车发送给经纪人。经纪人看到卡车进来,但没有卸载卡车。它只是将其完整地路由到订户(如果有多个订户,则将卡车克隆)。

在下图中,左侧的客户端发布了右侧客户端订阅的数据。此外,右下方的客户还发布了其他未显示的客户所需的数据。

MQTT客户和经纪人插图

MQTT - 一个Pub-Sub协议

MQTT徽标MQTT是一种使用Pub-Sub体系结构的相当众所周知的运输协议。MQTT非常轻巧:它几乎占用了设备中的空间,因此即使具有很少的计算能力的小设备也可以使用它。

MQTT定义了卡车和路线。但这并不能定义负载(数据)如何包装或打开包装。那就是火花拔出的地方。

MQTT带有火花插头

火花布徽标SparkPlug Open MQTT客户端规范提供了适合工业用途的消息格式。

SparkPlug编码数据有效载荷:它定义了在发行商发送的卡车上如何包装数据,以及如何在订户中解开包装。

通过SparkPlug通过MQTT发送的数据被压缩和高效。装有火花插图定义的MQTT卡车还必须用火花插头打开包装,因此出版商和订户都必须使用它才能传递数据。

带有SparkPlug的MQTT还提供了一种有效的方法来跟踪客户端状态,并确保连接差的客户仍然可以传递和接收数据。

  • 如果客户脱机(打破了与经纪人的联系),则经纪人将“死亡证明”发送给订阅该数据的客户。
  • 当客户返回在线(重新建立连接)时,经纪人会签发所有数据标签的当前状态的“出生证明”。

根据客户端配置,也可以发送一定数量的丢失数据。

阅读有关MQTT和OPC UA的更多信息

比较请求响应和酒吧 - sub

由于这两个网络通信模型的工作方式不同,因此某些应用程序更适合一种模型或另一个模型。

第2部分,我们将查看一些关键差异,何时您可以选择使用每种差异。提示:其中之一可能更适合工业互联网(IIOT)应用程序。

不要错过帖子!订阅optoblog

订阅Optoblog每周摘要

主题:凹槽,,,,物联网,,,,物联网,,,,联网,,,,iiot,,,,工业互联网,,,,数据采集,,,,mqtt

写的让·费亚亚(Jean Femia)

让·费亚亚(Jean Femia)撰写了有关技术科目的文章,并专注于自动化和控制系统已有15年以上。她喜欢学习技术并在本田S2000中发挥作用。
找到我:

    订阅电子邮件更新

    最近的帖子

      主题帖子

      查看全部