Skip to content
Salta al contenuto principale

Formato file .grafcetio

Documentazione tecnica

Il formato .grafcetio è un formato di file basato su JSON per memorizzare e scambiare diagrammi GRAFCET. Questa documentazione descrive la struttura e tutti gli elementi disponibili.

1. Struttura del file

Un file .grafcetio è un file JSON con la seguente struttura di base:

{
  "version": "1.0",
  "createdWith": "grafcet.io",
  "createdAt": "2024-01-15T10:30:00.000Z",
  "nodes": [...],
  "edges": [...],
  "counter": 5
}
  • versionNumero di versione del formato (attualmente sempre "1.0")
  • createdWithNome dell'applicazione che ha creato il file
  • createdAtTimestamp di creazione in formato ISO 8601
  • nodesArray con tutti i simboli GRAFCET (fasi, transizioni, azioni, ecc.)
  • edgesArray con tutte le linee di collegamento (connessioni tra simboli)
  • counterContatore interno per l'assegnazione di ID univoci

2. Simboli GRAFCET

Tutti i simboli sono memorizzati nell'array "nodes". Ogni simbolo ha la seguente struttura di base:

{
  "id": "step-1",
  "type": "step",
  "position": { "x": 400, "y": 240 },
  "data": { "label": "1" }
}
  • idIdentificatore univoco del simbolo (es: "step-1", "transition-2")
  • typeTipo di simbolo (vedi tipi sotto)
  • positionPosizione sul canvas in pixel (coordinate x/y)
  • dataDati specifici del simbolo come etichetta, tipo di azione, ecc.

Tipi di simboli disponibili

stepFase

Rappresenta uno stato nel diagramma. Visualizzata come un rettangolo con numero di fase.

Memorizza: Numero di fase (es: "1", "2", "10")

initialStepFase iniziale

Lo stato di partenza del GRAFCET, attivato automaticamente all'inizializzazione. Visualizzata come un rettangolo con bordo doppio.

Memorizza: Numero di fase (tipicamente "0")

transitionTransizione

Definisce la condizione di transizione tra le fasi. Visualizzata come una linea orizzontale con testo della condizione.

Memorizza: Condizione di transizione (es: "a", "a AND b", "!x", "*" per sempre vero)

actionAzione

Descrive un'uscita o azione eseguita quando la fase è attiva. Posizionata a destra della fase associata.

Memorizza: Nome azione, tipo di azione, valore tempo, condizione aggiuntiva

andNodeDivergenza simultanea

Permette sequenze parallele nel GRAFCET. Visualizzata come una doppia linea orizzontale.

Memorizza: Larghezza (predefinito: 240px), etichetta opzionale

loopNodeCiclo

Simbolo di retroazione nel GRAFCET. Visualizzato come una linea verticale con una freccia triangolare verso l'alto. Due simboli con lo stesso marcatore di riferimento sostituiscono una lunga linea di retroazione.

Memorizza: Marcatore di riferimento (es: "*", "A")

textAnnotazione testo

Campo di testo libero per commenti e annotazioni. Non fa parte della logica GRAFCET.

Memorizza: Testo da visualizzare, dimensione carattere, grassetto

enclosingStepFase di inclusione

Fase che contiene una sequenza parziale (inclusione). Visualizzata come un rettangolo con due linee verticali.

Memorizza: Numero di fase

macroStepMacrofase

Fa riferimento a un GRAFCET parziale (espansione macro). Visualizzata come un rettangolo con due linee orizzontali.

Memorizza: Numero di macro

startTransitionTransizione sorgente

Transizione senza fase precedente, sempre abilitata (IEC 60848).

Memorizza: Condizione di transizione

pitTransitionTransizione pozzo

Transizione senza fase successiva; disattiva la fase precedente.

Memorizza: Condizione di transizione

forcedCommandForzamento

Forza uno stato in un altro GRAFCET. Visualizzato come un box con bordo doppio.

Memorizza: Designazione, tipo di azione, valore tempo, condizione aggiuntiva

orNodeDivergenza alternativa

Selezione tra rami alternativi (divergenza/convergenza O). Visualizzata come una singola linea orizzontale.

Memorizza: Larghezza, etichetta opzionale

boxNodeRiquadro di commento

Riquadro per raggruppare o annotare aree. Non fa parte della logica GRAFCET.

Memorizza: Larghezza, altezza, etichetta superiore (numero), etichetta inferiore (nome)

startLoopRinvio (inizio)

Simbolo di inizio di un salto/rinvio; fa riferimento alla destinazione tramite un marcatore di riferimento comune.

Memorizza: Marcatore di riferimento

endLoopRinvio (destinazione)

Simbolo di destinazione di un salto/rinvio.

Memorizza: Marcatore di riferimento

Azione:

{
  "id": "action-1",
  "type": "action",
  "position": { "x": 500, "y": 230 },
  "data": {
    "label": "Motor ein",
    "actionType": "continuous"
  }
}
{
  "id": "action-2",
  "type": "action",
  "position": { "x": 500, "y": 350 },
  "data": {
    "label": "Ventil öffnen",
    "actionType": "delayed",
    "time": "5s",
    "condition": "p1"
  }
}

3. Tipi di azioni (IEC 60848)

Le azioni possono avere diversi tipi che determinano il loro comportamento. Il tipo di azione è rappresentato graficamente:

Tipo di azioneRappresentazioneDescrizione
continuousBox sempliceL'azione è attiva finché la fase associata è attiva
setBox con freccia ↑L'azione viene attivata e rimane attiva dopo la disattivazione della fase
resetBox con freccia ↓L'azione viene disattivata (ripristina un'azione precedentemente attivata)
delayedBox con annotazione temporaleL'azione inizia solo dopo il tempo specificato
limitedBox con limite di tempoL'azione termina automaticamente dopo il tempo specificato
pulseBox con simbolo di impulsoImpulso singolo all'attivazione della fase
conditionalBox con linea di condizioneL'azione viene eseguita solo se la condizione è soddisfatta

4. Linee di collegamento

Le linee di collegamento connettono i simboli GRAFCET e definiscono il flusso. Sono memorizzate nell'array "edges".

{
  "id": "e-step-1-transition-1",
  "source": "step-1",
  "sourceHandle": "bottom",
  "target": "transition-1",
  "targetHandle": "top",
  "type": "defaultEdge"
}
  • idIdentificatore univoco della connessione
  • sourceID del simbolo sorgente (dove inizia la linea)
  • targetID del simbolo destinazione (dove termina la linea)
  • sourceHandlePunto di connessione sul simbolo sorgente
  • targetHandlePunto di connessione sul simbolo destinazione
  • typeTipo di linea di collegamento

Tipi di linee

labeledEdge
Linea orientata standardConnessione standard con etichetta. Collega fasi con transizioni e transizioni con fasi (tipo predefinito).
defaultEdge
Linea orientata sempliceConnessione semplice senza etichetta.
loopEdge
Linea di rinvioLinea curva per rinvii e salti.

Punti di connessione

Ogni simbolo ha punti di connessione definiti per le linee:

  • "top" - Ingresso dall'alto
  • "bottom" - Uscita verso il basso
  • "left" - Ingresso da sinistra (per azioni)
  • "right" - Uscita verso destra (per linee di azione)
  • Per divergenze: "handle-0", "handle-1", ... (sopra) e "source-0", "source-1", ... (sotto)

Prova l'editor

Crea il tuo diagramma GRAFCET ed esportalo come file .grafcetio!

Vai all'editor
Formato file .grafcetio | Documentazione