Skip to content
Naar hoofdinhoud

.grafcetio Bestandsformaat

Technische documentatie

Het .grafcetio-formaat is een op JSON gebaseerd bestandsformaat voor het opslaan en uitwisselen van GRAFCET-diagrammen. Deze documentatie beschrijft de structuur en alle beschikbare elementen.

1. Bestandsstructuur

Een .grafcetio-bestand is een JSON-bestand met de volgende basisstructuur:

{
  "version": "1.0",
  "createdWith": "grafcet.io",
  "createdAt": "2024-01-15T10:30:00.000Z",
  "nodes": [...],
  "edges": [...],
  "counter": 5
}
  • versionVersienummer van het bestandsformaat (momenteel altijd "1.0")
  • createdWithNaam van de applicatie die het bestand heeft aangemaakt
  • createdAtAanmaaktijdstempel in ISO 8601-formaat
  • nodesArray met alle GRAFCET-symbolen (stappen, transities, acties, etc.)
  • edgesArray met alle gerichte verbindingen (verbindingen tussen symbolen)
  • counterInterne teller voor het toewijzen van unieke element-ID's

2. GRAFCET-symbolen

Alle symbolen worden opgeslagen in de "nodes"-array. Elk symbool heeft de volgende basisstructuur:

{
  "id": "step-1",
  "type": "step",
  "position": { "x": 400, "y": 240 },
  "data": { "label": "1" }
}
  • idUnieke identificatie van het symbool (bijv. "step-1", "transition-2")
  • typeType symbool (zie symbooltypen hieronder)
  • positionPositie op het canvas in pixels (x/y-coördinaten)
  • dataSymboolspecifieke gegevens zoals label, actietype, etc.

Beschikbare symbooltypen

stepStap

Vertegenwoordigt een toestand in het diagram. Weergegeven als een rechthoek met stapnummer.

Slaat op: Stapnummer (bijv. "1", "2", "10")

initialStepInitiële stap

De starttoestand van het GRAFCET, automatisch geactiveerd bij initialisatie. Weergegeven als een rechthoek met dubbele rand.

Slaat op: Stapnummer (typisch "0")

transitionTransitie

Definieert de overgangsvoorwaarde tussen stappen. Weergegeven als een horizontale lijn met voorwaardetekst.

Slaat op: Overgangsvoorwaarde (bijv. "a", "a AND b", "!x", "*" voor altijd waar)

actionActie

Beschrijft een uitgang of actie die wordt uitgevoerd wanneer de stap actief is. Wordt rechts van de bijbehorende stap geplaatst.

Slaat op: Actienaam, actietype, tijdwaarde, aanvullende voorwaarde

andNodeSimultane vertakking

Maakt parallelle sequenties in GRAFCET mogelijk. Weergegeven als een dubbele horizontale lijn. Kan meerdere inkomende en uitgaande verbindingen hebben.

Slaat op: Breedte (standaard: 240px), optioneel label

loopNodeLus

Terugkoppelingssymbool in GRAFCET. Weergegeven als een verticale lijn met een naar boven wijzende driehoekspijl. Twee symbolen met hetzelfde referentieteken vervangen een lange terugkoppelingslijn.

Slaat op: Referentieteken (bijv. "*", "A")

textTekstaantekening

Vrij tekstveld voor opmerkingen en aantekeningen in het diagram. Maakt geen deel uit van de GRAFCET-logica.

Slaat op: Weergavetekst, lettergrootte, vetgedrukt

enclosingStepOmsluitende stap

Stap die een deelsequentie (omsluiting) bevat. Weergegeven als een rechthoek met twee verticale lijnen.

Slaat op: Stapnummer

macroStepMacrostap

Verwijst naar een deel-GRAFCET (macro-uitbreiding). Weergegeven als een rechthoek met twee horizontale lijnen.

Slaat op: Macronummer

startTransitionBrontransitie

