Home > Foro > Terminales de operador (Weintek) > Códigos Modbus utilizados para la comunicación desde el panel
- Este tema tiene 3 respuestas, 3 participantes y se actualizó por última vez 4 años, hace 9 meses da Sergio Bertana.
-
autorPublicación
-
Diciembre 9, 2013 en 8: 08 am #35459Robertopartícipe
Estoy usando su panel Weintek con puerto ethernet conectado en Modbus TCP / IP con un PLC Panasonic, para realizar una prueba de conexión he insertado un objeto de Introducción numérica que se refiere al registro 399 del PLC. He definido el código 3x en el menú desplegable seguido de la dirección de registro, pero al conectarme al PLC con el programa que se está simulando en la PC obtengo un error de comunicación.
Intenté capturar paquetes Modbus TCP con Wireshark y vi que el panel envía el paquete de consulta Modbus con el código 04 a pesar de haber definido 3x en el menú desplegable. El PLC no gestiona el comando Modbus 04. ¿Cómo puedo solucionarlo?
Diciembre 9, 2013 en 8: 29 am #37917Sergio BertanaAdministrador del foroLos códigos que se muestran en el menú desplegable de la configuración del objeto en el terminal (Captura de pantalla) son solo una convención, no se corresponden con los códigos Modbus reales utilizados en el protocolo de comunicación. Como se informa en el manual de conexiones del PLC, aquí hay una tabla con las correspondencias entre el código definido en el objeto y el código Modbus relativo.
(0x) Códigos Modbus: Leer la bobina de lectura 0x01, escribir una bobina de escritura 0x05
(0x_multi_coils) Códigos Modbus: Leer la bobina de lectura 0x01, Escribir 0x0F Escribir bobinas múltiples
(1x) Códigos Modbus: Leer 0x02 Leer entrada discreta, No maneja escritura
(3x) Códigos Modbus: lee el registro de entrada de lectura 0x04, no maneja la escritura
(4x) Códigos Modbus: Leer 0x03 Leer registro de retención, Escribir 0x10 Escribir registros múltiples
(5x) Códigos Modbus: Leer 0x03 Leer registro de retención, Escribir 0x10 Escribir registros múltiples
(6x) Códigos Modbus: Leer 0x03 Leer registro de retención, Escribir 0x06 Escribir registro individual (Solo un registro)
(3xbit) Equivalente al comando 3x
(4xbit) Equivalente al comando 4xJulio 19, 2019 en 6: 05 am #48595ManuelpartícipeReanudo esta discusión ya que estoy tratando de comunicarme con un MT8070iE con un dispositivo modbus TCP / IP, tengo que usar el comando 0x05 escribir bobinas simples y escribir en la dirección 10010 ponerlo en uno. Si utilizo un software gratuito externo, funciona si uso el panel, no puedo o más bien no entiendo el comando para usarlo como botón de bit.
En teoría, establezco el bit de configuración de dirección cero modbus con un botón y uso el comando 0x, pero cómo le digo que use el 0x05 y apunte el 10010.
PD: Te compré varios paneles y estoy bien.
Julio 19, 2019 en 6: 12 am #48598Sergio BertanaAdministrador del foroSi miras la publicación anterior verás que usando el comando 0x el panel automáticamente usará el código Modbus 01 para leer el valor del bit y el código 05 para escribir el valor, por lo que el uso del código 0x es correcto.
Pero mientras tanto, me plantearía dudas sobre el uso del direccionamiento basado en cero, ¿seguro que no es mejor utilizar Modbus TCP estándar? pruebe ambos porque si su dispositivo es compatible con Modbus, debe utilizar Modbus TCP estándar.
Seguro que la dirección a usar es 10010, en muchos nodos de aplicación (y en emuladores Modbus) el código modbus se agrega en la parte superior de la dirección, y 10010 indica usar el comando Modbus 01 para leer la dirección 10. Así que lo intentaría para usar el comando 0x con la dirección 10.
-
autorPublicación
- Debe iniciar sesión para responder a este tema.