Pergunta
Resposta
A tabela a seguir apresenta a correspondência entre os diferentes tipos de variáveis do CLP G3/G3S com os tags a serem configurados no cliente que utilizará o servidor MPLserver. Considere como exemplo que deseja-se obter a primeira variavel do tipo ou, seja M0 para memórias inteiras, R0 para contatos etc.
TIPO DADO | Variável CLP | TAG OPC (SCP-HI) | TAG OPC (MODBUS) |
---|---|---|---|
Booleano | R0 | MBx0 | MX0 |
Inteiro 16b | M0 | MW0 | MW0 |
Inteiro 32b | L0 | MD0 | MW[DW]20000 (*) |
Real | D0 | MDR0 | MW[DR]10000 (*) |
(*) Como as variáveis D e L não estão disponíveis no protocolo MODBUS, para a acesso as mesmas usamos leitura e escrita de 2 Holding Registers para obtermos os 32 bits destas variáveis. Para calcularmos o endereço MODBUS a ser utilzado na solicitação do dado, utilze as seguintes fórmulas:
- Se variável L: Endereço = Lx * 2 + 20000.
Assim, se a variável a ser lida é L10, o endereço do tag OPC será MW[DW]20020
- Se variável D: Endereço = Dx * 2 + 10000.
Assim, se a variável a ser lida é D10, o endereço do tag OPC será MW[DR]10020
ATENÇÃO
Como visto acima, para acesso as variáveis do tipo D e L é necessário endereçar Holding registrers a partir de 10000 e 20000 respectivamente. Quando o MPLServer é instalado, por default, a faixa de endereços de acesso para variáveis do tipo Holding registrers é configurada de 0 a 3000. Isto faz com que as variáveis com endereço igual ou maior que 3000 não possam ser acessadas gerando erro.
Deve-se portanto configurar no projeto carregado no MCS, utilizando a interface do MON, a quantidade de Holding registrers adequada para ler variáveis do tipo D ou L. Na imagem seguinte a faixa de endereços do tipo Holding registrer alocada para operação foi alterada de 3000 para 32000 permitindo acesso a base de variáveis D (30000 a 31999) e L (10000 a 19999) do PLC.
F1 - Reconfigurando o MPLserver para acessar em equipamentos G3/G3S variaveis L e D via Modbus.