当前位置: 首页 > news >正文

数字化工厂中央控制室驾驶舱系统架构文档

数字化工厂中央控制室驾驶舱系统架构文档

1. 系统整体架构

本系统采用三层架构设计,包括前端、中端和后端三个主要部分,实现了完整的数据采集、处理、分析和可视化流程。

+-------------------+    +-------------------+    +-------------------+
|      前端层       |    |      中端层       |    |      后端层       |
| (数据可视化展示)  |<-->| (数据处理与算法)  |<-->| (数据源与模拟器)  |
+-------------------+    +-------------------+    +-------------------+^                       ^                        ^|                       |                        |v                       v                        v
+-------------------+    +-------------------+    +-------------------+
|   React前端界面   |    |    MongoDB数据库   |    |   设备数据模拟器  |
|   交互式大屏展示  |    |    算法计算模块    |    |   传感器数据采集  |
+-------------------+    +-------------------+    +-------------------+

1.1 系统层次结构说明

前端层(Frontend)
  • 基于React框架构建的Web应用
  • 使用Ant Design组件库实现现代化界面
  • 采用ECharts和Canvas实现数据可视化
  • 实时展示工厂运行状态和AGV调度情况
中端层(Middleware)
  • 基于Python FastAPI构建的中端服务
  • 使用MongoDB存储和分类处理后端数据
  • 实现路径规划和任务调度等算法模块
  • 提供API接口供前端访问数据和算法服务
后端层(Backend)
  • 基于Python的后端服务
  • 实现设备数据模拟和采集功能
  • 提供基础API和WebSocket服务
  • 负责原始数据的初步处理和存储

1.2 数据流向

+-------------+    +--------------+    +-------------+    +-------------+
| 设备数据源  |--->| 后端数据采集 |--->| 中端数据处理 |--->| 前端数据展示 |
+-------------+    +--------------+    +-------------+    +-------------+|                  ^v                  |+--------------+    +-------------+| 数据分类存储 |<-->| 算法计算模块 |+--------------+    +-------------+

2. 中端系统详细设计

2.1 目录结构

middleware/
├── api/                  # API接口
│   ├── data_api.py       # 数据访问API
│   └── algorithm_api.py  # 算法服务API
├── collector/            # 数据采集模块
│   └── data_collector.py # 数据采集器
├── database/             # 数据库模块
│   └── db_config.py      # MongoDB配置
├── algorithm/            # 算法模块
│   ├── path_planning/    # 路径规划算法
│   │   └── a_star.py     # A*算法实现
│   └── scheduling/       # 任务调度算法
│       └── task_scheduler.py # 任务调度器
├── run.py                # 中端启动脚本
└── requirements.txt      # 依赖管理

2.2 数据库设计

MongoDB数据库集合设计:

集合名称说明主要字段
machine_data机床设备数据device_id, status, production_rate, temperature
agv_dataAGV数据device_id, position, status, battery_level
path_planning路径规划数据agv_id, path, timestamp
task_scheduling任务调度数据tasks, assignments, timestamp
stamping_data冲压设备数据device_id, status, production_count, pressure

2.3 算法模块设计

2.3.1 A*路径规划算法
  • 功能:计算AGV从起点到终点的最优路径
  • 特点:
    • 支持障碍物避让
    • 路径平滑处理
    • 网格化地图表示
    • 可配置启发式函数
2.3.2 任务调度算法
  • 功能:为多个AGV分配多个任务
  • 特点:
    • 多维度成本函数(距离、电量、优先级)
    • 基于优先级的任务排序
    • 实时路径规划集成
    • 电量感知调度策略

3. 接口规范

3.1 中端API接口

3.1.1 数据API接口
接口路径方法功能说明参数
/api/collector/data/{data_type}GET获取最新数据data_type: 数据类型
/api/collector/data/{data_type}/historyGET获取历史数据data_type, start_time, end_time
/api/collector/device/{device_type}/{device_id}GET获取设备数据device_type, device_id
/api/collector/agv/positionsGET获取所有AGV位置
3.1.2 算法API接口
接口路径方法功能说明参数
/api/algorithm/path/planPOST规划路径agv_id, start_point, end_point, obstacles
/api/algorithm/task/schedulePOST调度任务tasks, available_agvs
/api/algorithm/agv/{agv_id}/positionGET获取AGV位置agv_id
/api/algorithm/agv/{agv_id}/positionPUT更新AGV位置agv_id, position

