zairu

10

05月

从理论到使用,浅谈面向未来的工业通信(下)

在通讯链路上,要保证通讯多方有效且可靠接收到正确数据,就必须制定一系列的规则来保证,这些规则的集合就是通讯协议。

任何协议的提出都是为了解决某类问题而产生的,这些协议的不断应用和完善就成了后来的国际标准,成为国际标准的通讯协议就可以在全球推广应用,于是就出现了各种支持该通讯协议的产品。


微信图片_20240530174217.jpg

基于以太网的通讯协议有很多种,这些协议大部分都是在以太网协议框架之下的上层协议,这些协议在工业控制中广泛的应用。比如ProfinNet(西门子)、EtherCat(倍福)、CC-LINK IE(三菱电机)、EtherNet/IP(罗克韦尔)等。


Modbus协议分析

微信图片_20240530174223.jpg


Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其他设备之间可以通信,它已经成为了通用的工业标准。

它可以使不同厂家的控制设备连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了控制器请求访问其它设备的过程,如何回应来自其他设备的请求,以及怎样侦测错误并记录,它制定了消息域格局和内容的公共格式。


Modbus协议特点



  1. 标准、开放,用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权。目前支持Modbus的厂家超过400家,支持Modbus的产品超过600种。

  2. Modbus可以支持多种电气接口,如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。

  3. Modbus的帧格式简单、紧凑,通俗易懂。用户使用容易、厂商开发简单。


Modbus的通讯过程

微信图片_20240530174231.png


注意Modbus是一主多从的通讯协议

Modbus通信中只有一个主机设备可以发送请求。其他从设备接收主机发送的请求数据来进行响应,从机设备可以是任何外围设备,如I/O传感器,阀门,网络驱动器,或其他测量类型的设备。从机处理信息和使用Modbus将其数据发送给主机。

也就是说,不能Modbus同步进行通信,主机在同一时间内只能向一个从机发送请求。即主机发送,从机应答,主机不发送,总线上就没有数据通信。从机不会自己主动发送消息给主机,只能被动响应主机发送的消息请求。

并且,Modbus并没有忙机制判断,比方说主机给从机发送命令, 从机没有收到或者正在处理其他东西,这时候就不能响应主机,因为modbus的总线只是传输数据,没有其他仲裁机制,所以需要通过软件的方式来判断是否正常接收。