heartbeat no GOOSE: conceito, função e onde se aplica
heartbeat no GOOSE: conceito, função e onde se aplica. Entenda o mecanismo, os parâmetros relevantes, como validar em campo e quais evidências usar no diagnóstico.
GOOSE — campos Ethernet que precisam coincidir
| Campo | Referência | Como comprovar |
|---|---|---|
| EtherType | 0x88B8 | Decodificação Ethernet/Wireshark. |
| MAC multicast | 01-0C-CD-01-00-00 … 01-0C-CD-01-01-FF | Frame publicado e porta do subscriber. |
| 802.1Q VID | 12 bits; projeto define o VLAN ID | Tag no frame + configuração das portas/trunks. |
| PCP | 3 bits (0–7) | Tag 802.1Q + mapeamento da fila no switch. |
| APPID | 16 bits | Frame GOOSE e configuração SCL dos participantes. |
Matriz específica — heartbeat / fundamentos
| Campo/elemento | Valor ou representação | Como fechar a evidência |
|---|---|---|
| APPID · fundamentos | 16 bits | Confirmar fluxo configurado. |
| stNum · fundamentos | estado | Incrementa quando DataSet muda. |
| sqNum · fundamentos | retransmissão | Cresce no mesmo estado e evidencia gaps. |
| ConfRev / TAL · fundamentos | revisão / validade | Comparar SCL e expiração no subscriber. |
A matriz foi escolhida pelo foco “heartbeat” e pela lente “fundamentos”; referências normativas e limites de fabricante continuam prevalecendo.
GOOSE — APPID, stNum, sqNum e ConfRev no mesmo diagnóstico
| Campo | O que representa | Mudança esperada | Falha que evidencia |
|---|---|---|---|
| APPID | Identificador de aplicação do fluxo GOOSE | Permanece coerente com o control block | Fluxo/publicação diferente do esperado. |
| stNum | Número do estado do DataSet | Incrementa quando o estado publicado muda | Lógica/DataSet não mudou apesar do processo. |
| sqNum | Sequência de retransmissões do mesmo estado | Reinicia no novo estado e cresce nas repetições | Gap, perda ou captura incompleta. |
| ConfRev | Revisão da configuração | Permanece igual à revisão esperada pelo subscriber | Publisher/subscriber com engenharia divergente. |
| TimeAllowedToLive | Validade temporal da mensagem | Compatível com o próximo intervalo de publicação | Subscriber declara perda do publisher após expiração. |
| EtherType | GOOSE diretamente sobre Ethernet | 0x88B8 | Dissector/protocolo diferente do esperado. |
Mapa técnico de heartbeat: quem produz, quem consome e o que pode falhar
GOOSE retransmite rapidamente após mudança de estado e aumenta gradualmente o intervalo até um heartbeat de estado estável. Isso entrega baixa latência sem exigir tráfego máximo permanente.
No desenho de GOOSE, localize heartbeat entre origem e destino e marque quais elementos dependem de dataset correto, timeout, perda de mensagens. A definição deve permitir responder quem produz a informação, quem toma a decisão, onde o estado é mantido e qual evidência aparece primeiro quando algo sai do esperado.
A cadeia causal de heartbeat: o que muda e onde observar
Documente tempos mínimos/máximos suportados e verifique se a classe de desempenho da aplicação é atendida. QoS e arquitetura devem suportar rajadas simultâneas após eventos de sistema.
Comece com uma troca mínima conhecida e depois acrescente eventos, exceções, temporização e funções opcionais. Uma sessão estabelecida não é critério suficiente: tipo, endereço, qualidade, sequência e tempo precisam chegar ao destino com a mesma semântica. Neste artigo, acompanhe prioridade, dataset correto, timeout, perda de mensagens como uma cadeia causal: condição de entrada → estado interno → decisão → saída → evidência. Esse percurso evita repetir definições e obriga cada bloco do texto a acrescentar um nível novo de explicação.
Parâmetros e campos de heartbeat: significado, efeito e validação
Os itens abaixo não são apenas nomes de configuração. Para cada parâmetro ou campo, o artigo registra o que ele representa, o efeito prático de um valor/estado incorreto e a evidência usada para confirmar a interpretação. Valores default e faixas exatas que dependem de fabricante ou firmware devem ser confirmados na documentação do equipamento, mas a relação causa → efeito precisa permanecer válida entre implementações.
Ao alterar heartbeat, mude uma variável por vez e preserve o baseline. Um valor só deve ser considerado adequado quando o efeito esperado aparece na captura, no contador, no log ou no processo e quando a condição degradada continua dentro do requisito.
- GoCBRef — O que é: elemento de engenharia relacionado a heartbeat dentro de GOOSE; deve ser identificado pela representação real usada no equipamento/protocolo. Efeito: Seu valor ou estado altera a interação com heartbeat; documente dependências e limite em vez de copiar um valor de outro projeto. Validar: comparar condição normal e uma alteração controlada usando endereço como evidência objetiva.
- DatSet — O que é: elemento de engenharia relacionado a heartbeat dentro de GOOSE; deve ser identificado pela representação real usada no equipamento/protocolo. Efeito: Seu valor ou estado altera a interação com heartbeat; documente dependências e limite em vez de copiar um valor de outro projeto. Validar: comparar condição normal e uma alteração controlada usando campo como evidência objetiva.
- ConfRev — O que é: campo operacional de GOOSE usado para identificar fluxo, estado, retransmissão, revisão ou validade temporal. Efeito: Valores incoerentes com SCL/subscriber podem causar rejeição, perda de atualização ou interpretação de estado obsoleto. Validar: comparar frame capturado com SCD/CID e observar a transição do campo durante mudança real do DataSet.
- TAL — O que é: campo operacional de GOOSE usado para identificar fluxo, estado, retransmissão, revisão ou validade temporal. Efeito: Valores incoerentes com SCL/subscriber podem causar rejeição, perda de atualização ou interpretação de estado obsoleto. Validar: comparar frame capturado com SCD/CID e observar a transição do campo durante mudança real do DataSet.
- TimeAllowedToLive — O que é: campo operacional de GOOSE usado para identificar fluxo, estado, retransmissão, revisão ou validade temporal. Efeito: Valores incoerentes com SCL/subscriber podem causar rejeição, perda de atualização ou interpretação de estado obsoleto. Validar: comparar frame capturado com SCD/CID e observar a transição do campo durante mudança real do DataSet.
- stNum — O que é: campo operacional de GOOSE usado para identificar fluxo, estado, retransmissão, revisão ou validade temporal. Efeito: Valores incoerentes com SCL/subscriber podem causar rejeição, perda de atualização ou interpretação de estado obsoleto. Validar: comparar frame capturado com SCD/CID e observar a transição do campo durante mudança real do DataSet.
Da bancada à operação: um cenário para aplicar heartbeat
Parta de um caso de heartbeat que hoje funciona e transforme-o em referência. Capture a troca associada a prioridade, registre o comportamento de dataset correto e identifique como timeout aparece no equipamento de destino. Em seguida altere uma única condição controlada. A comparação entre os dois casos deve revelar a primeira divergência, evitando que timeout, rede e aplicação sejam ajustados ao mesmo tempo.
Não encerre heartbeat com a frase “comunicação OK”. Documente o valor/estado de prioridade, a dependência de dataset correto, o limite aceitável para timeout e uma evidência de recuperação. Essa combinação separa interoperabilidade funcional de mera conectividade física ou TCP.
- Definir uma condição normal de heartbeat e salvar a evidência associada a prioridade.
- Escolher uma única variável relacionada a dataset correto e prever o efeito antes de alterar.
- Repetir o mesmo teste e comparar timeout nas mesmas medições ou campos.
- Registrar o critério que permite aceitar, rejeitar ou reverter a configuração de heartbeat.
O que acontece por dentro quando heartbeat entra em ação
Acompanhe uma operação normal de heartbeat do início ao fim e marque quando prioridade e dataset correto mudam. Depois repita o fluxo com perda de comunicação, reinício ou dado inválido para separar campos de estado, controle e transporte.
Em GOOSE, compatibilidade real aparece também nas exceções. Reconexão, overflow, mudança de sequência, perda de sincronismo ou estado inválido devem produzir reações previsíveis e observáveis nas duas pontas.
- Descrever a sequência normal de heartbeat
- Descrever uma exceção sem recorrer a “reiniciar e testar”
- Identificar o papel de prioridade
- Identificar o papel de dataset correto
Critérios objetivos para aceitar heartbeat em campo
Meça os intervalos entre frames antes e depois de uma mudança. Faça o teste com tráfego de fundo para verificar se filas não atrasam as primeiras retransmissões.
Defina a evidência antes do teste de heartbeat. Para esta categoria, sinais úteis incluem endereço, campo, estado, sequência, timestamp, qualidade. Use estado inicial conhecido, estímulo reproduzível e resultado esperado; quando houver duas pontas, registre as duas, e quando houver gateway/firewall/conversor, registre também a transformação intermediária.
- Validar prioridade em condição normal
- Forçar uma condição degradada ligada a dataset correto
- Confirmar recuperação sem perder estado, evento ou evidência relevante
- Salvar configuração, logs/captura e horário do teste como baseline
Caso bom x caso ruim: isolando a causa em heartbeat
Ausência das retransmissões iniciais aumenta risco de latência/perda; heartbeat ausente leva a timeout. Rajadas anormais podem indicar ponto oscilante ou lógica instável.
Não conclua a partir do sintoma sozinho. Para heartbeat, cruze pelo menos duas fontes de evidência e procure a primeira divergência. Se prioridade, dataset correto, timeout estão corretos mas o resultado final continua errado, avance para a próxima fronteira do sistema em vez de alterar novamente um parâmetro já comprovado.
- prioridade: registre um caso saudável, um caso com falha e a diferença objetiva em estado.
- dataset correto: registre um caso saudável, um caso com falha e a diferença objetiva em sequência.
- timeout: registre um caso saudável, um caso com falha e a diferença objetiva em timestamp.
- perda de mensagens: registre um caso saudável, um caso com falha e a diferença objetiva em qualidade.
heartbeat: dados exclusivos deste recorte (fundamentos)
Em heartbeat, GOOSE deve ser comprovado por EtherType 0x88B8, MAC multicast 01-0C-CD-01-00-00…01-0C-CD-01-01-FF, APPID, stNum, sqNum, ConfRev e TimeAllowedToLive. Quando 802.1Q é usado, registre VID e PCP até a porta do subscriber.
Nos fundamentos de heartbeat, acompanhe a transição que altera APPID e confirme como stNum reage antes, durante e depois do evento.
- APPID: 16 bits. Confirmar fluxo configurado.
- stNum: estado. Incrementa quando DataSet muda.
- sqNum: retransmissão. Cresce no mesmo estado e evidencia gaps.
- ConfRev / TAL: revisão / validade. Comparar SCL e expiração no subscriber.
heartbeat: Ethernet multicast, VLAN e prioridade do GOOSE — heartbeat / fundamentos
Nos fundamentos de heartbeat, trate GOOSE Control Block como parte de uma sequência causal: condição inicial, transição, campo alterado e reação do outro lado. GOOSE opera diretamente sobre Ethernet com EtherType 0x88B8. Endereços multicast reservados para GOOSE usam a faixa 01-0C-CD-01-00-00 a 01-0C-CD-01-01-FF. Quando 802.1Q é usado, VID e PCP precisam ser coerentes com o projeto; PCP ocupa 3 bits no tag VLAN e deve ser tratado em conjunto com filas/QoS dos switches. O critério de encerramento para heartbeat em fundamentos é obter o mesmo resultado em novo teste de GOOSE Control Block, mantendo o ponto de medição e a condição inicial.
O mecanismo de heartbeat deve ser lido a partir de ConfRev; observe qual estado antecede a mudança e qual confirmação prova que ela terminou. No diagnóstico de heartbeat, verifique MAC destino, VLAN ID, PCP, APPID e entrega na porta do subscriber. “Frame visto no trunk” não prova que ele chegou ao IED. Use port mirroring/contadores multicast e, quando possível, captura no ponto mais próximo do assinante. Para este artigo de heartbeat, a evidência ligada a ConfRev deve ser armazenada com horário, origem e condição de teste, permitindo comparação posterior.
- heartbeat · fundamentos · GOOSE Control Block: Filtro: eth.type == 0x88b8.
- heartbeat · fundamentos · GoCBRef: Confirmar MAC multicast GOOSE, VID/PCP e APPID conforme SCL/projeto.
- heartbeat · fundamentos · DatSet: Validar flooding/filtragem multicast e membership quando o switch implementar mecanismos adicionais.
- heartbeat · fundamentos · ConfRev: Correlacionar perda de GOOSE com counters, congestionamento e filas de prioridade.
heartbeat: estado GOOSE comprovado pelos campos do frame — heartbeat / fundamentos
O mecanismo de heartbeat deve ser lido a partir de sqNum; observe qual estado antecede a mudança e qual confirmação prova que ela terminou. Nos artigos de estado GOOSE, o quadro precisa ser lido campo a campo. EtherType 0x88B8 identifica GOOSE; APPID identifica o fluxo; stNum muda quando o estado do DataSet muda; sqNum avança nas retransmissões do mesmo estado; ConfRev permite verificar se publisher e subscriber usam a mesma revisão de engenharia; TimeAllowedToLive informa a validade temporal anunciada pelo publisher. Se sqNum não reproduzir o comportamento esperado em heartbeat, a hipótese deve ser revista antes de alterar outra camada do sistema.
Para explicar por que heartbeat funciona, use heartbeat como ponto de partida e siga a mudança até o efeito mensurável no protocolo ou processo. Para heartbeat, provoque uma mudança conhecida no DataSet e salve uma captura que contenha pelo menos o frame anterior, o primeiro frame após a transição e algumas retransmissões. O padrão esperado é stNum incrementar no novo estado e sqNum reiniciar a sequência e voltar a crescer. Se ConfRev não corresponde ao arquivo SCL implantado, Ethernet, VLAN e multicast podem estar perfeitos e mesmo assim a aplicação rejeitar o fluxo. O critério de encerramento para heartbeat em fundamentos é obter o mesmo resultado em novo teste de heartbeat, mantendo o ponto de medição e a condição inicial.
- heartbeat · fundamentos · TimeAllowedToLive: Filtro Wireshark: eth.type == 0x88b8; registrar MAC destino, APPID, stNum, sqNum, ConfRev e TimeAllowedToLive.
- heartbeat · fundamentos · stNum: Comparar ConfRev capturado com a revisão no SCD/CID realmente carregado.
- heartbeat · fundamentos · sqNum: Medir o intervalo das retransmissões rápidas e o heartbeat em regime.
- heartbeat · fundamentos · retransmissão: Na perda de publisher, medir o tempo até TimeAllowedToLive expirar no subscriber.
Referências técnicas e normas
As explicações do Portal são autorais. Normas e fontes oficiais são priorizadas; materiais acadêmicos e documentação pública de fabricantes complementam a implementação e não substituem a edição normativa aplicável ao projeto.
- IEC 61850:2026 SER — Communication networks and systems for power utility automation — IEC. Pacote oficial da série IEC 61850 disponível no catálogo IEC em 2026.
- IEC TR 61850-1-1:2026 — Introduction and overview — IEC. Introdução e visão geral atualizada da série IEC 61850.
- IEC 61850-8-1:2011+AMD1:2020 CSV — IEC. Mapeamentos para MMS e ISO/IEC 8802-3; inclui o mapeamento de GOOSE em Ethernet.
- ITT600 — Integrated Testing Tool — Hitachi Energy. Exemplo de ferramenta de fabricante para explorar SCL, MMS, GOOSE, SV, simulação e diagnóstico de IEC 61850.
Continue estudando
Os próximos conteúdos foram escolhidos para formar uma sequência técnica, relacionando fundamento, configuração, diagnóstico e aplicação.