3.2 前端组件与算法模块对接

3.2.1 FactoryMap组件
  • 功能:展示工厂地图和AGV路径
  • 对接方式:
    • 使用WebSocket订阅agv_path事件获取实时路径
    • 通过/api/collector/data/path_planning接口获取历史路径
    • 使用Canvas渲染路径和设备位置
3.2.2 AGVMonitor组件
  • 功能:监控AGV状态和路径跟踪
  • 对接方式:
    • 使用WebSocket订阅agv_status事件获取AGV状态
    • 通过/api/algorithm/path/plan接口请求路径规划
    • 使用requestAnimationFrame实现路径动画

4. 部署架构

+----------------------------------+
|           用户浏览器             |
+----------------------------------+^|v
+----------------------------------+
|          Nginx Web服务器         |
+----------------------------------+/        \/          \v            v
+------------+    +------------+
| 前端服务   |    | 中端API服务 |
| (React)    |    | (FastAPI)  |
+------------+    +------------+|v+------------+| MongoDB    || 数据库     |+------------+^|v+------------+| 后端服务   || (Python)   |+------------+^|v+------------+| 数据模拟器 |+------------+

5. 安全与性能考虑

5.1 安全措施

  • 接口授权:API接口采用token认证机制
  • 数据验证:所有输入数据进行参数验证
  • 日志记录:系统操作和异常情况进行日志记录

5.2 性能优化

  • 数据库索引:对频繁查询的字段建立索引
  • 异步处理:使用asyncio实现异步IO操作
  • 批量处理:对数据进行批量处理减少网络开销
  • 缓存策略:对算法结果进行适当缓存

6. 扩展性设计

系统设计考虑了未来的扩展需求:

  1. 新算法模块可以轻松集成到algorithm目录下
  2. 新设备类型可通过扩展数据库集合支持
  3. 前端组件采用模块化设计,便于增加新功能
  4. API接口版本化设计,支持向后兼容

相关文章:

  • Pandas进行json_normalize多层嵌套Json数据展平
  • 王道计算机网络知识点总结
  • 【运维】基于Python打造分布式系统日志聚合与分析利器
  • 优化审核模块响应时间从8s降至1.2s的数据库解决方案
  • leetcode 454. 4Sum II
  • 【Python-Day 12】Python列表进阶:玩转添加、删除、排序与列表推导式
  • 机器人手臂“听不懂“指令?Ethercat转PROFINET网关妙解通信僵局
  • 【GPT入门】第38课 RAG评估指标概述
  • 【办公类-39-07】20250511批量生成通义万相图片(七)彩色背景蝴蝶-筛选无黑无白的图片
  • 【Bluedroid】蓝牙HID DEVICE断开连接流程源码分析
  • 基于Java和高德开放平台的WebAPI集成实践-以搜索POI2.0为例
  • 什么是深度神经网络
  • VirtualBox中安装并运行ubuntu-24.04.2-desktop虚拟机
  • 控制LED灯设备
  • 专题一:汉诺塔问题:递归算法的精妙解析
  • Spring框架(一)
  • OpenResty反向代理
  • 在Java项目中实现本地语音识别与热点检测,并集成阿里云智能语音服务(优化版)
  • 【Part 2安卓原生360°VR播放器开发实战】第四节|安卓VR播放器性能优化与设备适配
  • Redis设计与实现——单机Redis实现
  • 安徽省委副秘书长、省委政研室主任余三元调任省社科院院长
  • 联合国秘书长欢迎中美经贸高层会谈成果
  • 江西省市场监管局原局长谢来发被双开:违规接受旅游活动安排
  • 再获殊荣!IP SH跻身上海文化品牌全球传播力TOP 6
  • 世贸组织欢迎中美经贸高层会谈取得积极成果
  • AI药企英矽智能第三次递表港交所:去年亏损超1700万美元,收入多数来自对外授权