TorqueWrench/SIMULATOR_README.md

112 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 模拟电动扳手服务器使用说明
## 概述
`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. **无响应**:检查网络连接和防火墙设置