首页
搜索
历史搜索
搜索发现
首页 > 新闻中心 > 技术应用

Modbus通讯协议详解

2023-02-06 09:26:40| 来源:聚英电子| | 0

  什么是 Modbus?

  Modbus 是由Modicon 于 1979 年发布的 Modicon 开发的串行通信协议,用于其可编程逻辑控制器 (PLC)。简单来说,它是一种用于在电子设备之间通过串行线路传输信息的方法。请求信息的设备称为 Modbus 主设备,提供信息的设备称为 Modbus 从设备。再标准的 Modbus 网络中,有一个主站和多达 247 个从站,每个从站都有一个从 1 到 247 的唯一从站地址。主站也可以将信息写入从站。

  Modbus有什么用途?

  Modbus 是一种开放协议,这意味着制造商可以免费将其构建到他们的设备中,而无需支付版税。它已成为工业中的标准通信协议,是目前最常用的工业电子设备连接方式。它被许多行业的许多制造商广泛使用。Modbus 通常用于将来自仪表和控制设备的信号传输回主控制器或数据收集系统,例如测量温度和湿度并将结果传送到计算机的系统。Modbus 通常用于将监控计算机与监控和数据采集 (SCADA) 系统中的远程终端单元 (RTU) 连接起来。

  Modbus是如何工作的?

  Modbus 通过设备之间的串行线路传输。最简单的设置是用一根串行电缆连接两个设备(主设备和从设备)上的串行端口。

  

Modbus是如何工作的?



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

  什么是十六进制?

  在解决问题时,查看正在传输的实际原始数据会很有帮助。长的 1 和 0 字符串难以阅读,因此这些位被组合并以十六进制显示。每个 4 位块由0到F的 16 个字符之一表示。

  


  

  每个 8 位块(称为一个字节)由从00到FF的 256 个字符对之一表示。

  数据如何存储在标准 Modbus 中?

  信息以四个不同的表存储在从设备中。两个表存储开/关离散值(线圈)和两个存储数值(寄存器)。线圈和寄存器各有一个只读表和读写表。每个表有 9999 个值。每个线圈或触点都是 1 位,并分配了一个介于0000和270E之间的数据地址。每个寄存器为 1 个字 = 16 位 = 2 个字节,并且数据地址介于0000和270E之间。

  

数据如何存储在标准 Modbus 中?


  线圈/寄存器编号可以被认为是位置名称,因为它们不会出现在实际消息中。数据地址用于消息中。例如,第一个保持寄存器,编号 40001,具有数据地址0000 。这两个值之间的差异是偏移量。每个表都有不同的偏移量。1、10001、30001 和 40001。

  从站 ID 是什么?

  网络中的每个从机都分配有一个从 1 到 247 的唯一单元地址。当主机请求数据时,它发送的第一个字节是从机地址。这样每个从机在第一个字节之后就知道是否忽略该消息。

  什么是Modbus功能码?

  主机发送的第二个字节是功能码。这个数字告诉从机要访问哪个表以及是读取还是写入表。

  

Modbus功能码


  

  什么是 Modbus 从零与从一的寻址?

  在讨论基于偏移的 Modbus 寻址时,最后一个重要的细节是设备是否支持基于零或一的寻址。最初,从零开始的寻址是 Modbus 的预期实现方式。但是,随着时间的推移和 Modbus 作为一种开放协议被如此广泛地采用,某些设备制造商采用了一种称为 one-based 寻址的概念。

  从零开始的寻址涉及从零开始的内存类型的第一个偏移量。因此,例如,如果您请求保持寄存器 400001,则实际的 Modbus 协议请求将为偏移量 0 的 FC 3。而 400002 将请求偏移量 1 的 FC 3,依此类推。

  正如您可以想象的那样,这可能会令人困惑。因此,一些制造商采用了一种称为基于一的寻址的实现方式。对于从 1 开始的寻址,偏移量与实际地址请求对齐。例如,如果您请求保持寄存器 1,则该请求仍然使用 FC 3,但用于偏移量 1。而 400002 将请求 FC 3 用于偏移量。


联系销售
销售王经理微信 销售王经理
微信公众号 微信公众号
服务热线
400-6688-400