在第1部分中,我们遇到了网络上计算机的两个通信模型:request-response and Publish-subscribe。现在,让我们看一下您何时可能要使用每个人以及原因。
请求响应:经过验证和可靠
在Request-Response架构中,每个客户端都可以直接连接到每个服务器,因为客户端直接从服务器请求数据。
在自动化中,通常客户是PC,服务器是PLC或PACS。因此,每个PC都可以直接连接到需要数据的每个PLC或PAC。
并且由于客户不知道何时会更改数据,因此它会定期请求数据。因此,PC客户端重复地向PLC和PAC服务器发送请求 - 自动化,每秒多次,并且服务器重复响应:
问:传感器价值是多少?答:10
问:传感器价值是多少?答:10
问:传感器价值是多少?答:10
问:传感器价值是多少?答:10
问:传感器价值是多少?答:10
问:传感器价值是多少?答:9
问:传感器价值是多少?答:9
如果您的网络强大并且服务器很少,则该模型效果很好。只要服务器具有响应客户需求并且网络可以处理流量量的能力,请求响应是一种可靠,可靠的通信方法。这对于通过安全的内部网络进行通信特别有用。
那交通量如何?
但是,如果您有多个客户端的多个服务器,但是,请求响应模型中的流量量很快就会成为问题。
在下面,您可以看到这是如何工作的。每个客户端分别连接到需要从中请求数据的每个服务器,甚至可以一遍又一遍地打开,查询,答案和关闭。
在我们的卡车类比中第1部分,您会看到不间断的卡车交通(Empty卡车,全卡车),所有这些连接。
相比之下,酒吧体系结构简化了通信。不需要直接连接和重复的数据请求。
链接的网络被从每个设备到经纪人(也称为服务器)的单个链接代替。客户和经纪人之间的联系保持开放,并且非常轻巧。在这种连接上只有两件事:更改的数据和一个微小的心跳,让经纪人知道客户仍然存在。
道路较少,卡车交通萎缩。
Pub-Sub:适合繁忙的交通和轻型网络
因此,如果您有很多服务器和许多需要共享数据和服务的客户,则可以使用Pub-Sub模型。
由于经纪人是数据的中央交换所,因此单个服务器不必担心为多个客户提供服务,并且客户不必连接到多个服务器。此外,总体上减少了网络流量,因为数据是按报告(RBE)的发布(RBE)的,也就是说,只有在数据更改时,与定期间隔相比,仅在数据更改时。
当难以在客户端和服务器之间建立直接连接时,或者当网络低频带宽度,昂贵或不可靠时,Pub-Sub也可能是有意义的,例如,在远程位置监视设备时。
MQTT/SparkPlug的特定优势
在物联网应用程序(IoT)应用程序中,经常提到Pub-Sub传输协议MQTT。MQTT是绿洲标准和ISO标准(https://en.wikipedia.org/wiki
MQTT今天通常用于个人Internet应用程序,具有工业历史。它是在1999年在俄克拉荷马州的石油和天然气管道应用中发明的,目的是通过偏远站点的卫星线解决昂贵的通信问题。
当然,远程安装以及脆弱或昂贵的网络连接的问题不仅限于石油和天然气行业。为了解决它们,使用SparkPlug的MQTT提供了与请求响应相比的三个其他优势:
- 由于有效载荷被压缩并有效地移动数据,因此即使是具有不规则连接或低带宽的远程设备也可以发布或订阅数据。
- 脱机的设备可以与经纪人重新连接,发送或接收当前数据以及指定数量的缓冲数据以帮助填补空白。
- 对于数据发布者,重要的安全优势:数据是使用出站连接。
最后一点是建立网络的关键考虑因素并安全地发送数据而不要求公司信息技术(IT)部门过多帮助。所有防火墙都阻止了入站流量(例如,一个外部客户端请求内部服务器的数据)。但是它们通常允许在TCP端口上进行出站连接。
由于Pub-Sub数据是仅使用传出通信(向经纪人)从设备和软件发送的,因此这些通信不需要VPN或端口转发。这意味着您通常可以将数据移动到需要的地方,而无需从中需要大量时间或精力。
MQTT体系结构的另一个重要安全优势是,所有安全性都在一个地方管理:经纪人。所有访问控制列表(ACL),用户名/密码和端口都在经纪人管理,可以安全地放置在公司网络或云中。端口,用户身份验证和ACL从未在客户端进行管理。这意味着更少的攻击向量。
开始使用MQTT/SparkPlug
要使用MQTT/SparkPlug,您需要将MQTT代理与SparkPlug兼容。您可以在房屋或云中找到经纪人。
对于原型制作,您可能需要尝试公共经纪人。但是,一旦决定使用该协议,就必须拥有一个安全的经纪人。这是一个很好的文章,可以说明更多有关使用MQTT的文章。有关更多信息,请在线获得有关使用MQTT和火花插头在您的网络中。
新产品使德赢下载入门更轻松
从工业设备中获取数据曾经非常困难,但是现在要容易得多:Opto 22凹槽史诗®系统包括点火边缘®或归纳自动化完全点火®。
点火和点火边缘凹槽史诗包括MQTT传输模块cirrus链接®,支持SparkPlug数据编码规范。