---
id: MachineAnalytics_SCADA_PopupLogicaHMI
sidebar_position: 8
sidebar_label: Popup & Logica HMI
pagination_prev: Omron/MachineAnalytics_SCADA/MachineAnalytics_SCADA_Flowpack_MachineAnalytics_Documentation
hide_table_of_contents: True
---

# Popup & Logica HMI

---

## Tabella Variabili di Scambio – Popup & Logica HMI

| 🏷️ Nome                  | 🗃️ Tipo     | 🔀 Direzione | 🪄 Icona | 📝 Descrizione Operativa                          |
|--------------------------|-------------|--------------|---------|---------------------------------------------------|
| RecipeChangeRequest      | BOOL        | Input        | 📥      | Richiesta cambio ricetta da SCADA                 |
| RecipeChangeACK          | BOOL        | Output       | ✅      | Conferma ricezione richiesta cambio ricetta        |
| RecipeChangeOK           | BOOL        | Output       | 🟩      | Conferma cambio ricetta accettato (reset 2s)      |
| RecipeChangeReject       | BOOL        | Output       | ❌      | Cambio ricetta rifiutato (reset 2s)               |
| RecipeChangePostpone     | BOOL        | Output       | ⏸️      | Cambio ricetta posticipato (reset 30s)            |
| Popup_Timer2s            | INT         | Output       | ⏱️      | Timer reset popup OK/Reject (2s)                  |
| Popup_Timer30s           | INT         | Output       | ⏱️      | Timer reset popup Postpone (30s)                  |

---

## Tree Strutturale Popup & Logica HMI

```plaintext
ST_ScadaInterface
├── Ingress
│   ├── RecipeChangeRequest 📥
├── Egress
│   ├── RecipeChangeACK ✅
│   ├── RecipeChangeOK 🟩
│   ├── RecipeChangeReject ❌
│   ├── RecipeChangePostpone ⏸️
│   ├── Popup_Timer2s ⏱️
│   ├── Popup_Timer30s ⏱️
```

---

## Diagramma Flusso Popup & Logica HMI – Mermaid

```mermaid
flowchart TD
    style Request fill:#e3eeff,stroke:#007aff,color:#000
    style ACK fill:#e3ffe3,stroke:#30db5b,color:#000
    style OK fill:#d6ffe3,stroke:#30db5b,color:#000
    style Reject fill:#ffd6d6,stroke:#ff3b30,color:#000
    style Postpone fill:#ffe6cc,stroke:#ff9800,color:#000

    Request["📥 RecipeChangeRequest"]
    ACK["✅ RecipeChangeACK"]
    OK["🟩 RecipeChangeOK (reset 2s)"]
    Reject["❌ RecipeChangeReject (reset 2s)"]
    Postpone["⏸️ RecipeChangePostpone (reset 30s)"]

    Request --> ACK
    ACK --> OK
    ACK --> Reject
    ACK --> Postpone
    OK -->|Timer2s| Request
    Reject -->|Timer2s| Request
    Postpone -->|Timer30s| ACK
```

---

## Spiegazione Operativa

- Il flusso di handshake gestisce il cambio ricetta in modo sicuro, con popup per la conferma dell’operatore e timer di reset automatico.
- Le variabili permettono il dialogo tra SCADA, PLC e HMI, garantendo tracciabilità e controllo sull’azione.
- Il timer per OK/Reject è di 2 secondi, mentre per Postpone è di 30 secondi, come da best practice industriale.

---

*Sezione pronta per mapping OPC-UA e integrazione in sistemi SCADA/MES. Modifica e amplia secondo le tue variabili specifiche!*