Je rencontre un problème avec l’utilisation d’un bloc MB_CLIENT en TCP.
J’ai correctement paramétré le module avec un MB_DATA_LEN correspondant au nombre de pointeurs dans la variable MB_DATA_PTR. Avec un logiciel tiers, j’arrive parfaitement à lire les registres sur mon module distant.
Voici mon problème : lorsque la patte REQ est activée, le Status du bloc passe par plusieurs valeurs (0001 → 7001 → 7002 → 7006), ce qui est normal, mais il reste bloqué sur 7006 et la patte du bloc reste sur BUSY.
Je précise que j’ai plusieurs liaisons Modbus dans ce programme (le client est donc en ID = 10) et que les deux autres fonctionnent très bien (ID 1 et 2 en lecture et écriture).
Les clients Modbus effectuent des requêtes en même temps, mais sur des adresses IP différentes et pas sur le même ID — je ne sais pas si cela peut avoir une influence.
Vous trouverez ci-dessous des captures d’écran des éléments utilisés, ainsi qu’une lecture du registre avec le logiciel Modbus Doctor, prouvant que le serveur fonctionne correctement.
Merci d’avance.





