[西门子] 什么是 Modbus,它是如何工作的?

[复制链接]
查看185 | 回复0 | 2024-10-18 08:24:11 | 显示全部楼层 |阅读模式

一、什么是 Modbus,它是如何工作的?


什么是 Modbus?
Modbus是一种串行通信协议,由 Modicon 公司于 1979 年发布,用于与其可编程逻辑控制器(PLC)一起使用。简而言之,它是用于在电子设备之间的串行线路上传输信息的方法。请求信息的设备被称为 Modbus 客户端,提供信息的设备是 Modbus 服务器,在标准 Modbus 网络中,有一个客户端和多达 247 个服务器,每个服务器都有从1到 247 的唯一服务器地址,客户端还可以向服务器写入信息。它用于什么?Modbus 是一种开放协议,这意味着制造商可以在其设备中构建它,而无需支付专利费用。它已成为工业界的标准通信协议,并现在是连接工业电子设备的最常见手段。它被广泛用于许多制造商的各个行业。Modbus 通常用于从仪器和控制设备传输信号到主控制器或数据采集系统,例如用于测量温度和湿度并将结果传输到计算机的系统。Modbus通常用于将监控计算机与远程终端单元(RTU)连接在一起,这在监控和数据采集(SCADA)系统中使用,Modbus协议的版本存在干串行线路(Modbus RTU和 Modbus ASCI)和以太网(ModbusTCP)中它如何工作?

Modbus 是在设备之间通过串行线路传输的。最简单的设置是单个串行电缆连接两个设备的串行端口,即客户端和服务器

数据被发送为一系列称为位的一和零。每个位都作为电压发送。零以正电压发送,而一以负电压发送。这些位发送得非常快。典型的传输速度为9600 波特率(每秒位数)。

二、Modbus 协议有哪些不同版本?


Modbus RTU

Modbus RTU(远程终端单元)是 Modbus 协议的二进制实现。它通常用于串行通信,并以其紧凑的数据表示而闻名,这使其高效和快速。这种效率使其在硬件设备中的实现非常简单。此协议下的通信使用 RS-485 或 RS-232 等物理接口。

基于 TCP 的 Modbus RTU 是 Modbus RTU 和 Modbus TCP 协议的混合体。尽管以太网是物理介质,但在此模式下数据传输遵循 RTU 格式。这种配对的显着优势是它能够将预先存在的基于 RTU 的系统容纳到以太网上,只需最少的硬件更新。因此,设计人员通常会在扩展控制范围时采用这种方法,尝试利用尽可能多的就地设备和结构。

Modbus ASCII

Modbus ASCII(美国信息交换标准代码)是 Modbus 协议的 ASCII 实现。它的效率低于 Modbus RTU,但由于它使用人类可读的字符,因此更易于使用和调试。

Modbus TCP/IP

Modbus TCP/IP 是通过 TCP/IP 网络使用的 Modbus 协议的一个版本。它允许跨不同网络进行长距离通信。

Modbus UDP

Modbus UDP(用户数据报协议)是使用 UDP 传输协议的 Modbus 协议的一个版本。它不如 Modbus TCP/IP 可靠,因为它不能保证数据包的交付或正确的顺序,但它更快并且需要更少的带宽。

Modbus Plus

Modbus Plus(MB+ 或 Modbus+)是 Modbus 协议的专有变体,由 Schneider Electric 推出。它是一种点对点通信协议,与标准 Modbus 相比,可提供更高的速度和更确定的数据传输。

三、Modbus 通信使用的介质有哪些?


RS-232
RS-422
RS-485

Ethernet

四、Modbus 中的主站和从站是什么?


主站(Master)是发起Modbus通信的设备,它控制通信的进行,向从站发送请求,并处理从站返回的响应数据。主站可以同时连接多个从站,但每个从站都必须具有唯一的地址。

