Estudo de caso: Depurando um problema de Reports no Driver IEC61850.

Descrição:

Quando a opção Prefer Buffered Report Control Blocks (Uses Unbuffered if not available) do driver IEC61850 está habilitada, não é possível estabelecer comunicação com o relé. Por que a comunicação só é estabelecida quando a opção Poll Tags not Found in any Report é habilitada?

Solução:

Para identificar e solucionar este problema, foram seguidos estes procedimentos:

1. Foram habilitados os logs de comunicação do driver IEC61850 (na aba Setup das configurações do driver, opção Log to File:), e a comunicação foi estabelecida selecionando a opção Ativar/Desativar comunicação.

2. Nos logs de comunicação, verificamos que a conexão do driver com o equipamento foi bem sucedida, o que resultou na figura abaixo:

3. Após a confirmação de que o driver estava conectado, verificamos que ele estava adicionando tags ao limbo, de acordo com a figura abaixo:

O limbo é o local do driver onde são armazenados os tags que não podem ser lidos. Se o driver não encontrar os reports, e nem tampouco o polling estiver habilitado, os tags ficarão nesta lista pendente até que algum evento aconteça. Esse evento pode ser a criação de um novo report ou a liberação de um report que estiver ocupado por outro client. Para isto, o driver verifica o estado de todos os reports periodicamente a cada 30 segundos.

4. No caso que estamos estudando, nenhum report foi encontrado.

5. Continuando esta análise, foi selecionado um tag qualquer (pode ser o primeiro da lista de adicionados ao limbo):

09/04/2014 17:33:09.537 (05F4) DRIVER Add To Limbo ZMHPDIS1$ST$Op$general

6. Logo após, foram analisados todos os LogicalNodes do IED a fim de verificar se os reports e os datasets foram criados. A análise foi feita abrindo todos os arquivos LD do IED correspondente (o destino dos arquivos LD é configurado na opção LD File Path na aba IEC61850 General da configuração do driver).

7. Ao final de cada arquivo LD, há duas seções chamadas **DataSets** e **Reports**. A imagem abaixo ilustra estas seções:

8. No exemplo acima, é possível ver que não há nenhum dataset, então buscamos o arquivo LD que contém os datasets. A figura abaixo demonstra o arquivo LD com os datasets configurados:

Na figura acima, foram verificados dois datasets onde pode-se ver todos os itens neles mapeados.

9. É comum que todos os datasets sejam configurados em um só Logical Node; portanto, o próximo passo foi encontrar o tag ZMHPDIS1$ST$Op$general em um dos datasets encontrados. Como mostrado na figura do item anterior, o dataset LLN0$PROTECOES;110;0 contém este tag. Considerando que o tag estava em um dataset, a comunicação deveria estar funcionando.

10. Neste caso, foi verificado que o problema está no report. O primeiro ponto é verificar se o dataset está associado a algum report. O report que utiliza o dataset precisa estar no mesmo Logical Device que o dataset.

11. Foi então verificado se o arquivo LD continha algum report. Neste momento, alguns pontos devem ser cuidados.

  • Os reports NÃO estão na seção Reports do arquivo .LD , como pode ser visto na imagem abaixo:
  • Para encontrar os reports no arquivo LD, faça uma busca pela Functional Constraint $BR. Neste caso, foram encontrados os seguintes reports:

12. Após encontrar os Reports, o problema ficou visível. Pela norma, os buffered reports precisam começar com o nome brcbXXXX, e os unbuffered com rcbXXXX ou urcbXXXX. Note que o cliente criou os reports com os nomes LLN0$BR$SUPERVISORIO01 e LLN0$BR$SUPERVISORIO.

Os nomes dos Reports Buffered também podem começar com br ou BR.
Os nomes dos Reports Unbuffered também podem começar com UR, rcb ou RCB.

13. Ou seja, o problema foi que o report criado está fora do padrão, e o driver não identifica isto como correto. Para resolver este problema, o cliente precisa renomear o nome do report para brcbSUPERVISORIO, ou para qualquer outro nome que comece com o prefixo brcb.

Informações adicionais

1. Após alterar as configuração dos reports, deve-se atualizar os arquivos .LDs. Neste caso, há duas opções: trazer os dados online, fazendo um novo browse e confirmando para apagar; ou apagar os arquivos .LD manualmente (estes serão depois gerados novamente pelo driver). Há uma terceira possibilidade, que é monitorar a versão dos reports, mas neste caso, como nenhum foi encontrado, ela não será válida.

2. Outros problemas encontrados nos logs:

  • “DRIVER Server does not support creation of datasets. Degrading to standard server-defined datasets usage..”: este erro significa que o usuário habilitou a opção de utilizar datasets dinâmicos, mas o IED não suporta essa funcionalidade.
  • “DRIVER Error Opening File C:\XXXXXX.LD Error Code =3,O sistema não pode encontrar o caminho especificado”: o arquivo .LD não foi encontrado no diretório informado no campo LDFilePath.
Print Friendly, PDF & Email

Este artigo foi útil? Was this helpful?

Classificação média - Average rating 5 / 5. Count: 1

Thoughts on “Estudo de caso: Depurando um problema de Reports no Driver IEC61850.

  1. Estou com o problema reportado no final do artigo:
    “DRIVER Error Opening File C:\XXXXXX.LD Error Code =3,O sistema não pode encontrar o caminho especificado”: o arquivo .LD não foi encontrado no diretório informado no campo LDFilePath.
    Porém em uma versão da DLL do driver, os arquivos .LD são criados, mas na versão mais nova não são criados.

    1. Bom dia Willian,

      A criação do arquivo .LD se dá em duas situações, importação dos IOTag’s (seja online ou offline), ou no início da comunicação com IED’s.

      Qual a versão que você está utilizando? Não houveram mudanças significativas (em relação a criação dos arquivos LD’s) nas versões mais recentes do Driver IEC61850, e portanto, peço que você tente fazer a reimportação dos IOTag’s, lembrando de configurar a propriedade LDFilePath. Um arquivo LD deve ser criado para cada Logical Device encontrado no equipamento.

      Se o problema persistir, favor entrar em contato através do e-mail eduardo@elipse.com.br, anexando o arquivo .icd do IED em questão.

Leave a Reply

Your email address will not be published.Required fields are marked *