TorqueWrench/SIMULATOR_README.md

112 lines
2.8 KiB
Markdown
Raw Normal View History

2026-01-24 02:54:01 +08:00
# 模拟电动扳手服务器使用说明
## 概述
`wrench_simulator.py` 是一个模拟电动扳手服务器,用于测试和开发。它模拟真实扳手的行为,接收设定参数并返回正确的响应。
## 功能特性
1. **接收参数设置功能码0x10**:接收并解析扭矩参数设置,返回应答
2. **接收启停控制功能码0x01**:接收启动/停止命令,返回应答
3. **自动返回成功结果功能码0x15**启动后等待1秒自动发送成功结果
4. **支持远程控制功能码0x11**:支持启用/停止远程控制
5. **多客户端支持**:支持多个客户端同时连接
## 使用方法
### 1. 启动模拟扳手服务器
```bash
python wrench_simulator.py
```
服务器将监听 `0.0.0.0:7888`(默认配置),等待客户端连接。
### 2. 运行测试脚本
在另一个终端运行:
```bash
python test_simulator.py
```
或者直接使用 `wrench_controller.py`
```bash
python wrench_controller.py
```
## 工作流程
1. **客户端连接**:客户端连接到服务器
2. **启用远程控制**发送功能码0x11启用远程控制
3. **设定参数**发送功能码0x10设定扭矩参数
4. **启动扳手**发送功能码0x01启动扳手正转或反转
5. **等待结果**服务器等待1秒后自动发送成功结果功能码0x15
## 协议支持
### 已实现的功能码
- **0x11**: 启停远程控制
- **0x01**: 扳手启停控制
- **0x06**: 应答控制
- **0x10**: 参数设置
- **0x15**: 执行结果反馈
- **0x17**: 结果反馈确认
### 返回状态码
- **0x00**: 成功-OK
- **0x01**: 成功-扭矩到达(默认)
- **0x02**: 成功-位置到达
## 配置说明
可以在代码中修改以下参数:
```python
simulator = WrenchSimulator(
host="0.0.0.0", # 监听地址
port=7888, # 监听端口
address=0x01 # 设备地址码
)
```
## 注意事项
1. 确保端口7888未被占用
2. 模拟服务器会自动递增螺栓号
3. 实际扭矩值会略高于目标扭矩值(+5 Nm以模拟成功
4. 只有在启用远程控制后,启停命令才会生效
## 测试场景
### 场景1基本测试
- 启用远程控制
- 设定扭矩参数M1模式300Nm
- 启动扳手
- 接收成功结果
### 场景2角度模式测试
- 启用远程控制
- 设定扭矩参数M2模式目标角度90°
- 启动扳手
- 接收成功结果
## 调试信息
服务器会输出详细的调试信息:
- 📥 接收到的数据(十六进制)
- 📤 发送的响应(十六进制)
- 📋 处理的功能码
- ✅ 成功操作
- ❌ 错误信息
## 故障排除
1. **连接被拒绝**:检查服务器是否已启动
2. **端口被占用**:修改端口号或关闭占用端口的程序
3. **无响应**:检查网络连接和防火墙设置