Error de tiempo de espera de ModBus

0

Cualquier persona con mucha experiencia con Modbus & RS-485 ???

Mi tarea es controlar un motor de CC con micro PIC24. La configuración del motor, como el ángulo, la demora, el arranque / parada, el ciclo de trabajo, etc., se enviará desde la PC usando Modbus a PIC24.

El sistema es así:

PIC24 - > UART - > IC MAX3471 - > Convertidor RS-485 a RJ-45 - > RJ-45 a USB - > PC (ejecutando la herramienta modbuspoll)

El formato Modbus utilizado es Modbus RTU.

Al principio, la función de registro de retención de lectura Modbus y la función de registro único de escritura están funcionando. Pero después de enviar algunas de las configuraciones del motor utilizando la función de registro único de escritura Modbus, entonces el motor comenzó a funcionar, se produjo un error de tiempo de espera de la comunicación Modbus.

Y una vez que se produce el error de tiempo de espera, la próxima vez que vuelva a encender el sistema, seguirá dando un error de tiempo de espera. HeintentadocambiarlavelocidaddetransmisióndeUARTde9600a115200.IntentecambiarlaplacadelconvertidordeRS-485aRJ-45(encasodequeserompa),losfenómenossimplementeserepiten.

¿Alguienmepuededaralgúnconsejosobrecuálpodríaserlacausa?

Además,noestoysegurodeesto,enformatoModbusRTU,alprincipioyalfinaldebehaber28bits(almenos31/2caracteresdelongitud),perosielcódigodemicrofirmwaresepreocupaporestoyaqueen¿LaPCusalaherramientamodbuspoll?

HetocadolaA&LaseñalBusaunanalizadorlógico,sienvíoalgúncarácterdeuCaRS-485(peronoestáconectadoalaPC),elcaráctersemuestracorrectamenteenA&LineaBPerosihagotappingenlaA&LaseñaldelalíneaBcuandoenvíolafunciónderegistrodeesperadelecturadesdelaPCutilizandoelmodbuspoll(darunerrordetiempodeespera)recibíunaseñalextraña:

Parecequeelproblemanoestáenelcódigodefirmwaredelaunidaddeusuario,sinoencualquieradeellos:convertidordeUSBaRS-485,cabledeEthernetrectooplacadeinterfazRS-485.AquíestáelconvertidordeUSBaRS-485queutilicé:

ylaplacadeinterfazRS-485:

    
pregunta Qrenz

1 respuesta

0

En algunos casos, el encendido de un motor o cualquier dispositivo de alta potencia genera ruido en la señal de conexión a tierra. Si no tiene una buena conexión a tierra del chasis y su protección afecta su señal.

para la depuración: 1) ejecute su controlador sin carga pesada, simplemente verifique el controlador con un led o cualquier carga pequeña, después de haber activado o apagado ese led, si tiene un problema, entonces tiene un problema con el código y la implementación .

2) si no tiene un problema en el primer paso, debe verificar la conexión a tierra y la conexión a tierra del chasis

recomendación : si trabaja con una carga de alto voltaje, por seguridad, es mejor usar un módulo USB_to_485 aislado.

    
respondido por el M KS

Lea otras preguntas en las etiquetas