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 filecreatedAtTimestamp di creazione in formato ISO 8601nodesArray 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, qualificatore, ecc.
Tipi di simboli disponibili
stepFaseRappresenta uno stato nel diagramma. Visualizzata come un rettangolo con numero di fase.
Memorizza: Numero di fase (es: "1", "2", "10")
initialStepFase inizialeLo stato di partenza del GRAFCET, attivato automaticamente all'inizializzazione. Visualizzata come un rettangolo con bordo doppio.
Memorizza: Numero di fase (tipicamente "0")
transitionTransizioneDefinisce 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)
actionAzioneDescrive un'uscita o azione eseguita quando la fase è attiva. Posizionata a destra della fase associata.
Memorizza: Nome azione, qualificatore (N/S/R/D/L/P/C), valore tempo per D/L, condizione aggiuntiva per C
andNodeDivergenza simultaneaPermette sequenze parallele nel GRAFCET. Visualizzata come una doppia linea orizzontale.
Memorizza: Larghezza (predefinito: 240px), etichetta opzionale
loopNodeCicloSimbolo 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 testoCampo di testo libero per commenti e annotazioni. Non fa parte della logica GRAFCET.
Memorizza: Testo da visualizzare
Azione:
{
"id": "action-1",
"type": "action",
"position": { "x": 500, "y": 230 },
"data": {
"label": "Motor ein",
"qualifier": "N"
}
}{
"id": "action-2",
"type": "action",
"position": { "x": 500, "y": 350 },
"data": {
"label": "Ventil öffnen",
"qualifier": "D",
"time": "5s",
"condition": "p1"
}
}3. Qualificatori di azione (IEC 60848)
Le azioni possono avere qualificatori che determinano il loro comportamento:
| Codice | Nome | Descrizione |
|---|---|---|
N | Continuo | L'azione è attiva finché la fase associata è attiva |
S | Memorizzato (Set) | L'azione viene attivata e rimane attiva dopo la disattivazione della fase |
R | Memorizzato (Reset) | L'azione viene disattivata (ripristina un'azione precedentemente attivata) |
D | Ritardato | L'azione inizia solo dopo il tempo specificato (richiede valore tempo) |
L | Limitato | L'azione termina automaticamente dopo il tempo specificato (richiede valore tempo) |
P | Impulso | Singolo impulso breve quando la fase viene attivata |
C | Condizionale | L'azione viene eseguita solo se la condizione aggiuntiva è 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 connessionesourceID del simbolo sorgente (dove inizia la linea)targetID del simbolo destinazione (dove termina la linea)sourceHandlePunto di connessione sul simbolo sorgentetargetHandlePunto di connessione sul simbolo destinazionetypeTipo di linea di collegamento
Tipi di linee
defaultEdgeactionEdgePunti 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)