# 设备状态管理

## 1. 功能概述

设备状态管理功能用于对生产现场设备运行状态进行实时监控、记录与分析，实现设备状态透明化、异常可追溯、运行可管控。

**核心功能：**

- 实时状态监控：查看设备当前运行状态（运行/待机/故障/离线/完成/手动）


## 2. 术语说明

### 2.1 设备状态相关术语

| 术语 | 定义 | 说明 |
|------|------|------|
| 设备状态 | 设备在某一时间点的运行情况 | 如运行、待机、故障、离线、完成、手动 |
| 运行状态 | 设备正常生产或加工的状态 | 通常表示设备处于加工中 |
| 待机状态 | 设备已开机但未生产 | 可随时进入生产状态 |
| 故障状态 | 设备因异常无法运行 | 需维修或人工干预 |
| 离线状态 | 设备未连接系统或关机 | 系统超过15秒无法获取实时数据 |
| 完成状态 | 设备设备处于完成结束状态 | 部分设备是有完成状态的例如分容和DCIR设备，在设备工作结束后需要等待物流线取料或者排出，设备会定义为完成状态，工作完成等待取料 |
| 手动状态 | 设备在手动状态 | 当设备在首检/巡检/设备调整为手动，这个状态大多数是设备调试中 |
| 状态切换 | 设备状态之间的变化过程 | 如运行→故障→恢复 |
| 状态日志 | 记录设备状态变化的历史数据 | 包含时间、状态、持续时长等 |

---

## 3. 功能模块

### 3.1 设备状态监控

设备状态日志用于记录和展示设备在生产过程中的所有状态变化信息。

**典型应用场景：**

- 生产管理人员实时查看设备运行情况
- 设备异常时快速定位故障发生时间

**设备状态数据链：**

```mermaid
flowchart LR
    A[设备开机] --> B[待机状态]

    %% 正常生产流程
    B --> C[运行状态]
    C --> D{是否加工完成}
    D -->|否| C
    D -->|是| E[完成状态]

    %% 完成后的流转
    E --> F{是否已取料}
    F -->|否| E
    F -->|是| B

    %% 故障流程
    C --> G{是否异常}
    G -->|是| H[故障状态]
    H --> I[维修处理]
    I --> B

    %% 手动流程（可插入多个状态）
    B --> J[手动状态]
    C --> J
    E --> J
    J --> K[手动结束]
    K --> B
```

## 4. 操作说明

### 4.1 设备状态监控

**操作步骤：**

1. 进入【设备管理】→【设备状态管理】→【设备状态监控】
2. 点击（运行 / 待机 / 故障 / 完成 / 手动 / 离线）状态
3. 系统展示符合条件的设备状态记录

## 5. 状态定义与规则

### 5.1 状态优先级

为避免设备同时存在多个状态，系统定义状态优先级如下：

| 优先级 | 状态 | 说明 |
|--------|------|------|
| 1 | 故障状态 | 优先级最高，设备异常 |
| 2 | 手动状态 | 人工干预（调机/检修） |
| 3 | 运行状态 | 正常生产 |
| 4 | 完成状态 | 加工完成待取料 |
| 5 | 待机状态 | 空闲可生产 |

**【重要】** 当多个状态同时满足时，系统按优先级展示最高状态。

---

### 5.2 状态判定规则

| 状态 | 判定规则 |
|------|----------|
| 运行状态 | 设备有生产任务且处于加工中 |
| 待机状态 | 设备已开机但无生产任务 |
| 故障状态 | 设备报错或异常停机 |
| 完成状态 | 加工完成但未取料 |
| 手动状态 | 人工操作或调试中 |
| 离线状态 | 系统超15秒没有取得设备通讯，默认离线 |

**【注意】** 状态判定依赖设备数据采集，如数据异常可能导致状态不准确。

### 5.3 异常状态判定规则

在设备运行过程中，可能同时出现多个异常信号（如伺服报警、安全门打开、气压异常等）。为保证设备状态展示的唯一性与准确性，系统需按照预设优先级进行判定，仅展示最高优先级的异常状态。

**判定原则：**

- 多个异常同时存在时，仅显示优先级最高的异常
- 高优先级异常未解除前，低优先级异常不生效
- 异常恢复后，系统自动重新判定当前最高优先级状态
- 异常状态优先级高于所有正常状态（运行/待机/完成等）

---

**异常优先级示例：**

| 优先级 | 异常类型 | 说明 |
|--------|----------|------|
| 1 | 伺服电机异常 | 影响设备核心运动控制，需立即停机处理 |
| 2 | 主轴/驱动异常 | 关键执行部件异常 |
| 3 | 气压异常 | 影响设备动作稳定性 |
| 4 | 安全门打开 | 安全保护触发，需人工干预 |
| 5 | 一般报警 | 非关键报警，不影响核心运行 |

---

**判定逻辑说明：**

- 当“伺服电机异常”和“安全门打开”同时存在时，系统/设备优先判定为“伺服电机异常”
- 当高优先级异常解除后，如低优先级异常仍存在，则自动切换为对应异常状态
- 若所有异常解除，则设备恢复为正常状态（运行/待机等）

---

**【重要】** 异常优先级需根据设备类型进行配置，不同设备（如分容设备、装配设备）可能存在差异。

**【注意】** 若异常优先级配置不合理，可能导致现场误判设备真实状态，需由设备工程人员参与定义。

**【提示】** 建议将异常编码与优先级进行绑定管理，便于系统统一维护与扩展。

## 6. 数据管理要求

### 6.1 数据完整性要求

**【重要】** 为保证状态分析的准确性，需确保以下数据完整：

- 所有设备必须接入系统
- 状态变化必须实时上传
- 故障状态需记录原因
- 手动状态需记录操作场景

---

### 6.2 数据异常处理

| 问题现象 | 可能原因 | 处理方法 |
|---------|---------|---------|
| 状态未更新 | 设备未联网 | 检查设备连接 |
| 状态错误 | 数据采集异常 | 检查采集程序 |
| 无状态记录 | 未启用状态管理 | 开启设备监控 |

**【注意】** 数据异常会直接影响设备分析结果，应及时处理。