Page 1 of 1

Como acessar memórias D nos CLPs programados na linguagem ladder ?

Posted: Wed Nov 09, 2022 4:40 pm
by Juliana
Olá, gostaria de saber como faço para acessar memórias do tipo D (Float,Reais) em um CLP da HI Tecnologia programado na linguagem ladder no ambiente SPDSW ?

Re: Como acessar memórias D nos CLPs programados na linguagem ladder ?

Posted: Wed Nov 09, 2022 4:41 pm
by Jean Bortolon
Considerando a utilização do protocolo MODBUS (RTU ou TCP) para leitura ou escrita de memórias em ponto flutuante (D) nos controladores da HI Tecnologia, deve-se:

1) Calcular o endereço da variável D utilizando a seguinte fórmula:

Endereço = Dxxxx * 2 + Offset, onde:

Dxxxx: Número da variável D a ser obtida ou escrita no controlador;
Offset: Offset para caracterizar acesso a base D, visto que no protocolo MODBUS este tipo de variável não existe. A princípio, o valor deste offset é 10000. Alguns equipamentos e/ou aplicativos consideram como primeiro endereço de uma variável o endereço "1" ao invés de "0". Neste caso o offset deve ser acrescido de "1", devendo ser considerado como offset o valor "10001".

Exemplo 1: Para acessar a variável D5, devemos especificar o seguinte endereço:
Endereço = 5 * 2 + 10000 = 10010 (considerando que o endereçamento começa em 0) Endereço = 5 * 2 + 10001 = 10011 (considerando que o endereçamento começa em 1)

2) Obter a variável através de um comando MODBUS “Read Holding Register” solicitando 2 registros para cada variável D a ser lida do controlador. Isto é necessário porque o tipo de dado D possui tamanho de 32 bits (4 bytes), enquanto o tipo Holding Register do protocolo MODBUS espera um valor de 16 bits (2 bytes).

Por exemplo, para leitura da variável D2, deve-se montar um comando MODBUS “Read Holding Register”, especificando:

Endereço = 10004 ou 10005. Endereço da variável D2 no controlador HI.
Quantidade = 2. Quantidade de registros "Holding Register" a serem lidos no controlador HI.
O valor dos 2 registros "Holding Registers" obtidos do controlador HI correspondem a um único valor em ponto flutuante, mapeado em 4 bytes no formato IEEE.


Ainda possui dúvidas ? veja o vídeo abaixo:

- Vídeo Tutorial, acesse neste Link