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: