跳到主要内容

适配 Modbus-RTU 设备

该案例展示如何在 AI Agent 中使用 dobot-plus 技能适配 Modbus RTU 通讯协议的末端工具。下文以三款常见设备为例:OnRobot VG10(真空夹爪)、大寰 AG-95(电动夹爪)、大寰 PGE-50(驱控一体电爪)。相比手动编写 Lua、HTTP API 和 UI 页面,Skill 可根据设备协议文档自动生成插件脚手架,开发者只需准备 Requirements.md 并在 IDE 中调用 /dobot-plus 即可。

示例流程

环境搭建

开发前请确认本地环境满足以下要求。更详细的系统与工具说明见 开发环境

依赖版本 / 说明
Node.jsv20 及以上
IDE支持 Agent Skills(如 Cursor)
@dobot-plus/cli全局安装,提供 dpt 命令
@dobot-plus/skill全局安装,提供 /dobot-plus 技能

安装命令:

npm install -g @dobot-plus/cli @dobot-plus/skill@latest

安装完成后可通过以下命令验证:

node -v    # 应输出 v20.x 及以上
dpt -v # 确认 CLI 可用

Skill 安装后会自动部署到 ~/.agents/skills/dobot-plus,并在 IDE 设置中启用 Agent Skills 后即可使用。

编写 doc.md(通用要求)

Skill 不会自动创建或修改 Requirements.md,需要开发者在项目根目录手动编写完整的设备协议文档。

文档必须包含

类别说明
通信协议协议类型、波特率、数据位、校验位、停止位
从站地址Modbus RTU 的 slaveID(不同连接方式分别列出)
寄存器映射十进制 + 十六进制地址、名称、读/写权限
位域 / 取值范围高低字节、bit 含义、枚举值、单位与范围
功能语义每个可对外暴露的原子操作(读 / 写 / 控制)

推荐章节结构

  1. 设备概述
  2. 通信协议(含 Modbus RTU 参数与设备地址)
  3. 寄存器总览
  4. 寄存器详细说明(位域、枚举值、单位与范围)
  5. 操作流程
  6. 版本信息与安全注意事项

文档中功能拆分应尽可能的原子化,即每个功能只做一件事。

使用 AI 辅助生成

若手头有厂商 PDF 手册,可将协议内容交给通用 AI 模型整理为 Requirements.md,再人工复核后写入项目根目录。将对应设备的提示语复制到 ChatGPT、Cursor 等 AI 工具,并附上手册 PDF 的文本。

AI 提示词可以参考如下内容:


你是一名工业设备协议文档整理助手。请根据我提供的设备手册内容,生成一份符合以下要求的 Requirements.md 设备文档。

## 输出要求
1. 输出为 Markdown,只基于我提供的资料整理,不要臆造寄存器地址、位域或参数
2. 不确定的信息标注「待确认」,不要猜测
3. 寄存器名、模式名保留英文原文

## 文档必须包含
1. 设备概述
2. 通信协议:Modbus RTU 参数(波特率、数据位、校验位、停止位)及设备地址(slaveID)
3. 寄存器总览表:地址(十进制 + 十六进制)、名称、读/写权限
4. 每个关键寄存器的详细说明:位域/字节组成、枚举值与寄存器值对照、单位与范围
5. 典型操作流程
6. 版本信息与安全注意事项

## 功能拆分规则
- 每个功能只做一件事,涉及命名采用 camelCase 的「动词 + 名词」,如 SetSpeed、GetVacuum、GripChannelA
- 禁止合并:SetSpeedAndAcceleration、ControlGripper 等应拆成多个原子功能

## 位域与写入示例
若寄存器由多个字段组成,必须说明各 bit/字节含义,并给出组合写入示例(如 0x0114 = 高 8 位 0x01 模式 + 低 8 位 0x14 参数)。

---
以下是需要整理的设备资料:(如果多个型号设备公用一些列通讯协议,请注明需要适配的设备型号)
[粘贴 PDF 文本 / OCR 内容 / 手册章节]

例如,使用 deepseek 时,将设备手册拖拽进入对话框,并将提示词输入:

deepseek

复制出AI生成的内容,作为需求文档 Requirements.md

deepseek

生成后请人工核对:

  • slaveID 是否与实际连接方式一致
  • 寄存器地址、读/写权限是否与原厂手册一致
  • 位域说明是否足以推导 Modbus 写入值(如 Grip 模式 + 真空度百分比)
  • 功能是否已拆分为原子操作
  • 通讯参数是否与现场实际设备参数一致

确认无误后,将文件保存为项目根目录的 Requirements.md,再在 IDE Agent 会话中调用 /dobot-plus

Requirements.md

设备案例

以下三款设备均通过 Modbus RTU(RS485)通讯。请先 dpt create 创建插件项目,再按规则生成 Requirements.md

OnRobot VG10

OnRobot 真空夹爪

创建项目示例:

使用 @dobot-plus/cli 初始化一个空的 Dobot+ 插件项目:

dpt create

按提示填写插件信息,例如:

$ dpt create
? Please input plugin name: OnrobotVG10
? Please input plugin description: OnRobot VG10 vacuum gripper plugin
? Please input plugin version: 1-0-0-test
? Please input device IP: 192.168.5.1

创建成功后进入项目目录:

cd OnrobotVG10
VG10 Requirements.md 完整示例

# VG10 / VGC10 开发手册

## 1. 设备概述

VG10/VGC10 是 OnRobot 的真空夹持器系列。本文档基于 Connectivity Guide v1.23.0,描述其底层 Modbus 通信接口。

> **注意:** 此接口为保密信息,仅供有经验的集成用户使用。不当使用可能导致设备损坏并失去保修。OnRobot 不提供进一步支持。

## 2. 通信协议

VG10/VGC10 支持 **Modbus RTU** 协议,物理层使用 RS485。

### 2.1 Modbus RTU 设置

| 设置项 ||
| ---------- | -------------------- |
| 波特率 | 1000000 bit/s |
| 起始位 | 1 |
| 数据位 | 8 |
| 校验位 | Even |
| 停止位 | 1 |
| CRC 校验 | 16 bit (Modbus 默认) |
| CRC 多项式 | 0xA001 (Modbus 默认) |

### 2.2 设备地址

| 连接方式 | 设备地址 |
| -------------------------------- | --------- |
| 通过 Quick Changer | 65 (0x41) |
| 通过 HEX-E/H QC | 65 (0x41) |
| 通过 Dual Quick Changer(主侧1) | 66 (0x42) |
| 通过 Dual Quick Changer(副侧2) | 67 (0x43) |

## 3. 产品识别

可以通过公共寄存器确认当前连接的是 VG10/VGC10:

| 地址 | 寄存器名称 | VG10/VGC10 对应值 |
| ------------ | ---------- | ------------------------ |
| 1536 (0x600) | 产品代码 | VG10: 0x10 / VGC10: 0x11 |

## 4. 支持的 Modbus 功能码

| 功能码 | 名称 | 用途 |
| --------- | --------------- | -------------------------------- |
| 3 (0x03) | 读保持寄存器 | 读取单个或多个连续寄存器 |
| 6 (0x06) | 写单个寄存器 | 设置单个寄存器的值 |
| 16 (0x10) | 写多个寄存器 | 设置多个连续寄存器的值 |
| 23 (0x17) | 读/写多个寄存器 | 同时读取和设置寄存器(先写后读) |

## 5. 寄存器映射

### 5.1 寄存器总览

| 地址 | 寄存器名称 | 访问权限 |
| ------------ | ----------------------- | ------------ |
| 0 (0x0000) | Channel A Control | Read + Write |
| 1 (0x0001) | Channel B Control | Read + Write |
| 2 (0x0002) | Current Limit | Read + Write |
| 258 (0x0102) | Channel A Actual Vacuum | Read only |
| 259 (0x0103) | Channel B Actual Vacuum | Read only |

### 5.2 公共寄存器

以下寄存器适用于所有 OnRobot 设备:

| 地址 | 内容 |
| ------------- | ------------------------------------------ |
| 0x600 | 产品代码(VG10: 0x10, VGC10: 0x11) |
| 0x604 | 固件版本(高8位主版本,低8位次版本) |
| 0x605 | 固件构建号 |
| 0x609 - 0x618 | 序列号(32字节,每寄存器含2个 ASCII 字符) |

---

## 6. 寄存器详细说明

### 6.1 Channel A Control (0x0000) - 读写

控制通道 A 的真空操作。

**寄存器值组成:**

- 低位字节(Bit 0-7):控制模式
- 高位字节(Bit 8-15):目标真空度(仅在 Grip 模式下使用)

**控制模式:**

| 寄存器值 | 名称 | 说明 |
| ---------- | ------- | ---------------------------------- |
| 0 (0x0000) | Release | 释放工件,如另一通道无需求则停止泵 |
| 1 (0x0001) | Grip | 建立并维持真空 |
| 2 (0x0002) | Idle | 空闲模式,不释放也不抓取,功耗稍低 |

**目标真空度设置示例:**

| 目标真空度 | 寄存器值 |
| ---------- | ------------ |
| 释放 | 0 (0x0000) |
| 20% | 276 (0x0114) |
| 40% | 296 (0x0128) |
| 75% | 331 (0x014B) |
| 空闲 | 512 (0x0200) |

> **注意:** 目标真空度不应超过 80%。

---

### 6.2 Channel B Control (0x0001) - 读写

控制通道 B 的真空操作。功能与 Channel A Control 完全相同,请参考上节。

---

### 6.3 Current Limit (0x0002) - 读写

设置和读取电流限制。

| 参数 ||
| ---------- | ---------- |
| 单位 | mA(毫安) |
| 默认值 | 500 mA |
| 最大允许值 | 1000 mA |

> **警告:** 切勿将该值设置超过 1000 mA。

---

### 6.4 Channel A Actual Vacuum (0x0102) - 只读

读取通道 A 当前实际真空度。

| 参数 | 说明 |
| ---- | -------------------------------------------------------------- |
| 单位 | 1/1000 相对真空度 |
| 注意 | 与设定值(百分比)精度单位不同,此处为千分之一,以提供更高精度 |

---

### 6.5 Channel B Actual Vacuum (0x0103) - 只读

读取通道 B 当前实际真空度。

参数规格与 Channel A Actual Vacuum 相同。

---

## 7. 操作流程

### 7.1 基本控制流程

1. **配置电流限制(可选)**
- 向寄存器 0x0002 写入电流限制值(mA)

2. **设置并启动真空抓取**
- 向寄存器 0x0000(通道 A)或 0x0001(通道 B)写入带目标真空度的 Grip 命令
- 例如:`0x0114` = 20% 真空度抓取,**其中01高8位表示模式;14低8位表示参数**

3. **监控实际真空度**
- 读取寄存器 0x0102(通道 A)或 0x0103(通道 B)
- 获取实际真空度(千分之一单位)

4. **释放工件**
- 向相应通道控制寄存器写入 `0x0000`

5. **空闲状态**
- 向相应通道控制寄存器写入 `0x0200`

### 7.2 双通道使用

VG10/VGC10 的两个通道可独立控制:

- 通道 A 由寄存器 0x0000 控制
- 通道 B 由寄存器 0x0001 控制
- 一个通道释放时,若另一通道仍需要真空,泵会继续运行

---

## 8. 版本信息

| 项目 | 内容 |
| -------------------------- | -------------------------- |
| 基于文档版本 | Connectivity Guide v1.23.0 |
| 适用设备 | VG10, VGC10 |
| 最低固件版本(115200 bps) | v2.0.3 |
| 通信协议 | Modbus RTU (RS485) |

---

## 9. 安全注意事项

- 目标真空度切勿超过 80%
- 电流限制切勿超过 1000 mA
- 仅在有充分集成经验的情况下使用此接口
- 使用前请务必阅读设备的操作说明
- 不当使用可能导致设备损坏并使保修失效


生成后重点检查:

  • Requirements.md 中从站地址是否与实际设备从站 ID 一致
  • 寄存器映射是否与开发者手册中一致

DH AG-95

大寰电动夹爪

创建项目示例:

dpt create
# 插件名:DhAG95
# 描述:DH-Robotics AG-95 electric gripper plugin
cd DhAG95
AG-95 Requirements.md 完整示例


# AG系列电爪 Modbus-RTU 功能文档

## 一、通讯参数

| 参数 | 默认值 |
| --------- | ---------- |
| Modbus ID | 2 |
| 波特率 | 115200 |
| 数据位 | 8 |
| 停止位 | 1 |
| 校验位 ||
| 协议 | Modbus-RTU |

---

## 二、寄存器地址速查表

### 控制寄存器(可写)

| 功能 | 地址 | 取值范围 | 说明 |
| -------- | ------ | ----------- | ------------------------- |
| 初始化 | 0x0100 | 0x01 / 0xA5 | 单向初始化 / 完全初始化 |
| 力值 | 0x0101 | 20-100 | 夹持力百分比 |
| 目标位置 | 0x0103 | 0-1000 | 千分比,0=张开,1000=闭合 |

### 状态寄存器(只读)

| 功能 | 地址 | 返回值 | 说明 |
| ---------- | ------ | ------- | -------------------------------- |
| 初始化状态 | 0x0200 | 0/1/2 | 0=未初始化,1=成功,2=进行中 |
| 夹持状态 | 0x0201 | 0/1/2/3 | 0=运动中,1=到位,2=夹住,3=掉落 |
| 实时位置 | 0x0202 | 0-1000 | 当前实际位置 |

---

## 三、功能指令示例

> 以下示例中 Modbus ID 均为 2(地址码为 01)

### 1. 初始化夹爪

#### 完全初始化(闭合再张开,标定行程)

```plaintext
发送:02 06 01 00 00 A5 48 4D
返回:02 06 01 00 00 A5 48 4D
```

#### 单向初始化(根据初始化方向寄存器执行)

```plaintext
发送:02 06 01 00 00 01 49 F6
返回:02 06 01 00 00 01 49 F6
```

> 初始化时间 0.5~3 秒,完成前不可控制

---

### 2. 设置力值

```plaintext
# 设置力值为 50%
发送:02 06 01 01 00 32 59 FD
返回:02 06 01 01 00 32 59 FD
```

| 力值(%) | 16进制数据 |
| ------- | ---------- |
| 20 | 00 14 |
| 50 | 00 32 |
| 100 | 00 64 |

---

### 3. 夹取物体(设置目标位置)

```plaintext
# 夹取到 500 位置(千分比)
发送:02 06 01 03 01 F4 78 21
返回:02 06 01 03 01 F4 78 21
```

| 位置 | 16进制数据 |
| ------------ | ---------- |
| 0(张开) | 00 00 |
| 500(半闭) | 01 F4 |
| 1000(闭合) | 03 E8 |

---

### 4. 释放物体(张开到 0 位置)

```plaintext
发送:02 06 01 03 00 00 79 F6
返回:02 06 01 03 00 00 79 F6
```

---

### 5. 读取夹持状态

```plaintext
发送:02 03 02 01 00 01 D4 72
返回:02 03 02 00 02 23 98
```

| 返回值 | 状态 |
| ------ | ---------------------- |
| 00 00 | 运动中 |
| 00 01 | 到达位置(未夹到物体) |
| 00 02 | 夹住物体 |
| 00 03 | 物体掉落 |

---

### 6. 读取实时位置

```plaintext
发送:02 03 02 02 00 01 24 72
返回:02 03 02 03 E8 B8 FA
```

> 03 E8(16进制)= 1000(十进制)

---

### 7. 读取初始化状态

```plaintext
发送:02 03 02 00 00 01 85 B2
返回:02 03 02 00 01 B8 44
```

| 返回值 | 状态 |
| ------ | ---------- |
| 00 00 | 未初始化 |
| 00 01 | 初始化成功 |
| 00 02 | 初始化中 |

---

## 四、组合操作流程

### 夹取物体完整流程

```plaintext
1. 初始化(如果未初始化)
发送:02 06 01 00 00 A5 48 4D

2. 设置力值(如50%)
发送:02 06 01 01 00 32 59 FD

3. 设置目标位置(如500)
发送:02 06 01 03 01 F4 78 21

4. 读取状态确认夹住
发送:02 03 02 01 00 01 D4 72
→ 返回 00 02 表示夹住物体
```

### 释放物体完整流程

```plaintext
1. 设置目标位置为 0
发送:02 06 01 03 00 00 79 F6

2. 读取状态确认到位
发送:02 03 02 01 00 01 D4 72
→ 返回 00 01 表示到位(未夹到物体)
```

---

## 五、指示灯状态

| 状态 | 指示灯 |
| ---------- | ----------------- |
| 未初始化 | 红灯闪烁 |
| 初始化完成 | 蓝灯常亮 |
| 夹住物体 | 绿灯常亮 |
| 物体掉落 | 绿灯闪烁 |
| 收到命令 | 紫灯闪烁(蓝+红) |

---

## 六、注意事项

1. **必须先初始化**,否则夹爪不响应控制指令
2. 初始化完成后,**蓝灯常亮**才可控制
3. 修改参数后需向 `0x0300` 写入 `0x01` 保存到 Flash
4. 更换指尖后必须执行 `0xA5` 完全初始化
5. IO 模式和 Modbus 模式互斥,不可同时使用
6. 指令均为 **16进制**,CRC校验码需正确计算

---

## 七、CRC校验计算

参数选择:

- CRC-16
- 多项式:MODBUS (0x8005)
- 初始值:0xFFFF
- 异或值:0x0000
- 输入/输出反转:是



DH PGE-50

大寰驱控一体工业夹爪

创建项目示例:

dpt create
# 插件名:DhPGE50
# 描述:DH-Robotics PGE-50 electric gripper plugin
cd DhPGE50
PGE-50 Requirements.md 完整示例
# PGE系列驱控一体式电爪 - 软件开发文档

## 概述

PGE系列为工业型平行电爪,支持**Modbus-RTU(RS485)****IO模式** 控制。可控制夹爪的**位置、力值、速度**,并支持状态反馈。

---

## 一、通信规格(RS485 Modbus-RTU)

| 参数 | 默认值 |
|------|--------|
| 设备ID | 1 |
| 波特率 | 115200 |
| 数据位 | 8 |
| 停止位 | 1 |
| 校验位 ||

> 支持功能码:`03`(读寄存器)、`06`(写单个寄存器)、`04``10`

---

## 二、寄存器地址表

### 2.1 基础控制地址表(读写)

| 功能 | 地址(16进制) | 说明 | 取值范围 |
|------|----------------|------|-----------|
| 初始化夹爪 | 0x0100 | 写入 0x01:回零;0xA5:完全标定 | 只写 |
| 力值 | 0x0101 | 夹持力(百分比) | 20–100(0x14–0x64) |
| 位置 | 0x0103 | 目标位置(千分比) | 0–1000(0x000–0x3E8) |
| 速度 | 0x0104 | 运行速度(百分比) | 1–100(0x01–0x64) |

### 2.2 状态反馈地址表(只读)

| 功能 | 地址(16进制) | 返回值说明 |
|------|----------------|--------------|
| 初始化状态 | 0x0200 | 0:未初始化;1:成功;2:初始化中 |
| 夹持状态 | 0x0201 | 0:运动中;1:到位未夹物;2:夹住物体;3:物体掉落 |
| 实时位置 | 0x0202 | 当前实际位置(千分比) |

### 2.3 参数配置地址表(读写)

| 功能 | 地址(16进制) | 说明 |
|------|----------------|------|
| 写入保存 | 0x0300 | 写入 1:保存参数到Flash |
| 初始化方向 | 0x0301 | 0:张开;1:闭合 |
| 设备ID | 0x0302 | 1–247 |
| 波特率 | 0x0303 | 0:115200;1:57600;2:38400;3:19200;4:9600;5:4800 |
| 停止位 | 0x0304 | 0:1位;1:2位 |
| 校验位 | 0x0305 | 0:无;1:奇校验;2:偶校验 |
| 自动初始化 | 0x0504 | 0:不上电初始化;1:上电自动初始化 |

---

## 三、指令示例

### 3.1 初始化夹爪

```text
发送:01 06 01 00 00 01 49 F6
返回:01 06 01 00 00 01 49 F6
```

### 3.2 设置力值为30%

```text
发送:01 06 01 01 00 1E 59 FE
返回:01 06 01 01 00 1E 59 FE
```

### 3.3 设置位置为500‰(50%行程)

```text
发送:01 06 01 03 01 F4 78 21
返回:01 06 01 03 01 F4 78 21
```

### 3.4 设置速度为50%

```text
发送:01 06 01 04 00 32 48 22
返回:01 06 01 04 00 32 48 22
```

### 3.5 读取夹持状态

```text
发送:01 03 02 01 00 01 D4 72
返回:01 03 02 00 02 39 85 (02表示已夹住物体)
```

### 3.6 保存所有配置参数

```text
发送:01 06 03 00 00 01 48 4E
返回:01 06 03 00 00 01 48 4E
```

---

## 四、IO模式控制说明

### 4.1 输入引脚定义(NPN,0V有效)

| INPUT1 | INPUT2 | 动作 |
|--------|--------|------|
| 高阻(0) | 高阻(0) | 第1组参数 |
| 0V(1) | 高阻(0) | 第2组参数 |
| 高阻(0) | 0V(1) | 第3组参数 |
| 0V(1) | 0V(1) | 第4组参数 |

### 4.2 输出引脚反馈(NPN)

| OUTPUT1 | OUTPUT2 | 状态 |
|---------|---------|------|
| 高阻 | 高阻 | 运动中 |
| 0V | 高阻 | 到位未夹物 |
| 高阻 | 0V | 夹住物体 |
| 0V | 0V | 物体掉落 |

---

## 五、开发注意事项

- 控制前必须先**初始化夹爪**(写入0x01或0xA5)
- 初始化或参数修改后,建议执行**写入保存(0x0300)**
- IO模式和485模式可同时存在,但**控制冲突时遵循“先发先响应”**
- 初始化过程中(约0.5~3秒)**不要发送控制指令**
- 修改ID、波特率等参数后需**重启夹爪生效**

---

## 六、调试建议

- 使用官方调试软件或任意串口工具(如Modbus Poll)
- 硬件连接:24V、GND、485A、485B
- 推荐使用USB转485模块进行PC调试

Agent 技能使用

1. 在 IDE 中调用 Skill

打开插件项目,在 IDE Chat 中使用斜杠指令:

/dobot-plus

skill demo

Agent 会按 Skill 定义的工作流自动执行,无需逐步确认:

  1. 读取并解析项目根目录的 Requirements.md
  2. 将功能拆分为原子功能项,写入 function.json
  3. 校验 function.json 格式
  4. 生成 httpAPI.luauserAPI.luamodbus.lua、积木配置、脚本配置等脚手架
  5. 生成 ui/Main.tsx 控制页面
  6. lua/[项目名].lua 中填充函数框架,提示开发者补充业务逻辑

2. 检查生成结果

Skill 执行完成后,项目目录中会新增或更新以下关键文件:

文件 / 目录说明
function.json功能定义与协议参数
lua/*.luaModbus 读写与业务逻辑
lua/httpAPI.luaUI 请求的 HTTP 接口
lua/userAPI.lua积木 / 脚本编程接口
configs/Blocks.json积木编程配置
configs/Scripts.json脚本编程配置
ui/Main.tsx插件控制界面
.dobot/http/http.ts前端 HTTP 请求封装

3. 本地调试(可选)

开发人员需要对功能进行预验证时,可进行此步操作;若计划构建后在上位机验证,可跳过此步骤。

确认硬件连接

调试时确认 dpt.json 中的控制器 IP 与实际设备一致

{
"ip": "192.168.5.1",
"pluginPort": 22100
}

进入插件项目目录,在命令行中执行调试指令:

dpt dev

调试通过后,可根据需要调整 UI 文案、国际化资源(Resources/i18n/)以及积木 / 脚本配置。

打包构建

插件开发、调试完成后,在项目根目录执行:

dpt build

构建成功后,当前目录下会出现:

  • dist/ — 构建后的插件源码,供开发者检查
  • output/ — 压缩后的 zip 包,文件名格式为 <插件名>-<版本号>.zip,即最终导入文件

导入使用

  1. 打开 DobotStudio Pro,进入 Dobot+ 插件管理界面
  2. 若已安装同名插件,需先卸载旧版本
  3. 点击导入,选择 output/ 目录下生成的 zip 文件
  4. 安装完成后,在导航栏中找到插件入口,即可使用控制界面、积木编程和脚本编程功能

插件压缩包命名格式为:

<插件名>_v<主版本号>-<次要版本号>-<修复版本号>-<版本状态>.zip

导入与使用的详细截图说明见 快速入门 — 构建和使用

案例插件 UI 截图

  • Onrobot VG10

VG10

  • DH AG-95

VG10

  • DH PGE-50

VG10

常见问题

Skill 提示缺少 Requirements.md

请确认 Requirements.md 位于插件项目根目录,且包含完整的协议参数、寄存器地址和功能定义。Skill 不会代为创建该文件。

Modbus 通信失败

  • 确认控制器 485 参数与 Requirements.md 一致
  • 确认 RS485 接线正常、总线地址无冲突
  • 使用 dpt dev 连接真机时,核对 dpt.json 中的 IP 地址

Agent 实现效果不理想

  • 确认现场的设备通讯参数是否与手册一致
  • 检查 Requirements.md 中的描述是否有模糊或前后冲突
  • 检查 Agent 模型能力:VS Code Copilot 建议使用 GPT-5.4 及以上;Cursor 中 Auto 模式下表现良好

相关连接