# Use Cases

> Những mục đích thực tế mà nhà máy triển khai X-Edge AI Box — bảo trì dự đoán, phát hiện bất thường, ghi ngược vòng kín, tích hợp SCADA và thẩm định model trước khi triển khai.

Chiếc box này làm tốt một việc: biến **tín hiệu time-series trực tiếp**
(OPC UA, MQTT hoặc CSV replay) thành luồng đầu ra model liên tục —
`health_score`, `failure_probability` và tuổi thọ còn lại (RUL) — tính toán
**tại chỗ (on-premise)**, không phụ thuộc cloud, và đưa kết quả đến bất cứ nơi
nào nhà máy cần: dashboard vận hành, setpoint trên PLC, topic của broker, hoặc
SCADA/historian qua external API.

Mọi use case dưới đây đều xây trên đúng một pipeline đó.

## Vị trí của box trong hệ sinh thái

```mermaid
flowchart LR
  subgraph Plant["Plant floor"]
    PLC["PLCs · OPC UA servers"]
    BR["MQTT brokers · sensors"]
  end

  subgraph Line["One production line"]
    BOX["X-Edge AI Box\n(self-contained runtime)"]
  end

  subgraph Ops["Operations & IT"]
    HMI["Operator dashboard\n(browser)"]
    SCADA["SCADA · MES · Historian"]
  end

  subgraph Studio["Engineering workstation (offline)"]
    MC["modelctl\nconvert · validate · package"]
  end

  PLC -->|"tags (polled)"| BOX
  BR -->|"topics (push)"| BOX
  BOX -->|"live charts · alerts"| HMI
  BOX -->|"predictions & setpoints\n(OPC UA / MQTT write-back)"| PLC
  BOX -->|"external API\n(API key)"| SCADA
  MC -.->|"ONNX bundle\ncrosses the air gap"| BOX
  BOX2["Box — line 2"] ~~~ BOX
  BOX -.->|"config export/import\n(JSON envelope)"| BOX2
```

Mỗi dây chuyền có box riêng; các box không phụ thuộc lẫn nhau hay phụ thuộc
cloud. Model được tạo ngoài box bằng [modelctl](/vi/configure/prepare-models/)
và mang qua air gap dưới dạng bundle ONNX đã validate; cấu hình dây chuyền đã
chứng minh hiệu quả được nhân bản sang dây chuyền kế tiếp bằng
[export/import cấu hình](/vi/api-reference/overview/).

## Bảo trì dự đoán

Use case cốt lõi. Stream các tag rung động, nhiệt độ, dòng điện, áp suất từ
thiết bị quay; model theo cửa sổ trượt chấm điểm mòn vòng bi và lỗi động cơ
**trước khi hỏng hàng giờ**, trên từng mẫu.

- **Tín hiệu vào:** 10–100 tag ở tốc độ lấy mẫu của datasource (mặc định 10 Hz).
- **Đầu ra:** xu hướng health score và xác suất hỏng trên dashboard; RUL cấp
  cho kế hoạch bảo trì qua external API.
- **Người dùng:** người vận hành theo dõi xu hướng; người lập kế hoạch bảo trì
  dùng dữ liệu lịch sử.

## Phát hiện bất thường trên biến quá trình

Cảnh báo SCADA dựa trên luật chỉ bắt được những gì bạn đã dự đoán trước. Model
quan sát cùng các biến quá trình sẽ làm lộ những mẫu mà ngưỡng cố định bỏ sót —
drift, dao động, sai lệch tương quan giữa các tag.

Pipeline được thiết kế để *đáng tin cậy* ở đây: cảm biến im lặng hay topic MQTT
cũ kỹ sẽ **dừng suy luận một cách hữu hình** thay vì cấp dữ liệu đóng băng cho
model (dữ liệu bất động đọc ra là "khỏe mạnh" — chế độ hỏng tệ nhất với phát
hiện bất thường), và payload `NaN`/`Infinity` không bao giờ chạm tới model.

## Ghi ngược vòng kín (closed-loop write-back)

Dự đoán không cần dừng lại ở biểu đồ. Map các kênh đầu ra vào địa chỉ gốc của
sink — node OPC UA, topic MQTT, cột CSV — và box ghi ngược từng dự đoán ở
QoS 1 kèm scale/offset, để bộ điều khiển hoặc HMI hành động theo.

Lỗi ghi không bao giờ làm nghẽn suy luận; chúng hiện lên dưới dạng cảnh báo
**Output write failed** đã gộp. Xem
[Output Datasources](/vi/configure/output-datasources/).

## Tích hợp SCADA / MES / historian

IT nhà máy và đối tác SI kéo dự đoán vào hệ thống sẵn có qua
[external REST API](/vi/api-reference/overview/) — xác thực bằng API key, có
rate limit, không cần tài khoản dashboard:

- `GET /api/external/v1/predictions/latest` — trạng thái hiện tại cho widget HMI.
- `GET /api/external/v1/predictions/history` — cửa sổ gần nhất cho historian.

## Thẩm định model bằng CSV replay

Trước khi model chạm thiết bị thật, hãy replay **dữ liệu sự cố đã ghi** qua
đúng pipeline production bằng adapter CSV — cùng windowing, cùng runtime, cùng
dashboard. Điều chỉnh tốc độ phát, lặp file, và xác nhận model bắt được đúng sự
cố bạn đã ghi. Đây cũng là cách nhanh nhất để demo box mà không cần kết nối
nhà máy.

## Mở rộng: mỗi dây chuyền một box

Chủ đích **không có federation nhiều box** — mỗi box tự chứa như một PLC, và
đó chính là lý do người vận hành tin được nó. Mở rộng nhà máy là lặp lại một
công thức đã kiểm chứng:

1. Chạy thử dây chuyền 1: nối datasource, pair model, tinh chỉnh ngưỡng.
2. Export cấu hình suy luận (secret bị che, một JSON envelope duy nhất).
3. Import trên box kế tiếp, trỏ sang endpoint của dây chuyền 2, enable.

## Bước tiếp theo

  - [Quickstart](/vi/install-deploy/quickstart/) — Từ bật nguồn đến dự đoán đầu tiên.
  - [Kiến trúc hệ thống](/vi/architecture/) — Pipeline đứng sau các use case này.
  - [Kết nối Input Datasource](/vi/configure/input-datasources/) — OPC UA, MQTT, CSV — kèm thang bảo mật.
  - [Chuẩn bị model với modelctl](/vi/configure/prepare-models/) — Tạo bundle ONNX vượt air gap.