从站(Slave)是接收并响应主站请求的设备。从站只有在主站向其发送请求时才会响应,它不能主动发起通信。从站的地址用于唯一标识其在通信网络中的位置。

主站和从站的功能和特点有很大的不同。主站通常具有较强的计算和控制能力,能够发起并管理多个从站的通信。从站则更加简单,主要是响应主站请求并提供数据。

在Modbus通信中,主站和从站的角色可以是交替的。例如,在一次通信中,某个设备可以作为主站向多个从站发送请求,然后在另一次通信中,同一个设备可以作为从站接收其他设备的请求。

五、什么是波特率?


什么是波特率?

波特率,亦称为比特率(Baud Rate),是指串行通信中每秒传输的比特数。它表示单位时间内传输的数据量,通常用单位”波特”(Baud)来表示。波特率的单位可以是bps(bits per second)或者baud。
以下是 Modbus 中的波特率:300、600、1200、2400、4800、9600、14400、19200、28800、38400、57600、115200bps

波特率的作用?

波特率在串口通信中起着至关重要的作用。它决定了数据传输的速度和通信效率。具体而言,波特率越高,数据传输速度越快,通信效率也就越高。然而,选择合适的波特率并非一成不变,需要根据具体的应用场景和硬件设备进行调整。

如何选择合适的波特率?

1. 确定通信需求
首先,我们需要明确通信的需求。例如,是需要高速传输大量数据,还是只需要低速传输少量数据?根据具体需求,我们可以确定波特率的范围。2. 考虑硬件限制
不同的硬件设备对波特率有一定的限制。因此,在选择波特率时,需要考虑硬件设备的最大传输速率,并确保选择的波特率不超过设备的限制。
3. 考虑传输距离
传输距离也是选择波特率的一个重要因素。通常情况下,较长的传输距离需要较低的波特率,以保证数据的可靠传输。
4. 考虑误码率
高波特率下,由于传输速度较快,容易产生误码。因此,在选择波特率时,还需要考虑误码率,并选择一个合适的波特率以降低误码率。
5. 进行实验和测试
在确定一定范围的波特率后,可以进行实验和测试,以找到最佳的波特率。通过比较不同波特率下的通信效果和传输速度,选择最适合的波特率。6. 总结
波特率是串口通信中最基本且最重要的参数之一。它决定了数据传输的速度和通信效率。选择合适的波特率需要考虑通信需求、硬件限制、传输距离、误码率等因素,并通过实验和测试找到最佳的波特率。只有合理选择波特率,才能实现可靠的数据传输和高效的串口通信。

六、一个 Modbus 主站可以连接多少个从站?


可以连接到主站的从站数量因每种通信介质而异。以下是列表:

七、Modbus寄存器分类及地址分配?



Modbus协议中一个重要的概念是寄存器,所有的数据均存放于寄存器中。最初Modbus协议借鉴了PLC中寄存器的含义,但是随着Modbus协议的广泛应用,寄存器的概念进一步泛化,不再是指具体的物理寄存器,也可能是一块内存区域。Modbus寄存器根据存放的数据类型以及各自读写特性,将寄存器分为4个部分,这4个部分可以连续也可以不连续,由开发者决定。

Modbus寄存器分类及说明

Modbus寄存器地址分配(不同的设备,可访问的地址范围不同,以下是其中一个示例)

八、Modbus ASCII和Modbus RTU区别?


  • Modbus RTU 模式使用二进制编码和 CRC 错误检查。

  • Modbus ASCII 消息效率较低,并且使用效果较差的 LRC 错误检查。

  • ASCII 模式使用 ASCII 字符开始和结束消息,而 RTU 使用时间间隔(3.5 个字符时间)的静默进行成帧。

  • 这两种模式不兼容,因此配置为 ASCII 模式的设备无法与使用 RTU 的模式进行通信。

  • Modbus ASCII 消息需要两倍的字节来传输与 Modbus RTU 消息相同的内容。

九、通讯距离?



 

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则