Como acessar memórias D nos CLPs programados na linguagem ladder ?
Como acessar memórias D nos CLPs programados na linguagem ladder ?
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 ?
- Jean Bortolon
- Administrador
- Posts: 22
- Joined: Wed Oct 07, 2020 1:00 pm
Re: Como acessar memórias D nos CLPs programados na linguagem ladder ?
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
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