Todos os estados da máquina de estados FSoE

A conexão FSoE (Fail Safe over EtherCAT) é governada por uma máquina de estados pequena e determinística. Tanto o master quanto o slave executam sua própria cópia da máquina, e as duas cópias avançam em lock-step trocando o comando FSoE correto em cada Safety PDU. Após o power-on, ou sempre que um erro de comunicação é detectado, a conexão retorna ao estado Reset e recomeça.

O diagrama abaixo mostra todos os estados e todas as transições em uma única visão vertical. Cada estado corresponde a um dos comandos FSoE, e os três rótulos de transição — OK, STAY e NOT_OK — descrevem como o comando recebido se compara ao estado que a máquina espera no momento.

Diagrama da máquina de estados FSoEMáquina de estados vertical com cinco estados: Reset, Session, Connection, Parameter e Data. OK avança para baixo, STAY mantém o estado atual e NOT_OK retorna a Reset.ResetSessionConnectionParameterDataOKOKOKOKOKSTAYSTAYSTAYSTAYSTAYNOT_OKNOT_OKNOT_OKNOT_OKNOT_OK

Como ler o diagrama

Os três tipos de transição são avaliados a partir do comando recebido no Safety PDU do peer:

TransiçãoSignificadoResultado
OKO comando recebido é o próximo estado esperado.Avançar um degrau para baixo na escada (ou permanecer em Data, uma vez alcançado).
STAYO comando recebido é o mesmo do estado atual.Permanecer no estado atual e aguardar.
NOT_OKO comando recebido é inesperado ou ocorreu um erro de CRC/watchdog.Retornar imediatamente a Reset.

Cada estado também envia seu próprio comando no PDU de saída, de modo que os dois peers avançam juntos. Por exemplo, enquanto o master está no estado Session, ele envia o comando Session e espera que o slave responda com Connection (OK) para avançar, Session (STAY) para aguardar, ou qualquer outra coisa (NOT_OK) para retornar a Reset.

Os cinco estados

1. Reset

Este é o estado de entrada após o power-on, após um restart (“reset connection”) ou sempre que um erro de comunicação FSoE é detectado. Em Reset, nenhum dado de segurança do usuário é trocado; o PDU carrega o comando Reset e, no lado que causou o erro, um código de erro de um byte. O número de sequência e o CRC herdado são ambos limpos na entrada. Consulte FSoE Reset State PDU: Master and Slave Structure para o layout exato de bytes e a tabela de códigos de erro.

2. Session

O master sai de Reset primeiro enviando o comando Session. O slave o segue assim que recebe um Session PDU válido. Nesse estado, os dois peers trocam connection IDs e verificam se o FSoE slave address está correto. Um comando Connection do peer é o sinal de OK que move a máquina para o próximo estado.

3. Connection

No estado Connection, os peers estabelecem os parâmetros básicos de comunicação: o safety data length, o watchdog timing e o Conn_Id. A transição OK é acionada ao receber o comando Parameter. Enquanto ambos os lados ainda estão em Connection, eles continuam enviando Connection e a máquina permanece (STAY).

4. Parameter

Aqui o comando Parameter carrega os SafeParameter data que configuram a aplicação de segurança (por exemplo, conjuntos de parâmetros específicos da aplicação). Receber o comando Data é o sinal de OK para entrar no estado operacional final. Se a troca de parâmetros falhar ou demorar demais, a conexão retorna a Reset via NOT_OK.

5. Data

Este é o estado operacional normal. Dados de segurança do usuário são trocados em cada Safety PDU, e ambos os peers enviam o comando Data. Um auto-loop OK significa que a conexão permanece em Data enquanto a comunicação estiver saudável. Um auto-loop STAY normalmente não é visto em Data (não há estado superior para aguardar), mas a máquina de estados ainda trata um comando Data repetido como “permanecer em Data”. Qualquer comando inesperado ou erro de CRC/watchdog retorna a máquina a Reset.

Resumo

A máquina de estados FSoE é uma escada linear de cinco estados: Reset → Session → Connection → Parameter → Data. Uma transição verde OK move a máquina um degrau para baixo, uma transição cinza STAY a mantém onde está, e uma transição vermelha NOT_OK a devolve totalmente a Reset. Como tanto o master quanto o slave implementam a mesma máquina, toda a conexão reinicia com segurança sempre que qualquer lado detecta algo errado.

Referências

  • ETG.5100 S (D) V1.2.0, a especificação FSoE que define esses estados e transições.

Artigos relacionados

Visão geral e noções básicas

Estruturas PDU por estado

CRC

Códigos de erro e formato de dados


Check out similar posts by category: FSoE EtherCAT Safety