Modbus protocol一些简单的知识

freefree技术Resources

这篇内容可直接阅读,适合用于基础学习和Search引流。

Modbus protocol一些简单的知识缩略图
🌐 This page is not yet available in English. Showing the Chinese version. Back to Chinese page.
本文目录
  1. 1.   Modbus protocol有两种安装方式:
  2. 2.   串行网络布线
  3. 3.   RS485 与 TCP / IP Modbus
  4. 4.   典型的register表
  5. 5.   线圈点 00001 – 09999
  6. 6.   TCP / IP Modbus
  7. 7.   离散输入 10001 – 19999
  8. 8.   输入register 30001 – 39999
  9. 9.   持有register 40001 – 49999
  10. 10.   byte order(MSB / LSB)

  Modbus protocol有两种安装方式:

  ● 串行网络 – RS485

  ● TCP/IP 网络

  最终结果是相同的,而且 Modbus 点register通常是相同的,但两种安装之间existence差异,如果不仅仅是物理安装的话。

  串行 RS485 Modbus

  要建立 RS485 Modbus 网络,需要将双绞线电缆从网络主设备安装到从设备。

  通常,带有屏幕的单双绞线电缆就可以Complete这项工作,但如今越来越多的制造商Recommended for use双绞线电缆。

  推荐两对电缆线的原因是使一对可用于send/receive线,而另一对可用作屏蔽线或排扰线。这样就可以覆盖所有的基地。

  通过 RS485 网络connect Modbus 设备时,它们应以菊花链形式connect在一起,不支持任何其他布线拓扑。

  

  串行网络布线

  整个网络中的connect应该保持不变:正对正,负对负。这些有时可能被标记为 A 和 B。如果这些被交叉,这可能会导致整个网络瘫痪并在主控制器内产生通信警报。

  还值得一提的是,屏蔽电缆在整个网络中应保持完好无损,并且仅在控制器端接地。

  TCP/IP 网络connect

  根据 cat5/6 的限制,每个网段的最大Length为 100m,Wi-Fi 可能会根据安装的Type和质量达到更长的距离。

  当通过其他网络进行通信时,需要在防火墙上打开一个通信端口,默认端口是:502,但如果需要,可以更改此端口。

  在配置 TCP / IP Modbus 网络时,每A device都需要使用网络上可用的唯一 IP address进行编程。

  RS485 与 TCP / IP Modbus

Modbus protocol一些简单的知识插图

  典型的register表

