Funções Modbus RTU

Bom dia meus amigos. Estou tentando escrever em um registrador Modbus RTU usando o scadaBR 1.2 em um controlar de Geradores do modelo K30-KVA, acontece que faço a leitura dos holding registrar facilmente, mas quando preciso escrever, não tenho sucesso.
Notei que os registradores apresentam uma pequena diferença no que se refere a função:

Pelo manual do fabricante, preciso escrever um valor no registrador HR 30006 que opera sobre a função 0x06, ou seja, uma escrita simples no registrador usando a função 0x06

1000153381

Quando faço apenas leitura no HR com a função 0x03, o equipamento responde normalmente.

O scadaBR 1.2 é compatível com a função 0x06 do Modbus?

Quando uso o localizador de ponto, encontro somente a opção Registrador holding .

A biblioteca de comunicação Modbus do ScadaBR de fato trabalha “por baixo dos panos”, não deixando visível ao usuário qual o código da função Modbus que é utilizada nas leituras/escritas.

Entretanto, eu suponho que o ScadaBR utilize a função 0x06 para escrever em registradores holding quando a opção Apenas quantidades contíguas está desmarcada e utilize a função 0x10 quando a referida opção está marcada. Porém, o melhor jeito de confirmar isso é testando na prática. Infelizmente não existe documentação da biblioteca Modbus disponível, por se tratar de código legado do Mango M2M.

Bom dia Celso, agradeço a atenção.

Mesmo não conseguindo inserir o datapoint, resolvi fazer um teste, criando o ponto holding e quando habilitava, aparecia a falha como alarme de leitura e mesmo assim, resolvi escrever no datapoint e para a minha surpresa, a escrita foi realizada com sucesso!

Conclui que o meu equipamento de Campo tem um registrador Modbus que aceita apenas escrita e não aceita solicitação de leitura… Kkkk muito louco né.

Bom, para resolver meu BO, desabilitei os alarmes para falha de leitura e soquei a bota nos comandos e funcionou perfeitamente.

Vou pesquisar se tem como criar um datapoint apenas de escrita que não seja verificado pelo datasource constantemente.

Agora preciso aprender como escrever em um holding register só clicar em um botão, tipo clica no botão e ele escreve um valor pre determinado no data point …

Com certeza tem alguma coisa aqui no fórum, o pessoal é fera.

Abraço.

1 curtida