4.3 KiB
4.3 KiB
电动扳手系统架构说明
目录结构
TorqueWrench/
├── backend/ # 后端API服务器
│ ├── app.py # Flask API服务器
│ ├── work_orders.json # 工单数据文件
│ ├── claimed_orders.json # 已认领工单(自动生成)
│ └── requirements.txt # Python依赖
│
├── frontend/ # 前端GUI应用
│ ├── wrench_gui.py # 图形界面程序
│ └── requirements.txt # Python依赖
│
├── wrench_controller.py # 扳手控制模块(共享)
├── wrench_simulator.py # 模拟扳手服务器(测试用)
└── config.json # 配置文件
系统架构
后端API服务器 (backend/app.py)
提供RESTful API接口:
-
GET /api/work-orders - 查询工单列表
- 参数:
trace_id(追溯号),process_id(工序号) - 返回: 符合条件的未认领工单列表
- 参数:
-
POST /api/work-orders/claim - 认领工单
- 参数:
trace_id,process_id,operator - 返回: 工单详情
- 参数:
-
POST /api/work-orders/submit - 提交工单数据
- 参数:
trace_id,process_id,bolts(螺栓数据) - 返回: 提交结果
- 参数:
-
POST /api/work-orders/release - 释放工单
- 参数:
trace_id - 返回: 释放结果
- 参数:
-
GET /api/health - 健康检查
前端GUI (frontend/wrench_gui.py)
主要功能:
-
轮询查询工单列表
- 根据追溯号和工序号自动轮询可用工单
- 默认每3秒查询一次
-
认领工单
- 从工单列表中选择并认领工单
- 认领后显示工单详情和螺栓列表
-
自动拧紧流程
- 连接扳手设备
- 按顺序拧紧所有螺栓
- 实时更新进度和状态
-
自动提交数据
- 工作完成后自动提交结果到后端
- 包含每个螺栓的详细数据
数据格式
工单数据结构
{
"trace_id": "TR20260119001", // 追溯号(原工单号)
"process_id": "P001", // 工序号
"process_name": "前轮装配", // 工序名称
"product_name": "汽车底盘组件",
"station": "装配工位A1",
"operator": "张三",
"status": "pending",
"bolts": [
{
"bolt_id": 1,
"name": "前轮螺栓1",
"target_torque": 280,
"mode": 1,
"torque_tolerance": 0.10,
"angle_min": 1,
"angle_max": 360,
"status": "pending"
}
]
}
提交数据格式
{
"trace_id": "TR20260119001",
"process_id": "P001",
"bolts": [
{
"bolt_id": 1,
"name": "前轮螺栓1",
"target_torque": 280,
"actual_torque": 285,
"actual_angle": 0,
"status": "success",
"timestamp": "2026-01-19 10:30:00",
"result": {
"success": true,
"status": "成功-扭矩到达",
...
}
}
]
}
使用说明
1. 安装依赖
后端:
cd backend
pip install -r requirements.txt
前端:
cd frontend
pip install -r requirements.txt
2. 启动后端服务器
Windows:
cd backend
start_backend.bat
Linux/Mac:
cd backend
chmod +x start_backend.sh
./start_backend.sh
后端服务器将在 http://localhost:5000 启动
3. 启动前端GUI
Windows:
cd frontend
start_frontend.bat
Linux/Mac:
cd frontend
chmod +x start_frontend.sh
./start_frontend.sh
4. 使用流程
-
设置查询条件
- 在界面中输入追溯号和工序号
- 点击"查询工单"或等待自动轮询
-
认领工单
- 从工单列表中选择要处理的工单
- 点击"认领工单"按钮
-
开始工作
- 认领成功后,点击"开始拧紧"
- 系统自动连接扳手并执行拧紧流程
-
自动提交
- 所有螺栓拧紧完成后,系统自动提交数据到后端
- 提交成功后,可以认领下一个工单
注意事项
- 追溯号和工序号必须同时匹配才能查询到工单
- 工单只能被认领一次,认领后其他客户端无法再认领
- 工作完成后会自动提交数据,无需手动操作
- 轮询功能默认开启,会自动刷新工单列表
- 后端数据文件保存在
backend/目录下
API配置
前端默认连接 http://localhost:5000,如需修改,编辑 frontend/wrench_gui.py 中的 api_base_url 变量。