Modbus protocol一些简单的知识插图1

  上表是一个有用的参考点,因为制造商的文献通常不会说明该点是什么Type的register。根据您使用的system,您可能无法在您包含的模拟可写对象上Search输入register;这是因为输入register是只读的。

  线圈点 00001 – 09999

  将线圈点视为可写的数字点,例如数字输出。

  读取线圈点时,您将看到真或假反馈值。它可以是两种状态之一,仅此而已。这同样适用于当你写到这一点时,你可以把它设为真或假。线圈点通常是设备内用于触发某些Function的数字点。

  ● Modbus Function代码 1 = 读取线圈

  ● Modbus Function代码 5 = Write into a single coil

  ● Modbus Function代码 15 = Write multiple coils

  connect Modbus 串行设备时,每个网络限制为 32 个;由于主设备占用了网络上的address,因此上述示例将Category为 4。如有必要,可以通过在网络上使用中继器和助推器来解决此限制。

  不论增强器和中继器,串行网络的最大Length不能超过1200m。

  在某些情况下,可能需要在通信对上安装终端电阻。通常,一个 120 欧姆的电阻可以正常工作,但如果需要,可以更准确地计算出来。越来越多equipment带有内置的端接跳线,可用于在需要时省去电阻的麻烦。

  配置 RS485 串行 Modbus 网络时,您需要在每A device中设置以下内容:

  ● Baud rate

  ● 平价

  ● stop bit

  ● data bit

  这些通常可以通过板载跳线或软件进行配置。在开始此类项目时,需要进行板载跳线需要设置,直接开箱即可Complete,而不是安装在天花板或现场任何地方要容易得多.

  TCP / IP Modbus

  要建立 TCP/IP Modbus 网络,所有设备必须在本地或通过网关connectconnect到同一网络。通常,这些将是使用以太网电缆和 RJ45 端的有线connect,尽管现在Moreequipment通过 Wi-Fi connect,但两种解决方案都可以Complete这项工作。

  TCP / IP Modbus 并不像串行connect那样每个网络限制为 32 A device,但是,每个主(客户端)设备都有其自身的限制,在开始设计system之前应进行检查。

  与 RS485 Modbus 网络的另一个区别是使用的术语,当谈到串行connect时,我们说“主从”,当谈到 TCP / IP Modbus 时,我们说“客户端和服务器”。

  离散输入 10001 – 19999

  这些点类似于线圈点,除了它们是只读的,就像数字输入一样。

  Read discrete inputs时,它将反馈两个值之一,它是真或假,仅此而已。根据设备的不同,它可能被标记为 1 或 0、开或关等。这些Type的点通常用于显示控制器上数字输入的状态。

  Modbus Function代码 2 – 读取input state

  

  输入register 30001 – 39999

  输入register是由 16 位信息组成的只读点。模拟输入值将被归类为输入register。

  输入register可以进一步Category为有符号或无符号,由于 16 位限制,无论哪种方式,都existence可以显示的最大信息量。

  签名register可以从 -32,768 到 32,767。这对temperature sensor很有用。

  无符号register可以从 0 到 65,536。这对于消耗量表很有用,因为不需要负值。

  Modbus Function代码 4 – Read input register

  持有register 40001 – 49999

  保持register是由 16 位信息组成的可写点。模拟输出值将被归类为保持register。

  就像输入register一样,保持register也可以有符号或无符号。16 位保持register与上面详述的输入register具有相同的范围限制

  Modbus Function代码 3 = Read and hold register

  Modbus Function代码 6 = 写入保持register

  Modbus Function代码 16 = 写入多个保持register

  

  byte order(MSB / LSB)

  这是配置 Modbus 网络的鲜为人知的部分之一。以我的经验,这样做的原因是因为byte order通常总是 MSB > LSB,这是大多数控制器默认设置的。

  ● MSB = 最高effective位

  ● LSB = 最低effective位

  这与控制器读取组成register的各个位的顺序有关。正如我们前面所讨论的,标准输入或保持register由 16 位组成,通常从位 0 到位 15 开始。

  

  虽然这个设置经常被遗忘,但重要的是您要意识到它,因为它会在读取register value时产生问题。

  所有 16 位register value都是使用binary代码读取的,这就是existencemaximum 65,535 的原因,即binary的 16 个。

  现在让我们假设我们正在尝试使用 Modbus 读取register value。我们已经准备好网络设置,所有设备都在线并且工作(嗯,receive值),但我们还没有意识到这A device首先使用 LSB 而不是 MSB。

  

  默认情况下,我们将使用 MSB 顺序(从左到右)读取50,401的值

  当设置为 LSB 时,我们读取的值为34,595(从右到左)。

技术术语(共 7 个)—— 点击展开
RS485工业常用的差分串行通信标准,支持多点通信
registerModbus register存储data单元,分线圈/离散输入/保持/输入register四类
Baud rate串行通信每秒传输符号数,Modbus RTU常用9600/19200
网关协议转换设备,如 Modbus RTU ↔ Modbus TCP
传感器将物理量转换为电信号的检测装置
线圈Modbus位可读写data,address从00001开始
保持registerModbus 16位可读写data,address从40001开始
来源/Tools信息 —— 点击展开
来源 Modbus Chinese Network(modbus.cn) —— China leadingModbus通信协议技术社区 Category Modbus protocol标准 字数 2482 字 · 阅读约 7 分钟 更新 2022-11-21 永久链接 https://www.modbus.cn/11135.html
Recommended Tool: Modbus Debug Assistant WeChat Mini Program
Modbus Chinese Network官方推出的Modbus DebuggingTools,支持 Modbus RTU/TCP 实时通信debug、register读写、线圈控制、data监控和message分析。 无需安装,微信Search「Modbus DebuggingAssistant」即可使用。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
RelatedTags
把这篇Resources用于真实项目?

进入Tools中心进行messageParse、CRC verification和设备debug,或Submit requirements获取选型与接入建议。

工程师member

把这篇文章变成可执行的debugResources

开通后可使用高级messageParse、Resources包Download、Code Example、工程案例和优先Technical Support,适合真实项目交付。

高级Tools不限次
Resources包与代码包
Complete Engineering Case Library
优先Technical Support入口

发表回复

您的邮箱address不会被公开。 必填项已用 * 标注