Formato de archivo .grafcetio
Documentación técnica
El formato .grafcetio es un formato de archivo basado en JSON para almacenar e intercambiar diagramas GRAFCET. Esta documentación describe la estructura y todos los elementos disponibles.
1. Estructura del archivo
Un archivo .grafcetio es un archivo JSON con la siguiente estructura básica:
{
"version": "1.0",
"createdWith": "grafcet.io",
"createdAt": "2024-01-15T10:30:00.000Z",
"nodes": [...],
"edges": [...],
"counter": 5
}versionNúmero de versión del formato (actualmente siempre "1.0")createdWithNombre de la aplicación que creó el archivocreatedAtMarca de tiempo de creación en formato ISO 8601nodesArray con todos los símbolos GRAFCET (etapas, transiciones, acciones, etc.)edgesArray con todas las líneas de enlace (conexiones entre símbolos)counterContador interno para asignar IDs únicos
2. Símbolos GRAFCET
Todos los símbolos se almacenan en el array "nodes". Cada símbolo tiene la siguiente estructura básica:
{
"id": "step-1",
"type": "step",
"position": { "x": 400, "y": 240 },
"data": { "label": "1" }
}idIdentificador único del símbolo (ej: "step-1", "transition-2")typeTipo de símbolo (ver tipos abajo)positionPosición en el lienzo en píxeles (coordenadas x/y)dataDatos específicos del símbolo como etiqueta, calificador, etc.
Tipos de símbolos disponibles
stepEtapaRepresenta un estado en el diagrama. Se muestra como un rectángulo con número de etapa.
Almacena: Número de etapa (ej: "1", "2", "10")
initialStepEtapa inicialEl estado de inicio del GRAFCET, activado automáticamente en la inicialización. Se muestra como un rectángulo con borde doble.
Almacena: Número de etapa (típicamente "0")
transitionTransiciónDefine la condición de transición entre etapas. Se muestra como una línea horizontal con texto de condición.
Almacena: Condición de transición (ej: "a", "a AND b", "!x", "*" para siempre verdadero)
actionAcciónDescribe una salida o acción ejecutada cuando la etapa está activa. Se coloca a la derecha de la etapa asociada.
Almacena: Nombre de acción, calificador (N/S/R/D/L/P/C), valor de tiempo para D/L, condición adicional para C
andNodeDivergencia simultáneaPermite secuencias paralelas en GRAFCET. Se muestra como una doble línea horizontal.
Almacena: Ancho (predeterminado: 240px), etiqueta opcional
loopNodeBucleSímbolo de retroalimentación en el GRAFCET. Se muestra como una línea vertical con una flecha triangular hacia arriba. Dos símbolos con el mismo marcador de referencia reemplazan una línea de retroalimentación larga.
Almacena: Marcador de referencia (ej: "*", "A")
textAnotación de textoCampo de texto libre para comentarios y anotaciones. No es parte de la lógica GRAFCET.
Almacena: Texto a mostrar
Acción:
{
"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. Calificadores de acción (IEC 60848)
Las acciones pueden tener calificadores que determinan su comportamiento:
| Código | Nombre | Descripción |
|---|---|---|
N | Continuo | La acción está activa mientras la etapa asociada está activa |
S | Almacenado (Set) | La acción se activa y permanece activa después de desactivar la etapa |
R | Almacenado (Reset) | La acción se desactiva (restablece una acción previamente activada) |
D | Retardado | La acción comienza solo después del tiempo especificado (requiere valor de tiempo) |
L | Limitado | La acción termina automáticamente después del tiempo especificado (requiere valor de tiempo) |
P | Pulso | Pulso corto único cuando se activa la etapa |
C | Condicional | La acción solo se ejecuta si se cumple la condición adicional |
4. Líneas de enlace
Las líneas de enlace conectan los símbolos GRAFCET y definen el flujo. Se almacenan en el array "edges".
{
"id": "e-step-1-transition-1",
"source": "step-1",
"sourceHandle": "bottom",
"target": "transition-1",
"targetHandle": "top",
"type": "defaultEdge"
}idIdentificador único de la conexiónsourceID del símbolo de origen (donde comienza la línea)targetID del símbolo de destino (donde termina la línea)sourceHandlePunto de conexión en el símbolo de origentargetHandlePunto de conexión en el símbolo de destinotypeTipo de línea de enlace
Tipos de líneas
defaultEdgeactionEdgePuntos de conexión
Cada símbolo tiene puntos de conexión definidos para las líneas:
- "top" - Entrada desde arriba
- "bottom" - Salida hacia abajo
- "left" - Entrada desde la izquierda (para acciones)
- "right" - Salida hacia la derecha (para líneas de acción)
- Para divergencias: "handle-0", "handle-1", ... (arriba) y "source-0", "source-1", ... (abajo)