Skip to content
Saltar para o conteúdo principal

Formato de arquivo .grafcetio

Documentação técnica

O formato .grafcetio é um formato de arquivo baseado em JSON para armazenar e trocar diagramas GRAFCET. Esta documentação descreve a estrutura e todos os elementos disponíveis.

1. Estrutura do arquivo

Um arquivo .grafcetio é um arquivo JSON com a seguinte estrutura básica:

{
  "version": "1.0",
  "createdWith": "grafcet.io",
  "createdAt": "2024-01-15T10:30:00.000Z",
  "nodes": [...],
  "edges": [...],
  "counter": 5
}
  • versionNúmero da versão do formato (atualmente sempre "1.0")
  • createdWithNome do aplicativo que criou o arquivo
  • createdAtTimestamp de criação no formato ISO 8601
  • nodesArray com todos os símbolos GRAFCET (etapas, transições, ações, etc.)
  • edgesArray com todas as linhas de ligação (conexões entre símbolos)
  • counterContador interno para atribuição de IDs únicos

2. Símbolos GRAFCET

Todos os símbolos são armazenados no array "nodes". Cada símbolo tem a seguinte estrutura básica:

{
  "id": "step-1",
  "type": "step",
  "position": { "x": 400, "y": 240 },
  "data": { "label": "1" }
}
  • idIdentificador único do símbolo (ex: "step-1", "transition-2")
  • typeTipo de símbolo (veja tipos abaixo)
  • positionPosição no canvas em pixels (coordenadas x/y)
  • dataDados específicos do símbolo como rótulo, tipo de ação, etc.

Tipos de símbolos disponíveis

stepEtapa

Representa um estado no diagrama. Exibida como um retângulo com número da etapa.

Armazena: Número da etapa (ex: "1", "2", "10")

initialStepEtapa inicial

O estado inicial do GRAFCET, ativado automaticamente na inicialização. Exibida como um retângulo com borda dupla.

Armazena: Número da etapa (tipicamente "0")

transitionTransição

Define a condição de transição entre etapas. Exibida como uma linha horizontal com texto da condição.

Armazena: Condição de transição (ex: "a", "a AND b", "!x", "*" para sempre verdadeiro)

actionAção

Descreve uma saída ou ação executada quando a etapa está ativa. Posicionada à direita da etapa associada.

Armazena: Nome da ação, tipo de ação, valor de tempo, condição adicional

andNodeDivergência simultânea

Permite sequências paralelas no GRAFCET. Exibida como uma linha horizontal dupla.

Armazena: Largura (padrão: 240px), rótulo opcional

loopNodeCiclo

Símbolo de retroalimentação no GRAFCET. Exibido como uma linha vertical com uma seta triangular para cima. Dois símbolos com o mesmo marcador de referência substituem uma longa linha de retroalimentação.

Armazena: Marcador de referência (ex: "*", "A")

textAnotação de texto

Campo de texto livre para comentários e anotações. Não faz parte da lógica GRAFCET.

Armazena: Texto a exibir, tamanho da fonte, negrito

enclosingStepEtapa de inclusão

Etapa que contém uma sequência parcial (inclusão). Exibida como um retângulo com duas linhas verticais.

Armazena: Número da etapa

macroStepMacroetapa

Faz referência a um GRAFCET parcial (expansão de macro). Exibida como um retângulo com duas linhas horizontais.

Armazena: Número da macro

startTransitionTransição fonte

Transição sem etapa precedente, sempre habilitada (IEC 60848).

Armazena: Condição de transição

pitTransitionTransição sumidouro

Transição sem etapa seguinte; desativa a etapa precedente.

Armazena: Condição de transição

forcedCommandForçamento

Força um estado em outro GRAFCET. Exibido como uma caixa com borda dupla.

Armazena: Designação, tipo de ação, valor de tempo, condição adicional

orNodeDivergência alternativa

Seleção entre ramos alternativos (divergência/convergência OU). Exibida como uma única linha horizontal.

Armazena: Largura, rótulo opcional

boxNodeMoldura de comentário

Moldura para agrupar ou anotar áreas. Não faz parte da lógica GRAFCET.

Armazena: Largura, altura, rótulo superior (número), rótulo inferior (nome)

startLoopRetorno (início)

Símbolo de início de um salto/retorno; faz referência ao destino por meio de um marcador de referência comum.

Armazena: Marcador de referência

endLoopRetorno (destino)

Símbolo de destino de um salto/retorno.

Armazena: Marcador de referência

Ação:

{
  "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. Tipos de ações (IEC 60848)

As ações podem ter diferentes tipos que determinam seu comportamento. O tipo de ação é representado graficamente:

Tipo de açãoRepresentaçãoDescrição
continuousCaixa simplesA ação está ativa enquanto o passo associado estiver ativo
setCaixa com seta ↑A ação é ativada e permanece ativa após a desativação do passo
resetCaixa com seta ↓A ação é desativada (redefine uma ação previamente ativada)
delayedCaixa com anotação temporalA ação começa somente após o tempo especificado
limitedCaixa com limite de tempoA ação termina automaticamente após o tempo especificado
pulseCaixa com símbolo de impulsoImpulso único na ativação do passo
conditionalCaixa com linha de condiçãoA ação só é executada se a condição for atendida

4. Linhas de ligação

As linhas de ligação conectam os símbolos GRAFCET e definem o fluxo. São armazenadas no array "edges".

{
  "id": "e-step-1-transition-1",
  "source": "step-1",
  "sourceHandle": "bottom",
  "target": "transition-1",
  "targetHandle": "top",
  "type": "defaultEdge"
}
  • idIdentificador único da conexão
  • sourceID do símbolo de origem (onde a linha começa)
  • targetID do símbolo de destino (onde a linha termina)
  • sourceHandlePonto de conexão no símbolo de origem
  • targetHandlePonto de conexão no símbolo de destino
  • typeTipo de linha de ligação

Tipos de linhas

labeledEdge
Linha de ligação padrãoConexão padrão com rótulo. Conecta etapas com transições e transições com etapas (tipo padrão).
defaultEdge
Linha de ligação simplesConexão simples sem rótulo.
loopEdge
Linha de retornoLinha curva para retornos e saltos.

Pontos de conexão

Cada símbolo tem pontos de conexão definidos para as linhas:

  • "top" - Entrada de cima
  • "bottom" - Saída para baixo
  • "left" - Entrada da esquerda (para ações)
  • "right" - Saída para a direita (para linhas de ação)
  • Para divergências: "handle-0", "handle-1", ... (acima) e "source-0", "source-1", ... (abaixo)

Experimente o editor

Crie seu próprio diagrama GRAFCET e exporte-o como arquivo .grafcetio!

Ir para o editor
Formato de arquivo .grafcetio | Documentação