RESOLVIDO-Comunicação Elipse Scada com CLP Delta DVP20SX2 em Modbus RTU

Bom dia!

Tenho uma aplicação onde devo comunicar um CLP Delta modelo DVP20SX2 com o Elipse Scada .
No CLP fiz a configuração conforme o fabricante indica , carregando na porta COM2 (RS485) o paramento 89 em hex que quer dizer o seguinte; Veloc.=9600:8Bits:Paridade None:Stop Bit 1, Modo RTU
Esta e a Configuração é a mesma do Elipse , porem so consigo ler ou escrever no Organize quando coloco na configuração Velocidade 9600:7bits:Even:1 ASCII. e somente leio o Item 6 da tabela de Modbus Operantions.

Existe alguma configuração especial para esse clp?
Qual seria a solução para esse problema?

Grato!
Marcelo F.

@asffer, bom dia.

Segundo este manual, para o CLP funcionar com a COM2 9600, 8, N, 1 em RTU, deve-se configurar o H como H81 e a Flag M1143 deve estar em ON.

Seguir o exemplo 4 do manual.

Por favor, revisar as configurações.

Abraços.

Ja tentei esse valor e também tentei






Existem alguma outra variável? Observa outro problema?

Aplicação Teste!

Grato!

Pode observar acima que tentei com varias configurações.
Já testei com o pessoal técnico do fornecedor a porta de comunicação RS485 e esta funcionando.
Fiz um Upload do CLP pela porta e fiz o monitoramento das variáveis, tudo ok.
Com o CLP da WEG e os controladores da Novus/Gefran/Incom foi bem tranquilo e foi conectar na porta fazer o teste , de boa.em nenhum dos casos mudei a configuração Modbus, so a comunicação que refiz.
Existe alguma outra alternativa ?
Grato!

@asffer, vamos lá:

Na primeira figura, veja se estou certo: configurou o Delta com o modelo H86 (9k6, 7, E, 1) e o driver com o modelo 89 (9k6, 8, N, 2)? Se sim, isto não pode ocorrer. A configuração do meio físico deve ser o mesmo para ambos. Verificar esta configuração.

Na segunda figura, OK. Configurou a M1143 para ON.

Na terceira figura, Ok. RTU e Offset corretos.

Na quarta figura, a configuração poderia estar ok, mas não condiz à configuração da primeira figura. A primeira diz que está configurada com StopBits = 2 e nesta StopBits = 1. Afinal, qual é a correta?

Na quinta figura, está tentando ler uma variável do tipo D, certo? Caso não tenha mudado as Operations do Driver, então a configuração está incorreta. Segundo as duas últimas tabela que enviou, as variáveis do tipo D são Holding Registers, entretanto no parâmetro N2 está configurado como 6 (Bit - Coil Status). Sugiro que configure como 1.

Na sexta figura, está tentando configurar uma variável do tipo M, certo? Conforme a situação da quinta figura, a configuração está incorreta, pois as variáveis M são do tipo Coil Status ou Input Status. Desta forma, sugiro que configure o N2 como 6.
Ainda sobre esta figura, o N4 pode ser colocado apenas com 800 e não 0800.

Outra sugestão quanto a configuração da tag: aumentar o SCAN. Atualmente está em 50ms. Dependendo de alguns fatores, isto pode acabar prejudicando a comunicação. Sugiro que aumente um pouco, talvez 1000ms ou 500ms parece ser um bom número.

No CLP deixei como me sugeriu em Hex o Modelo 81- 9k6, 8, N, 1 No Elipse a mesma coisa,
Fig01

Fig02

no computador deixei igual aos dois
F03

Fig04

Fig06
LENDO A VARIAVEL TIPO "D"

Fig07
LENDO A VARIAVEL TIPO "M"

Favor observar a Fig08 e a Fig09, não estão invertidos?
Fig08

Fig09

Grato!

@asffer,

Por favor, poderia enviar o log do driver para fernando@elipse.com.br?

Para habilitar o log:
1 - Driver > Extras > aba Setup > habilitar LogToFile.
2 - Realizar teste com as variáveis
3 - Driver > Extras > aba Setup > desabilitar LogToFile.
4 - Enviar o arquivo gerado para o email: fernando@elipse.com.br.

Boa Tarde Fernando,
Graças a suas informações aliadas as infrmações do Breno/Kalatec, foi possivel resolver a comunicação.
Realmente os endereços dever ser em hexadecimal, porem tem um metodo apropriado de escrita.

Por exemplo para o enderço D401
O valor decimal 401, convertido em hexa será 191.
Deve-se adicionar mais o valor correspondente código do operando como na tabela;

para o CLP DELTA esse valor será então 1191h<==== imprescindível o uso do “h”* para determinar de fato ao elipse que se trada de hexadecimal.

Segue link com demo para possíveis aplicações.
https://onedrive.live.com/?id=D29EFECF1C221DA!675&cid=0D29EFECF1C221DA&group=0

Muito Obrigado!

