Modbus存储区有哪些?都是使い方は?的?

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

Modbus存储区有哪些?都是使い方は?的?
Modbus存储区有哪些?都是使い方は?的?Figure

Modbusプロトコル之所以能成为工业领域的“普通话”,秘诀在于它用了一种非常直观的方式来管理データ——把不同性质的データ分门别类地放在四个“抽屉”里。无论デバイス来自哪1つのブランド,只要遵循这个ルール,它们就能顺畅交流。

核心思想:2つ维度划分四个エリア

理解Modbus存储区的カテゴリ,就像整理衣柜,你只需要从2つ角度来思考:

  1. data type:データ是简单的“switch”,まだ一个具体的“数字”?
    • 开关量(コイル):只有两种ステータス,非黑即白。例如,灯是亮まだ灭阀门是开まだ关。这种データ在Modbus里称为“コイル”(Coil)。
    • 模拟量(register):是一个连续变化的数值。例如,temperature25.6℃压力0.8MPa转速1500转。这种データ在Modbus里称为“register”(Register)。
  2. 操作权限:这个データ是只能“看”,まだ也能“改”?
    • 読み取り専用:你只能読み取り它的ステータス,但不能修改。好比電気メーター上的读数,你只能看用了多少度电。
    • 読み書き:你既能表示它的ステータス,也能修改它。好比手机的音量键,你可以看当前音量,也能调大调小。

把这2つ维度组合起来,就得到了Modbus的四个核心存储区,可以用下面的表格スピードマスター。:

存储区名称(俗称)data type読み書き权限可以把它想象成…典型アプリケーションシナリオ。
コイルレジスタ(0区)开关量読み書き电灯开关控制继电器、电机启停、指示灯
离散入力レジスタ。(1区)开关量読み取り専用ドアセンサー読み取り按钮ステータス、限位开关、故障信号
入力レジスタ。(3区)模拟量読み取り専用温度计采集温度、压力、トラフィック等センサーはデータ
レジスタを保持する。(4区)模拟量読み書き可設定的恒温器设定目标速度、temperature,修改デバイス参数

四个“データ抽屉”的详细用法

1. コイルレジスタ(0区):指挥行动的“switch”

这是你用来发号施令的抽屉。master(如PLC或电脑)経由向这个エリア写入データ,直接控制现场デバイス的开关。

  • How to use:你想启动一台电机,就向控制它的那1つのコイルアドレス写入“1”(ON);想停止,就写入“0”(OFF)。
  • 好比:你在家里経由手机APPリモートコントロール。智能插座的开关。

2. 离散入力レジスタ。(1区):感知ステータス的“眼睛”

这个抽屉是デバイス的感觉器官,专门用来反映外部的开关ステータス变化。

  • How to use:你只能読み取り它。比如,你想知道一个急停按钮是否被按下,就去読み取り对应的ショップ型入力アドレス,もし值是“1”,就表示按钮被按下了。
  • 特点:因为是読み取り専用的,可以确保这些关键ステータス信号不会被意外修改,非常セキュリティ。

3. 入力レジスタ。(3区):汇报データ的“仪表”

这个抽屉里放着从现场采集来的リアルタイムデータ,通常是読み取り専用的模拟量。

  • How to use:マスター定期(比如每秒一次)読み取り这个エリア,以モニタリング生产过程。例如,不断読み取り温度センサー在入力レジスタ。中的アドレス,来取得实时温度值。
  • 好比:仪表盘上表示的车速和油量,你只能看,不能直接経由仪表盘去改变车速。

4. レジスタを保持する。(4区):存储设定的“大脑”

这是デバイス的設定中心和大脑,用于存放重要的デバイス参数和设定点。它允许読み書き,是功能最丰富的エリア。

  • How to use:你可以在レジスタを保持する。中设定一个周波数変換器的目标動作頻度は(如40Hz),或者一个サーモスタット的目标温度(如80℃)。既可以読み取り当前设定值,也可以修改它们。
  • 上級用法:一レジスタを保持する。只有16位,无法直接表示浮動小数点数等复杂データ。这时,需要将多个连续的レジスタ组合起来。例如,一个32位的単精度浮動小数点数通常需要占用2つ连续保持レジスタです。。

主な概念:アドレス那点事

很多新手会混淆“绝对アドレス”和“相对アドレス”,其实很简单:

  • 绝对アドレス(给人看的):为了让我们エンジニア看着直观,容易設定。常用的是短アドレス模型,比如 40001。它表示The fourth one存储区(レジスタを保持する。)的The first oneデータ点。
    • 40001400001是同一アドレスはこちら。,只是表示方法不同。40001是简化版,400001是完全版(长アドレス模型),能カバー最多65536アドレスはこちら。,但绝大多数デバイス用不到这么多,所以简化的 40001更常见。
  • 相对アドレス(给机器用的):在实际的Modbus通信报文中,为了节省空间和提高效率,使用的是Start from 0的偏移アドレス。例如,绝对アドレス 40001在报文中对应的相对アドレス就是 040002对应 1

简单记:你在デバイス手册或软件設定里看到的(如40001)是绝对アドレス;而协议底层传输时,会自动将其转换为相对アドレス。プログラミング时留意软件要求哪种アドレス即可。

总结

Modbus経由这四个“データ抽屉”,为工业デバイス建立了一套清晰易懂的データ管理ルール:

  • Control switch(如启动デバイス)→ 読み書き 0区(コイル)
  • 表示ステータス(如故障信号)→ read 1区(ショップ型入力)
  • 采集データ(如监测温度)→ read 3区(入力レジスタ。)
  • 設定参数(如修改设定值)→ 読み書き 4区(レジスタを保持する。)
Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

Leave a Reply

Your email address will not be published. Required fields are marked *.