Transitie zonder voorafgaande stap die altijd vrijgegeven is (IEC 60848).

Slaat op: Overgangsvoorwaarde

pitTransitionEindtransitie

Transitie zonder opvolgende stap; deactiveert de voorafgaande stap.

Slaat op: Overgangsvoorwaarde

forcedCommandForcering

Forceert een toestand in een ander GRAFCET. Weergegeven als een box met dubbele rand.

Slaat op: Aanduiding, actietype, tijdwaarde, aanvullende voorwaarde

orNodeAlternatieve vertakking

Keuze tussen alternatieve takken (OF-vertakking/-samenvoeging). Weergegeven als een enkele horizontale lijn.

Slaat op: Breedte, optioneel label

boxNodeCommentaarkader

Kader om gebieden te groeperen of van commentaar te voorzien. Maakt geen deel uit van de GRAFCET-logica.

Slaat op: Breedte, hoogte, bovenste label (nummer), onderste label (naam)

startLoopTerugkoppeling (start)

Startsymbool van een sprong/terugkoppeling; verwijst via een gemeenschappelijk referentieteken naar het sprongdoel.

Slaat op: Referentieteken

endLoopTerugkoppeling (doel)

Doelsymbool van een sprong/terugkoppeling.

Slaat op: Referentieteken

Actie:

{
  "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. Actietypen (IEC 60848)

Acties kunnen verschillende typen hebben die hun gedrag bepalen. Het actietype wordt grafisch weergegeven:

ActietypeWeergaveBeschrijving
continuousEenvoudige boxActie is actief zolang de bijbehorende stap actief is
setBox met pijl ↑Actie wordt ingeschakeld en blijft actief na deactivering van de stap
resetBox met pijl ↓Actie wordt uitgeschakeld (reset een eerder ingestelde actie)
delayedBox met tijdaanduidingActie start pas na het verstrijken van de opgegeven tijd
limitedBox met tijdslimietActie eindigt automatisch na de opgegeven tijd
pulseBox met impulssymboolEnkele korte impuls bij activering van de stap
conditionalBox met voorwaardenlijnActie wordt alleen uitgevoerd als de aanvullende voorwaarde is vervuld

4. Gerichte verbindingen

Gerichte verbindingen verbinden de GRAFCET-symbolen en definiëren de stroom. Ze worden opgeslagen in de "edges"-array.

{
  "id": "e-step-1-transition-1",
  "source": "step-1",
  "sourceHandle": "bottom",
  "target": "transition-1",
  "targetHandle": "top",
  "type": "defaultEdge"
}
  • idUnieke identificatie van de verbinding
  • sourceID van het bronsymbool (waar de lijn begint)
  • targetID van het doelsymbool (waar de lijn eindigt)
  • sourceHandleVerbindingspunt op het bronsymbool
  • targetHandleVerbindingspunt op het doelsymbool
  • typeType gerichte verbinding

Verbindingstypen

labeledEdge
Standaard gerichte verbindingStandaardverbinding met label. Verbindt stappen met transities en transities met stappen (standaardtype).
defaultEdge
Eenvoudige gerichte verbindingEenvoudige verbinding zonder label.
loopEdge
TerugkoppelingslijnGebogen lijn voor terugkoppelingen en sprongen.

Verbindingspunten

Elk symbool heeft gedefinieerde verbindingspunten voor gerichte verbindingen:

  • "top" - Ingang van boven
  • "bottom" - Uitgang naar beneden
  • "left" - Ingang van links (voor acties)
  • "right" - Uitgang naar rechts (voor actieverbindingen)
  • Voor simultane vertakkingen: "handle-0", "handle-1", ... (boven) en "source-0", "source-1", ... (onder)

Editor uitproberen

Maak je eigen GRAFCET-diagram en exporteer het als .grafcetio-bestand!

Naar de editor
.grafcetio Bestandsformaat | Documentatie