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

相关推荐
美酒没故事°15 小时前
Open WebUI安装指南。搭建自己的自托管 AI 平台
人工智能·windows·ai
云烟成雨TD15 小时前
Spring AI Alibaba 1.x 系列【6】ReactAgent 同步执行 & 流式执行
java·人工智能·spring
AI攻城狮15 小时前
用 Obsidian CLI + LLM 构建本地 RAG:让你的笔记真正「活」起来
人工智能·云原生·aigc
鸿乃江边鸟15 小时前
Nanobot 从onboard启动命令来看个人助理Agent的实现
人工智能·ai
lpfasd12315 小时前
基于Cloudflare生态的应用部署与开发全解
人工智能·agent·cloudflare
俞凡15 小时前
DevOps 2.0:智能体如何接管故障修复和基础设施维护
人工智能
comedate15 小时前
[OpenClaw] GLM 5 关于电影 - 人工智能 - 的思考
人工智能·电影评价
财迅通Ai15 小时前
6000万吨产能承压 卫星化学迎来战略窗口期
大数据·人工智能·物联网·卫星化学
liliangcsdn15 小时前
Agent Memory智能体记忆系统的示例分析
数据库·人工智能·全文检索
GISer_Jing15 小时前
Page-agent MCP结构
前端·人工智能