Format de fichier .grafcetio
Documentation technique
Le format .grafcetio est un format de fichier basé sur JSON pour stocker et échanger des diagrammes GRAFCET. Cette documentation décrit la structure et tous les éléments disponibles.
1. Structure du fichier
Un fichier .grafcetio est un fichier JSON avec la structure de base suivante :
{
"version": "1.0",
"createdWith": "grafcet.io",
"createdAt": "2024-01-15T10:30:00.000Z",
"nodes": [...],
"edges": [...],
"counter": 5
}versionNuméro de version du format de fichier (actuellement toujours "1.0")createdWithNom de l'application qui a créé le fichiercreatedAtHorodatage de création au format ISO 8601nodesTableau contenant tous les symboles GRAFCET (étapes, transitions, actions, etc.)edgesTableau contenant toutes les liaisons orientées (connexions entre symboles)counterCompteur interne pour l'attribution d'IDs uniques
2. Symboles GRAFCET
Tous les symboles sont stockés dans le tableau "nodes". Chaque symbole a la structure de base suivante :
{
"id": "step-1",
"type": "step",
"position": { "x": 400, "y": 240 },
"data": { "label": "1" }
}idIdentifiant unique du symbole (ex: "step-1", "transition-2")typeType de symbole (voir les types ci-dessous)positionPosition sur le canevas en pixels (coordonnées x/y)dataDonnées spécifiques au symbole comme l'étiquette, le qualificateur, etc.
Types de symboles disponibles
stepÉtapeReprésente un état dans le diagramme. Affiché comme un rectangle avec le numéro d'étape.
Stocke : Numéro d'étape (ex: "1", "2", "10")
initialStepÉtape initialeL'état de départ du GRAFCET, automatiquement activé à l'initialisation. Affiché comme un rectangle avec double bordure.
Stocke : Numéro d'étape (typiquement "0")
transitionTransitionDéfinit la condition de transition entre les étapes. Affichée comme une ligne horizontale avec le texte de condition.
Stocke : Condition de transition (ex: "a", "a AND b", "!x", "*" pour toujours vrai)
actionActionDécrit une sortie ou action exécutée lorsque l'étape est active. Placée à droite de l'étape associée.
Stocke : Nom d'action, qualificateur (N/S/R/D/L/P/C), valeur de temps pour D/L, condition supplémentaire pour C
andNodeDivergence simultanéePermet des séquences parallèles dans le GRAFCET. Affichée comme une double ligne horizontale.
Stocke : Largeur (défaut: 240px), étiquette optionnelle
loopNodeBoucleSymbole de rétroaction dans le GRAFCET. Affiché comme une ligne verticale avec une flèche triangulaire vers le haut. Deux symboles avec le même marqueur de référence remplacent une longue ligne de rétroaction.
Stocke : Marqueur de référence (ex: "*", "A")
textAnnotation texteChamp de texte libre pour commentaires et annotations. Ne fait pas partie de la logique GRAFCET.
Stocke : Texte à afficher
Action:
{
"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. Qualificateurs d'action (IEC 60848)
Les actions peuvent recevoir des qualificateurs qui déterminent leur comportement :
| Code | Nom | Description |
|---|---|---|
N | Continu | L'action est active tant que l'étape associée est active |
S | Mémorisé (Set) | L'action est activée et reste active après la désactivation de l'étape |
R | Mémorisé (Reset) | L'action est désactivée (réinitialise une action précédemment activée) |
D | Retardé | L'action démarre seulement après le temps spécifié (nécessite valeur de temps) |
L | Limité | L'action se termine automatiquement après le temps spécifié (nécessite valeur de temps) |
P | Impulsion | Impulsion unique courte lors de l'activation de l'étape |
C | Conditionnel | L'action n'est exécutée que si la condition supplémentaire est remplie |
4. Liaisons orientées
Les liaisons orientées connectent les symboles GRAFCET et définissent le flux. Elles sont stockées dans le tableau "edges".
{
"id": "e-step-1-transition-1",
"source": "step-1",
"sourceHandle": "bottom",
"target": "transition-1",
"targetHandle": "top",
"type": "defaultEdge"
}idIdentifiant unique de la connexionsourceID du symbole source (où la ligne commence)targetID du symbole cible (où la ligne se termine)sourceHandlePoint de connexion sur le symbole sourcetargetHandlePoint de connexion sur le symbole cibletypeType de liaison orientée
Types de liaisons
defaultEdgeactionEdgePoints de connexion
Chaque symbole a des points de connexion définis pour les liaisons :
- "top" - Entrée par le haut
- "bottom" - Sortie vers le bas
- "left" - Entrée par la gauche (pour les actions)
- "right" - Sortie vers la droite (pour les liaisons d'action)
- Pour les divergences : "handle-0", "handle-1", ... (haut) et "source-0", "source-1", ... (bas)
Essayer l'éditeur
Créez votre propre diagramme GRAFCET et exportez-le en fichier .grafcetio !
Vers l'éditeur