Modbus存储区有哪些?都是如何使用的?

무료무료 기술 자료

이 글은 바로 읽을 수 있으며 기초 학습과 검색 유입에 적합합니다.

Modbus存储区有哪些?都是如何使用的?
Modbus存储区有哪些?都是如何使用的?插图

Modbus프로토콜之所以能成为工业领域的“중국어”,秘诀在于它用了一种非常直观的방식来管理데이터——把不同性质的데이터分门别类地放在四个“抽屉”里。无论设备来自哪个品牌,只要遵循这个规则,它们就能顺畅交流。

核心思想:两个维度划分四个区域

理解Modbus存储区的分类,就像整理衣柜,你只需要从两个角度来思考:

  1. 데이터유형:데이터是简单的“开关”,还是一个具体的“数字”?
    • 开关量(코일):只有两种状态,非黑即白。例如,灯是亮还是灭,阀门是开还是关。这种데이터在Modbus里称为“코일”(Coil)。
    • 模拟量(레지스터):是一个连续变化的数值。例如,온도25.6℃,压力0.8MPa,转速1500转。这种데이터在Modbus里称为“레지스터”(회원가입)。
  2. 操作权限:这个데이터是只能“看”,还是也能“改”?
    • 只读:你只能읽기它的状态,但不能修改。好比电表上的读数,你只能看用了多少度电。
    • 读写:你既能보기它的状态,也能修改它。好比手机的音量键,你可以看当前音量,也能调大调小。

把这两个维度组合起来,就得到了Modbus的四个核心存储区,可以用下面的表格快速掌握:

存储区名称(俗称)데이터유형读写权限可以把它想象成…典型적용시나리오
코일레지스터(0区)​开关量读写电灯开关​控制릴레이、모터启停、指示灯
离散입력 레지스터(1区)​开关量只读도어 자석센서​읽기버튼状态、限位开关、故障信号
입력 레지스터(3区)​模拟量只读온도计​采集온도、压力、流量等센서데이터
유지 레지스터(4区)​模拟量读写可设置的恒温器​设定目标速度、온도,修改设备매개변수

四个“데이터抽屉”的详细用法

1. 코일레지스터(0区):指挥行动的“开关”

这是你用来发号施令的抽屉。마스터(如PLC或电脑)通过向这个区域쓰기데이터,直接控制现场设备的开关。

  • 如何使用:你想启动一台모터,就向控制它的那个코일주소쓰기“1”(ON);想정지,就쓰기“0”(OFF)。
  • 好比:你在家里通过手机APP원격 제어智能插座的开关。

2. 离散입력 레지스터(1区):感知状态的“眼睛”

这个抽屉是设备的感觉器官,专门用来反映外部的开关状态变化。

  • 如何使用:你只能읽기它。比如,你想知道一个急停버튼是否被按下,就去읽기对应的이산 입력주소,如果值是“1”,就表示버튼被按下了。
  • 特点:因为是只读的,可以确保这些关键状态信号不会被意外修改,非常安全。

3. 입력 레지스터(3区):汇报데이터的“仪表”

这个抽屉里放着从现场采集来的实时데이터,通常是只读的模拟量。

  • 如何使用:마스터定期(比如每秒一次)읽기这个区域,以监控生产过程。例如,不断읽기온도 센서在입력 레지스터中的주소,来获取实时온도值。
  • 好比:仪表盘上显示的车速和油量,你只能看,不能直接通过仪表盘去改变车速。

4. 유지 레지스터(4区):存储设定的“大脑”

这是设备的설정中心和大脑,用于存放重要的设备매개변수和设定点。它允许读写,是功能最丰富的区域。

  • 如何使用:你可以在유지 레지스터中设定一个变频器的目标运行频率(如40Hz),或者一个温控器的目标온도(如80℃)。既可以읽기当前设定值,也可以修改它们。
  • 进阶用法:一个유지 레지스터只有16位,无法直接表示浮点数等复杂데이터。这时,需要将多个连续的레지스터组合起来。例如,一个32位的单精度浮点数通常需要占用两个连续的유지 레지스터。

关键概念:주소那点事

很多新手会混淆“绝对주소”和“相对주소”,其实很简单:

  • 绝对주소(给人看的):为了让我们엔지니어링师看着直观,容易설정。常用的是短주소模型,比如 40001。它表示第4个存储区(유지 레지스터)的第1个데이터点。
    • 40001和 400001是同一个주소,只是表示方法不同。40001是简化版,400001是完整版(长주소模型),能覆盖最多65536个주소,但绝大多数设备用不到这么多,所以简化的 40001更常见。
  • 相对주소(给机器用的):在实际的Modbus통신프레임中,为了节省空间和提高效率,使用的是从0开始的偏移주소。例如,绝对주소 40001在프레임中对应的相对주소就是 0,40002对应 1。

简单记:你在设备手册或软件설정里看到的(如40001)是绝对주소;而프로토콜底层传输时,会自动将其转换为相对주소。编程时留意软件要求哪种주소即可。

总结

Modbus通过这四个“데이터抽屉”,为工业设备建立了一套清晰易懂的데이터管理规则:

  • 想控制开关(如启动设备)→ 读写 0区(코일)
  • 想보기状态(如故障信号)→ 읽기 1区(이산 입력)
  • 想采集데이터(如监测온도)→ 읽기 3区(입력 레지스터)
  • 想设置매개변수(如修改设定值)→ 读写 4区(유지 레지스터)
실제 프로젝트에 이 자료를 활용하시겠습니까?

도구 센터에서 프레임 분석, CRC 검증, 장비 디버깅을 진행하거나 요청을 제출하여 선정 및 연동 제안을 받아보세요.

엔지니어 회원

이 글을 실행 가능한 디버깅 자료로 활용하세요

가입하면 고급 프레임 분석, 자료 패키지 다운로드, 코드 예제, 엔지니어링 사례, 우선 기술 지원을 이용할 수 있어 실제 프로젝트 납품에 적합합니다.

고급 도구 무제한 이용
자료 패키지와 코드 패키지
완전한 엔지니어링 사례 라이브러리
우선 기술 지원 채널

답글 작성

이메일 주소는 공개되지 않습니다. 必填项已用 * 标注