Zum Inhalt springen

.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 hat
  • createdAtErstellungszeitpunkt im ISO 8601 Format
  • nodesArray 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, Aktionstyp, etc.

Verfügbare Symboltypen

stepSchritt

Repräsentiert einen Zustand im Ablaufdiagramm. Wird als Rechteck mit Schrittnummer dargestellt.

Speichert: Schrittnummer (z.B. "1", "2", "10")

initialStepAnfangsschritt

Der Startzustand des GRAFCET, der bei Initialisierung automatisch aktiviert wird. Dargestellt als Rechteck mit doppelter Umrandung.

Speichert: Schrittnummer (typischerweise "0")

transitionTransition

Definiert die Übergangsbedingung zwischen Schritten. Dargestellt als horizontaler Strich mit Bedingungstext.

Speichert: Übergangsbedingung (z.B. "a", "a AND b", "!x", "*" für immer wahr)

actionAktion

Beschreibt eine Ausgabe oder Aktion, die bei aktivem Schritt ausgeführt wird. Wird rechts neben dem zugehörigen Schritt platziert.

Speichert: Aktionsbezeichnung, Aktionstyp, Zeitwert, Zusatzbedingung

andNodeParallele Verzweigung

Ermöglicht parallele Abläufe im GRAFCET. Dargestellt als doppelte horizontale Linie. Kann mehrere ein- und ausgehende Verbindungen haben.

Speichert: Breite (Standard: 240px), optionale Beschriftung

loopNodeRückführung

Rü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")

textKommentar

Freitextfeld für Kommentare und Anmerkungen im Diagramm. Nicht Teil der GRAFCET-Logik.

Speichert: Anzeigetext, Schriftgröße, Fettdruck

enclosingStepEinschließender Schritt

Schritt, der einen Teilablauf (Einschließung) enthält. Dargestellt als Rechteck mit zwei senkrechten Linien.

Speichert: Schrittnummer

macroStepMakroschritt

Verweist auf ein Teil-GRAFCET (Makro-Erweiterung). Dargestellt als Rechteck mit zwei waagerechten Linien.

Speichert: Makro-Nummer

startTransitionQuelltransition

Transition ohne Vorgängerschritt: Sie startet einen Ablauf und schaltet dabei einmal je Simulationslauf.

Speichert: Übergangsbedingung

pitTransitionSchlusstransition

Transition ohne Nachfolgeschritt; deaktiviert den Vorgängerschritt.

Speichert: Übergangsbedingung

forcedCommandZwangssteuernder Befehl

Erzwingt einen Zustand in einem anderen GRAFCET. Dargestellt als Box mit Doppelrahmen.

Speichert: Bezeichnung, Aktionstyp, Zeitwert, Zusatzbedingung

orNodeAlternative Verzweigung

Auswahl zwischen alternativen Zweigen (ODER-Verzweigung/-Zusammenführung). Dargestellt als einzelne waagerechte Linie.

Speichert: Breite, optionale Beschriftung

boxNodeEinschließung

Rahmen um einen Teil-GRAFCET, z. B. den eingeschlossenen Teil eines einschließenden Schritts. Oben steht die Nummer, unten der Name.

Speichert: Breite, Höhe, oberes Label (Nummer), unteres Label (Name)

startLoopSprung (Start)

Startsymbol eines Sprungs; verweist über ein gemeinsames Referenzzeichen auf das Sprungziel.

Speichert: Referenzzeichen

endLoopSprung (Ziel)

Zielsymbol eines Sprungs.

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. Aktionstypen (DIN EN 60848)

Aktionen können verschiedene Typen haben, die ihr Verhalten bestimmen. Der Aktionstyp wird grafisch dargestellt:

AktionstypDarstellungBeschreibung
continuousEinfache BoxAktion ist aktiv, solange der zugehörige Schritt aktiv ist
setBox mit Pfeil ↑Aktion wird eingeschaltet und bleibt auch nach Deaktivierung des Schritts aktiv
resetBox mit Pfeil ↓Aktion wird ausgeschaltet (setzt eine vorher gesetzte Aktion zurück)
delayedBox mit ZeitangabeAktion startet erst nach Ablauf der angegebenen Zeit
limitedBox mit ZeitbegrenzungAktion endet automatisch nach der angegebenen Zeit
pulseBox mit ImpulssymbolEinzelner kurzer Impuls bei Aktivierung des Schritts
conditionalBox mit BedingungslinieAktion 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 Verbindung
  • sourceID des Quell-Symbols (von wo die Linie startet)
  • targetID des Ziel-Symbols (wo die Linie endet)
  • sourceHandleAnschlusspunkt am Quell-Symbol
  • targetHandleAnschlusspunkt am Ziel-Symbol
  • typeArt der Wirkungslinie

Linientypen

labeledEdge
Standard-Wirkungslinie – Standardverbindung mit Beschriftung. Verbindet Schritte mit Transitionen und Transitionen mit Schritten (Standardtyp).
defaultEdge
Einfache Wirkungslinie – Einfache Verbindung ohne Beschriftung.
loopEdge
Rückführungslinie – Gekrümmte Linie für Rückführungen und Sprünge.

Anschlusspunkte

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