.grafcetio Dateiformat
Technische Dokumentation
Das .grafcetio-Format ist ein JSON-basiertes Dateiformat zum Speichern und Austauschen von GRAFCET-Diagrammen. Diese Dokumentation beschreibt den Aufbau und alle verfügbaren Elemente.
1. Dateistruktur
Eine .grafcetio-Datei ist eine JSON-Datei mit folgender Grundstruktur:
{
"version": "1.0",
"createdWith": "grafcet.io",
"createdAt": "2024-01-15T10:30:00.000Z",
"nodes": [...],
"edges": [...],
"counter": 5
}versionVersionsnummer des Dateiformats (aktuell immer "1.0")createdWithName der Anwendung, die die Datei erstellt hatcreatedAtErstellungszeitpunkt im ISO 8601 FormatnodesArray mit allen GRAFCET-Symbolen (Schritte, Transitionen, Aktionen, etc.)edgesArray mit allen Wirkungslinien (Verbindungen zwischen Symbolen)counterInterner Zähler für die Vergabe eindeutiger Element-IDs
2. GRAFCET-Symbole
Alle Symbole werden im "nodes"-Array gespeichert. Jedes Symbol hat folgende Grundstruktur:
{
"id": "step-1",
"type": "step",
"position": { "x": 400, "y": 240 },
"data": { "label": "1" }
}idEindeutige Kennung des Symbols (z.B. "step-1", "transition-2")typeArt des Symbols (siehe Symboltypen unten)positionPosition auf der Zeichenfläche in Pixeln (x/y-Koordinaten)dataSymbolspezifische Daten wie Beschriftung, Aktionsart, etc.
Verfügbare Symboltypen
stepSchrittRepräsentiert einen Zustand im Ablaufdiagramm. Wird als Rechteck mit Schrittnummer dargestellt.
Speichert: Schrittnummer (z.B. "1", "2", "10")
initialStepInitialschrittDer Startzustand des GRAFCET, der bei Initialisierung automatisch aktiviert wird. Dargestellt als Rechteck mit doppelter Umrandung.
Speichert: Schrittnummer (typischerweise "0")
transitionTransitionDefiniert die Übergangsbedingung zwischen Schritten. Dargestellt als horizontaler Strich mit Bedingungstext.
Speichert: Übergangsbedingung (z.B. "a", "a AND b", "!x", "*" für immer wahr)
actionAktionBeschreibt eine Ausgabe oder Aktion, die bei aktivem Schritt ausgeführt wird. Wird rechts neben dem zugehörigen Schritt platziert.
Speichert: Aktionsbezeichnung, Aktionsart, Zeitwert, Zusatzbedingung
andNodeSimultanverzweigungErmöglicht parallele Abläufe im GRAFCET. Dargestellt als doppelte horizontale Linie. Kann mehrere ein- und ausgehende Verbindungen haben.
Speichert: Breite (Standard: 240px), optionale Beschriftung
loopNodeSchleifeRückführungssymbol im GRAFCET. Dargestellt als vertikale Linie mit Dreieckspfeil nach oben. Zwei Symbole mit gleichem Referenzzeichen ersetzen eine lange Rückführungslinie.
Speichert: Referenzzeichen (z.B. "*", "A")
textTextanmerkungFreitextfeld für Kommentare und Anmerkungen im Diagramm. Nicht Teil der GRAFCET-Logik.
Speichert: Anzeigetext, Schriftgröße, Fettdruck
enclosingStepEinschließender SchrittSchritt, der einen Teilablauf (Einschließung) enthält. Dargestellt als Rechteck mit zwei senkrechten Linien.
Speichert: Schrittnummer
macroStepMakroschrittVerweist auf ein Teil-GRAFCET (Makro-Erweiterung). Dargestellt als Rechteck mit zwei waagerechten Linien.
Speichert: Makro-Nummer
startTransitionQuelltransitionTransition ohne Vorgängerschritt, die immer freigegeben ist (IEC 60848).
Speichert: Übergangsbedingung
pitTransitionSchlusstransitionTransition ohne Nachfolgeschritt; deaktiviert den Vorgängerschritt.
Speichert: Übergangsbedingung
forcedCommandBefehlserzwingungErzwingt einen Zustand in einem anderen GRAFCET. Dargestellt als Box mit Doppelrahmen.
Speichert: Bezeichnung, Aktionsart, Zeitwert, Zusatzbedingung
orNodeAlternativverzweigungAuswahl zwischen alternativen Zweigen (ODER-Verzweigung/-Zusammenführung). Dargestellt als einzelne waagerechte Linie.
Speichert: Breite, optionale Beschriftung
boxNodeKommentarrahmenRahmen zum Gruppieren oder Kommentieren von Bereichen. Nicht Teil der GRAFCET-Logik.
Speichert: Breite, Höhe, oberes Label (Nummer), unteres Label (Name)
startLoopRückführung (Start)Startsymbol einer Sprung-/Rückführung; verweist über ein gemeinsames Referenzzeichen auf das Sprungziel.
Speichert: Referenzzeichen
endLoopRückführung (Ziel)Zielsymbol einer Sprung-/Rückführung.
Speichert: Referenzzeichen
Aktion:
{
"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. Aktionsarten (DIN EN 60848)
Aktionen können verschiedene Arten haben, die ihr Verhalten bestimmen. Die Aktionsart wird grafisch dargestellt:
| Aktionsart | Darstellung | Beschreibung |
|---|---|---|
continuous | Einfache Box | Aktion ist aktiv, solange der zugehörige Schritt aktiv ist |
set | Box mit Pfeil ↑ | Aktion wird eingeschaltet und bleibt auch nach Deaktivierung des Schritts aktiv |
reset | Box mit Pfeil ↓ | Aktion wird ausgeschaltet (setzt eine vorher gesetzte Aktion zurück) |
delayed | Box mit Zeitangabe | Aktion startet erst nach Ablauf der angegebenen Zeit |
limited | Box mit Zeitbegrenzung | Aktion endet automatisch nach der angegebenen Zeit |
pulse | Box mit Impulssymbol | Einzelner kurzer Impuls bei Aktivierung des Schritts |
conditional | Box mit Bedingungslinie | Aktion wird nur ausgeführt, wenn die Zusatzbedingung erfüllt ist |
4. Wirkungslinien
Wirkungslinien verbinden die GRAFCET-Symbole und definieren den Ablauf. Sie werden im "edges"-Array gespeichert.
{
"id": "e-step-1-transition-1",
"source": "step-1",
"sourceHandle": "bottom",
"target": "transition-1",
"targetHandle": "top",
"type": "defaultEdge"
}idEindeutige Kennung der VerbindungsourceID des Quell-Symbols (von wo die Linie startet)targetID des Ziel-Symbols (wo die Linie endet)sourceHandleAnschlusspunkt am Quell-SymboltargetHandleAnschlusspunkt am Ziel-SymboltypeArt der Wirkungslinie
Linientypen
labeledEdgedefaultEdgeloopEdgeAnschlusspunkte
Jedes Symbol hat definierte Anschlusspunkte für Wirkungslinien:
- "top" - Eingang von oben
- "bottom" - Ausgang nach unten
- "left" - Eingang von links (bei Aktionen)
- "right" - Ausgang nach rechts (für Aktionslinien)
- Bei Simultanverzweigungen: "handle-0", "handle-1", ... (oben) und "source-0", "source-1", ... (unten)
Editor ausprobieren
Erstelle dein eigenes GRAFCET-Diagramm und exportiere es als .grafcetio-Datei!
Zum Editor