📦 Configurazione delle Schede IO (IOCardConfig)

La configurazione delle schede IO è un elemento fondamentale per il corretto funzionamento del sistema.

Questa configurazione descrive tutte le caratteristiche delle schede Input/Output (IO) che possono essere sia normali sia di sicurezza (safety), e viene fornita in un file YAML che viene poi letto e interpretato dal software.


🧩 Struttura generale della configurazione

La configurazione è organizzata in due sezioni principali:

  • NormalIoCards: contiene la definizione delle schede IO normali.
  • SafetyIoCards: contiene la definizione delle schede IO di sicurezza.

Ogni sezione è composta da un insieme di schede, ognuna identificata da un nome univoco (ad esempio AB:1734_DI8:C:0:). Per ogni scheda sono definiti i seguenti elementi:

Proprietà Descrizione
type Tipo generico della scheda (es. IB8, OB8, IT2I) che indica la funzione o famiglia della scheda.
nodeType Nome del template grafico usato per rappresentare la scheda nell’interfaccia utente.
iODirection Direzione IO, indica se la scheda è di tipo input (“I”) o output (“O”).
colors Definizione dei colori usati nella UI per la scheda e i suoi LED (acceso/spento).

⚠️ Specifiche per le schede di sicurezza (SafetyIoCards)

Le schede di sicurezza hanno una proprietà in più rispetto a quelle normali:

  • outputType: indica il tipo di output associato alla scheda di sicurezza (es. AB:1734_IB8S:O:0).
    Serve a collegare la scheda di input safety con il suo corrispettivo output, necessario per la logica di sicurezza.

🎨 Dettaglio sui colori

La sezione colors permette di personalizzare l’aspetto della scheda nell’interfaccia grafica, con valori numerici che rappresentano i colori:

  • card: colore principale della scheda.
  • led_on: colore del LED quando è acceso (es. LED verde acceso).
  • led_off: colore del LED quando è spento (es. LED rosso spento).

📝 Esempio pratico di configurazione YAML

normalIoCards:
  AB:1734_DI8:C:0:
    type: IB8
    nodeType: IOCard_8B
    iODirection: I
    colors:
      card: 0xff1b83df
      led_on: 0xff00fa7e
      led_off: 0xff0f4d29

  AB:1734_DOB8:C:0:
    type: OB8
    nodeType: IOCard_8B
    iODirection: O
    colors:
      card: 0xff40aa84
      led_on: 0xffea2e2e
      led_off: 0xff500f0f

safetyIoCards:
  AB:1734_IB8S_Safety2:I:0:
    outputType: AB:1734_IB8S:O:0
    type: IB8S
    nodeType: IOCard_8BS
    iODirection: I
    colors:
      card: 0xffe4564b
      led_on: 0xff00fa7e
      led_off: 0xff0f4d29