INÍCIO > Fórum > Terminais de operador (Weintek) > Códigos Modbus utilizados para comunicação a partir do painel
- Este tópico tem 3 respostas, 3 participantes e foi atualizado pela última vez 4 anos, 9 meses atrás da Sergio Bertana.
-
autorPublique
-
Dezembro 9, 2013 em 8: 08 am #35459Robertoparticipante
Estou usando seu painel Weintek com porta ethernet conectada em Modbus TCP / IP com um PLC Panasonic, para realizar um teste de conexão. Eu inseri um objeto de Introdução numérica que se refere ao registro 399 do PLC. Eu defini o código 3x no menu suspenso seguido do endereço de registro, mas ao conectar ao PLC com o programa que está sendo simulado no PC, recebo um erro de comunicação.
Tentei capturar pacotes Modbus TCP com o Wireshark e vi que o painel envia o pacote de consulta Modbus com código 04 apesar de ter definido 3x no menu suspenso. O PLC não gerencia o comando Modbus 04. Como posso resolver?
Dezembro 9, 2013 em 8: 29 am #37917Sergio BertanaAdministrador do fórumOs códigos mostrados no menu suspenso das configurações do objeto no terminal (Screenshot) são apenas uma convenção, eles não correspondem aos códigos Modbus reais usados no protocolo de comunicação. Conforme informado no manual de conexões do PLC, segue uma tabela com as correspondências entre o código definido no objeto e o respectivo código Modbus.
(0x) Códigos Modbus: Leia 0x01 Read bobina, Escreva 0x05 escreva bobina única
(0x_multi_coils) Códigos Modbus: Leia 0x01 Leia bobina, escreva 0x0F Escreva múltiplas bobinas
(1x) Códigos Modbus: Leia 0x02 Leia entrada discreta, Não manipula a escrita
(3x) Códigos Modbus: Leia 0x04 Leia o registro de entrada, não manipula a escrita
(4x) Códigos Modbus: Leia 0x03 Leia o registro de retenção, Escreva 0x10 Escreva registros múltiplos
(5x) Códigos Modbus: Leia 0x03 Leia o registro de retenção, Escreva 0x10 Escreva registros múltiplos
(6x) Códigos Modbus: Leia 0x03 Leia o registro de retenção, Escreva 0x06 Escreva um registro único (Apenas um registro)
(3xbit) Equivalente ao comando 3x
(4xbit) Equivalente ao comando 4xJulho 19, 2019 em 6: 05 am #48595manualparticipanteRetomo esta discussão, pois estou tentando me comunicar com um MT8070iE com um dispositivo modbus TCP / IP, tenho que usar o comando 0x05 write single coils e write no endereço 10010 put to one. Se eu usar um software livre externo funciona se eu usar o painel não consigo ou melhor, não entendo o comando para usar como botão de bits.
Teoricamente, eu configurei o bit do conjunto de endereço zero do modbus com um botão e use o comando 0x, mas como faço para usar o 0x05 e apontar o 10010.
PS: Eu comprei vários painéis de você e estou bem.
Julho 19, 2019 em 6: 12 am #48598Sergio BertanaAdministrador do fórumSe você olhar o post anterior verá que usando o comando 0x o painel usará automaticamente o código Modbus 01 para ler o valor do bit e o código 05 para escrever o valor, então o uso do código 0x está correto.
Mas enquanto isso eu levantaria dúvidas sobre o uso do endereçamento baseado em zero, certo de que não é melhor usar o Modbus TCP padrão? tente ambos porque se o seu dispositivo for compatível com Modbus, você terá que usar o Modbus TCP padrão.
Claro que o endereço a ser usado é 10010, em muitos nós de aplicação (e em emuladores Modbus) o código do modbus é adicionado no topo do endereço, e 10010 indica para usar o comando Modbus 01 para ler o endereço 10. Então eu tentaria para usar o comando 0x com o endereço 10.
-
autorPublique
- Você deve estar logado para responder a este tópico.