Boa noite!
Estou fazendo uma comunicação entre um CLP Delta DVP28sv11T com Elipse E3.
Escrevi o programa, no ISPSoft tal qual está na imagem que foi postada pelo asffer:
https://forum.elipse.com.br/uploads/default/419/9f82f0ed099d3d2b.png

Abaixo, a parte da configuração do Drive:

Quando ativo a comunicação, “Value” sempre aparece o valor “Null”.
Vejo que a comunicação entre o computador e o CLP está ativo, pois quando coloco para conectar online pelo ISPSoft, ele informa que essa comunicação já está sendo utilizada.

@jrcarvalho, bom dia.

O Offset está diferente do post anterior. Na aba Modbus > seção Data Address Model Offset > selecionar Data is addressed from 0.

Por favor, verifica se modificando isto funciona.

Sds.

Bom dia @Fernando,

Grato pelo retorno.

Mudei para “Data is addressed from 0”, mas continua a mesma resposta.

Estou utilizando a versão Demo, mas acredito que ela deve suportar, correto? por se tratar de apenas um drive e quantidade inferior a 20tags.

@jrcarvalho,

Suporta sem problemas nas condições que explicitou.

Qual endereço está tentando ler?

@Fernando,
Estou realizando teste com “qualquer endereço”. Estou testando a comunicação num modelo Demo, e com uma máquina, pois quero colocar esse supervisório para controle de índices OEE de todo o chão de fábrica.
Nessa simulação, pelos exemplos que vi, o software estaria lendo o endereço “D0” (por se tratar de word P2/N2 = 0 e P4/N4 = 0) do equipamento de ID =1.
Coloquei a tag hr101, padrão do próprio drive para ver se surgia algum valor.
Quando ativo a comunicação, independente de estar com os cabos ligados ao CLP, ele mostra a mesma coisa “Null”

@jrcarvalho,

Tenta desta forma:
N1 = 1; ID do equipamento
N2 = 1; Operação (Word - Holding Register)
N3 = 0; Não utilizado
N4 = &h11; Endereço 1 em Hexadecimal para variáveis D, segundo o post acima.

Por favor, testar.

@Fernando,
Continua.

Existe alguma outra forma de testar a comunicação?

@jrcarvalho,

me envia os logs, por favor: fernando@elipse.com.br.

Sds

@Fernando, muito grato por todas as informações.

Estou conseguindo comunicar e ler todos os endereços do CLP.

Problema RESOLVIDO!

1 Like

Ola jrcarvalho.
Poderia passar os esquemas para comunicação via rs485 Modbus RTU com o clp da delta.
Estou com uma aplicação de teste,e e tentando ler as memorias do clp usando o Elipse E3, sem sucesso na comunicação.

Poderia me ajudar @Fernando, estou testando uma aplicação e não tenho sucesso na comunicação com o CLP DVP-14SS2

Estou usando este conversor USB-RS485 para concetar o computador ao CLP


Esta com os resitores de terminação e foi feito teste de validação do conversor utilizando um Arduino, nesta configuração foi possivel a comunicação.

@Rodrigo.ccb, bom dia.

Esta foi a solução passada ao jrcarvalho, mas não sei se se aplica ao seu CLP porque são de modelos diferentes. Segue:

As variáveis M, X e Y são booleanas (mas há diferenças entre elas) e a variável D é analógica. Explico:

  • M e Y são bits do tipo Coil. Servem para leitura (Read Coil Status/ Read Input Status) e escrita (Force Single Coil/ Force Multiple Coils ).
  • X é bit do tipo Input. Serve apenas para leitura (Read Input Status).
  • D é do tipo Register. Serve para leitura (Read Holding Register) e escrita (Preset Single Register/ Preset Multiple Register)

Com estas informações esclarecidas, vamos às configurações. Uma observação importante é que estou utilizando estas tabelas como base:

  • Tabela do CLP:

  • Operations (N2) [se achar necessário pode adicionar uma nova operation neste quadro (op. 8)]:

  • Offset em 0:

Configurações das tags:

  • M para M200 (por exemplo):

O valor 200 está em decimal. Segundo entendi da tabela do equipamento, deve-se passar este valor para hexa (200 = C8h) e depois somar 0800h ficando 08C8h.

N1 = 1
N2 = 8
N3 = 0
N4 = &h8C8

  • Y para Y0 (Y está em octal):

O valor 0 está em octal (segundo entendido na tabela). De octal para hexa continuará 0. Então, o Y0 será 0500h

N1 = 1
N2 = 8
N3 = 0
N4 = &h500

  • X para X0 (X está em octal):

O valor 0 está em octal (segundo entendido na tabela). De octal para hexa continuará 0. Então, o X0 será 0400h

N1 = 1
N2 = 7
N3 = 0
N4 = &h400

  • D para D200 (por exemplo):

O valor 200 está em decimal. Segundo entendi da tabela do equipamento, deve-se passar este valor para hexa (200 = C8h) e depois somar 1000h ficando 10C8h.

N1 = 1
N2 = 1
N3 = 0
N4 = &h10C8

Por favor, testar.

Sds.