Skip to content
Aller au contenu principal

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 fichier
  • createdAtHorodatage de création au format ISO 8601
  • nodesTableau 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 type d'action, etc.

Types de symboles disponibles

stepÉtape

Repré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 initiale

L'état de départ du GRAFCET, automatiquement activé à l'initialisation. Affiché comme un rectangle avec double bordure.

Stocke : Numéro d'étape (typiquement "0")

transitionTransition

Dé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)

actionAction

Dé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, type d'action, valeur de temps, condition supplémentaire

andNodeDivergence simultanée

Permet des séquences parallèles dans le GRAFCET. Affichée comme une double ligne horizontale.

Stocke : Largeur (défaut: 240px), étiquette optionnelle

loopNodeBoucle

Symbole 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 texte

Champ de texte libre pour commentaires et annotations. Ne fait pas partie de la logique GRAFCET.

Stocke : Texte à afficher, taille de police, gras

enclosingStepÉtape encapsulante

Étape contenant une séquence partielle (encapsulation). Affichée comme un rectangle avec deux lignes verticales.

Stocke : Numéro d'étape

macroStepMacro-étape

Renvoie à un GRAFCET partiel (expansion de macro). Affichée comme un rectangle avec deux lignes horizontales.

Stocke : Numéro de macro

startTransitionTransition source

Transition sans étape précédente, toujours validée (IEC 60848).

Stocke : Condition de transition

pitTransitionTransition puits

Transition sans étape suivante ; désactive l'étape précédente.

Stocke : Condition de transition

forcedCommandForçage

Force un état dans un autre GRAFCET. Affiché comme une boîte à double bordure.

Stocke : Désignation, type d'action, valeur de temps, condition supplémentaire

orNodeDivergence alternative

Sélection entre branches alternatives (divergence/convergence OU). Affichée comme une seule ligne horizontale.

Stocke : Largeur, étiquette optionnelle

boxNodeCadre de commentaire

Cadre pour grouper ou annoter des zones. Ne fait pas partie de la logique GRAFCET.

Stocke : Largeur, hauteur, étiquette supérieure (numéro), étiquette inférieure (nom)

startLoopRenvoi (début)

Symbole de début d'un saut/renvoi ; renvoie à la cible via un marqueur de référence commun.

Stocke : Marqueur de référence

endLoopRenvoi (cible)

Symbole de destination d'un saut/renvoi.

Stocke : Marqueur de référence

Action:

{
  "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. Types d'actions (IEC 60848)

Les actions peuvent avoir différents types qui déterminent leur comportement. Le type d'action est représenté graphiquement :

Type d'actionReprésentationDescription
continuousBoîte simpleL'action est active tant que l'étape associée est active
setBoîte avec flèche ↑L'action est activée et reste active après la désactivation de l'étape
resetBoîte avec flèche ↓L'action est désactivée (réinitialise une action précédemment activée)
delayedBoîte avec annotation temporelleL'action ne démarre qu'après le temps spécifié
limitedBoîte avec limite de tempsL'action se termine automatiquement après le temps spécifié
pulseBoîte avec symbole d'impulsionImpulsion unique lors de l'activation de l'étape
conditionalBoîte avec ligne de conditionL'action n'est exécutée que si la condition 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 connexion
  • sourceID du symbole source (où la ligne commence)
  • targetID du symbole cible (où la ligne se termine)
  • sourceHandlePoint de connexion sur le symbole source
  • targetHandlePoint de connexion sur le symbole cible
  • typeType de liaison orientée

Types de liaisons

labeledEdge
Liaison orientée standardConnexion standard avec étiquette. Connecte les étapes aux transitions et les transitions aux étapes (type par défaut).
defaultEdge
Liaison orientée simpleConnexion simple sans étiquette.
loopEdge
Liaison de renvoiLigne courbe pour les renvois et les sauts.

Points 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
Format de fichier .grafcetio | Documentation