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 校验码

相关推荐
小雨青年9 小时前
GitHub Spark:自然语言能把全栈 AI 应用做到什么程度
人工智能·github
AI袋鼠帝9 小时前
比Codex快4倍!终于有开源模型卷本地Agent执行效率了~
人工智能
j_xxx404_9 小时前
MySQL库操作硬核解析:字符集、校验规则、大小写比较、备份恢复与连接排查
运维·服务器·数据库·人工智能·mysql·ai·oracle
小锋java12349 小时前
分享一套锋哥原创的基于LangChain4j的RAG医疗健康知识智能问答系统(SpringBoot4+Vue3+Ollama)
java·人工智能
陈天伟教授9 小时前
图解人工智能(52)人工智能应用-GPT 机器作家
人工智能
AIGS0019 小时前
探索向量空间JBoltAI:工业企业数智化升级的基础设施
java·人工智能·人工智能ai大模型应用
qq_527887879 小时前
机器学习训练中Epoch、Batch、Bath_size、Data_size的区别
人工智能·机器学习·batch
林间码客9 小时前
《人工智能概论》实验6 知识点复习提纲
人工智能
林间码客9 小时前
《人工智能概论》实验3 知识点复习提纲
人工智能
科技圈快迅9 小时前
商业旅拍后期修图软件实测:像素蛋糕功能与应用分析
人工智能