System-Overview.md
6.8 KB
MIMO系统架构概述
1. 系统简介
MIMO(SMD BOX MIMO G2)系统是一个先进的工业自动化控制平台,用于管理和控制各类工业设备,包括运动轴、传感器、执行器等。系统采用分层架构设计,实现了设备控制、数据处理、业务逻辑和用户交互的有效分离。
2. 整体架构
2.1 分层架构
MIMO系统采用经典的分层架构设计,从上到下依次分为以下几层:
-
表现层(Layer 1-2):用户界面和交互组件 (
UI目录) - 应用层(Layer 3-4):业务应用和功能模块
-
边缘计算层(Layer 5):数据处理和业务逻辑 (
Core/MachineControl) -
设备控制层(Layer 6):设备抽象和控制接口 (
Core/Devices) - 设备层(Layer 7):物理设备和硬件接口
本文档主要关注系统的Layer5和Layer6部分。
2.2 核心组件关系
系统的主要组件及其关系如下:
┌─────────────────────────────────────────────────┐
│ 表现层 (UI) │
│ ┌───────────────┐ ┌───────────────┐ │
│ │ MainForm │ │ Controls │ │
│ └───────┬───────┘ └───────┬───────┘ │
│ │ │ │
└──────────┼──────────────────┼───────────────────┘
│ │
┌──────────┼──────────────────┼───────────────────┐
│ │ │ │
│ └──────────┬───────┘ │
│ │ │
│ 边缘计算层 (Core/MachineControl, BusinessLogic) │
│ ┌─────────────────▼─────────────────┐ │
│ │ MainMachine (主控) │ │
│ ├─────────────────┬─────────────────┤ │
│ │ RobotManage │ ReelTransport │ │
│ └─────────────────┴─────────────────┘ │
│ │ │
│ ┌──────────┴──────────┐ │
│ │ │ │
└──────────┼─────────────────────┼────────────────┘
│ │
┌──────────▼─────────┐ ┌─────────▼─────────┐
│ 设备控制层 │ │ 设备控制层 │
│ (Devices/Axis) │ │ (Devices/IO) │
│ ┌─────────────┐ │ │ ┌─────────────┐ │
│ │ AxisManager │ │ │ │ IOManager │ │
│ └─────────────┘ │ │ └─────────────┘ │
└───────────────────┘ └───────────────────┘
│ │
┌──────────┴─────────┐ ┌─────────┴─────────┐
│ 设备层 │ │ 设备层 │
│ (Layer 7 - 电机) │ │ (Layer 7 - IO板) │
└───────────────────┘ └───────────────────┘
3. 主要功能模块
3.1 设备控制层 (Core/Devices)
设备控制层负责提供统一的设备抽象和控制接口,主要包括:
-
Axis:
IAxisManager及其实现,管理运动轴。 -
IO:
I_IOManager及其实现,管理 IO 信号。 -
Controllers:具体硬件控制器的实现(如
HC,dauxiKS107)。 - Camera:相机设备控制。
3.2 边缘计算层 (Core/MachineControl)
边缘计算层负责处理设备数据、实现业务逻辑和协调设备交互,主要包括:
-
MainMachine:系统主控逻辑入口,作为部分类(Partial Class)实现,集成了多个子功能模块。
-
状态机管理:通过
MoveInfo对象管理多个并行的业务流程(如StringMoveInfo,ClampMoveInfo,StoreMoveInfo)。 - 流程协调:协调料串机构、取放料机构和库位调度之间的交互。
-
状态机管理:通过
-
RobotManage:单例管理器,持有
MainMachine实例和全局配置,负责系统级别的状态管理。 -
ReelTransport:专注于料盘在库位、校准位和IO口之间的搬运逻辑(实现于
BoxTransport.cs)。 -
Components:各类机器组件的具体逻辑实现(如
MainMachine_Store,MainMachine_Clamp)。
4. 技术架构
4.1 开发技术栈
- 开发语言:C#/.NET Framework
- UI框架:Windows Forms
- 通信协议:TCP/IP、串口通信
- 设备驱动:自定义驱动和第三方库
4.2 关键技术特性
- 多线程处理:使用多线程处理设备通信和数据采集
- 异步操作:关键操作采用异步方式执行
- 事件驱动:基于事件机制实现组件间通信
- 配置化设计:支持通过配置文件定制系统行为
5. 系统扩展性
5.1 设备扩展
系统设计支持轻松接入新类型设备:
- 实现相应的设备接口
- 在设备管理器中注册新设备
- 配置设备参数和通信方式
5.2 功能扩展
系统支持通过以下方式扩展功能:
- 开发新的业务模块和服务
- 实现自定义的设备控制逻辑
- 添加新的用户界面组件
6. 系统维护
6.1 日志系统
系统集成了完善的日志记录机制,记录关键操作、错误信息和系统状态,便于问题排查和系统监控。
6.2 故障恢复
系统实现了基本的故障检测和恢复机制,在设备异常时能够采取相应的保护措施。
7. 总结
MIMO系统采用分层架构设计,实现了设备控制和业务逻辑的有效分离,具有良好的可维护性、可扩展性和可靠性。系统的Layer5和Layer6部分作为连接应用层和物理设备的桥梁,在系统中扮演着至关重要的角色。