Page 1 sur 1

Pb liaison série RS485 mode caractère

Posté : 01 févr. 2021, 10:26
par Namu
Bonjour,

Je dois faire fonctionner une com série RS 485 half duplex mode caractère entre :
- un automate M580 équipé d'une carte série BMX NOM 0200.2.
- des modules de détection de rames de tramway

Les modules de détection répondent à une trame de requête par une trame de réponse unique et immuable, dont la forme est clairement définie dans la doc (entête+code+add+add+message....etc).

J'avais déjà fait fonctionner cette com au bureau en utilisant un M340 et son port série natif de CPU, en ayant récupéré la routine de lecture déjà programmée par un collègue.
Mon problème est que, cette fois, le programme doit tourner sur M580, et que je ne reçois pas l'entièreté des trames en réponse, notamment jamais l'entête, malgré une configuration identique de ma liaison série dans l'onglet de configuration de la voie du BMX NOM. L'adresse ADDM est aussi bonne puisque je reçois une trame.

J'ai appelé le constructeur pour avoir de l'aide, et on m'a orienté vers le temps de retournement de ma com série, qui serait trop long et ne permettrait pas de capter certains bouts de trames. Sauf que je n'ai aucune idée de comment régler cela et si c'est même possible.

J'ai aussi récupéré un programme d'une autre zone où est mis en place cette com entre un M580 et ces modules (et qui marche), mais je ne vois pas de différence notable entre mon programme et le leur, la config et identique et, comme ma routine marche parfaitement sur M340, je n'ai pas envie de la remettre en question.

Auriez-vous des pistes à me proposer ou des infos sur ce 'temps de retournement'?

Merci d'avance.


Namu

Re: Pb liaison série RS485 mode caractère

Posté : 01 févr. 2021, 11:31
par itasoft
slts,
indiquer quelle fonction est utilisée (INPUT_CHAR) et le contenu de la table de gestion des échanges (4 mots) et une photo de la configuration du port série RS485

Re: Pb liaison série RS485 mode caractère

Posté : 03 févr. 2021, 09:50
par Namu
Bonjour,

J'ai finalement réussi à régler le problème. La version de routine que j'utilisais appelait les PRINT_CHAR et INPUT_CHAR successivement mais dans des étapes grafcets distinctes, ce qui entrainait un délai entre l'émission et la mise en réception d'au moins 2 temps de cycles automates,et me faisait rater le début de la trame de réponse.

Merci


Namu