EdgeGateway 快速开始手册-表达式 Modbus 报文格式

表达式

使用raw表示原值

支持 + - * / % 运算和()等常规运算

支持比较运算符(>= <= > < == !=)和逻辑运算符(&& ||)

支持条件运算符(?:)

Modbus 报文格式

Modbus TCP 示例:主站请求读取从站 (ID=1) 的保持寄存器 (功能码 03),起始地址为 0,读取 10 个寄存器。

请求报文 (Request):

复制代码
00 01 00 00 00 06 01 03 00 00 00 0A
  • 00 01: 事务元标识

  • 00 00: 协议标识

  • 00 06: 长度 (后面的 PDU 01 03 00 00 00 0A共 6 个字节)

  • 01: 单元标识符 (从站地址)

  • 03: 功能码 (Read Holding Registers)

  • 00 00: 起始地址 (0)

  • 00 0A: 寄存器数量 (10)

响应报文 (Response):

假设所有寄存器的值都是 0,响应应为:

复制代码
00 01 00 00 00 07 01 03 14 00 00 ... (20个字节的0)
  • 00 07: 长度 (后面的 PDU 01 03 14 ...共 7 个字节)

  • 03: 功能码 (与请求一致)

  • 14: 字节数 (10个寄存器 * 2字节/寄存器 = 20字节,即 0x14)

  • 00 00 ...: 寄存器的数据 (每个寄存器2字节)

Modbus RTU 示例:主站请求读取从站 (ID=1) 的保持寄存器 (功能码 03),起始地址为 0,读取 10 个寄存器。

请求报文 (Request):

复制代码
01 03 00 00 00 0A C5 CD
  • 01: 从站地址

  • 03: 功能码 (Read Holding Registers)

  • 00 00: 起始地址 (0)

  • 00 0A: 寄存器数量 (10)

  • C5 CD: CRC16 校验码 (由 01 03 00 00 00 0A计算得出)

响应报文 (Response):

假设所有寄存器的值都是 0,响应应为:

01 03 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 XX XX(最后的 XX XX是 CRC)

  • 01: 从站地址

  • 03: 功能码

  • 14: 字节数 (20字节)

  • 00 00 ...: 20个字节的0 (10个寄存器的数据)

  • XX XX: CRC16 校验码

相关推荐
bing.shao3 小时前
golang 做AI任务执行
开发语言·人工智能·golang
鼎道开发者联盟3 小时前
2025中国AI开源生态报告发布,鼎道智联助力产业高质量发展
人工智能·开源·gui
贾维思基3 小时前
告别RPA和脚本!视觉推理Agent,下一代自动化的暴力解法
人工智能·agent
P-ShineBeam3 小时前
引导式问答-对话式商品搜索-TRACER
人工智能·语言模型·自然语言处理·知识图谱
j_jiajia3 小时前
(一)人工智能算法之监督学习——KNN
人工智能·学习·算法
Hcoco_me3 小时前
大模型面试题62:PD分离
人工智能·深度学习·机器学习·chatgpt·机器人
OpenCSG4 小时前
AgenticOps 如何重构企业 AI 的全生命周期管理体系
大数据·人工智能·深度学习
阿里云大数据AI技术4 小时前
漫画说:为什么你的“增量计算”越跑越慢?——90%的实时数仓团队都踩过的坑,藏在这几格漫画里
大数据·人工智能
Gavin在路上4 小时前
SpringAIAlibaba之上下文工程与GraphRunnerContext 深度解析(8)
人工智能