Communication RS232 avec mini CORI-FLOW M1x Series

Forum traitant des automates industriels de marque Siemens.
Zwall
Première mise en service
Première mise en service
Messages : 65
Inscription : 29 oct. 2018, 10:13

Communication RS232 avec mini CORI-FLOW M1x Series

Message par Zwall »

Bonjour à tous,

Voila mon soucis, je dois dialoguer en RS232 un débitmètre bronkhorst mini CORI-FLOW M1x serie depuis un ET 200SP.
Tout le monde faisant sa sauce niveau protocole avec le RS232, le débitmètre a le sien avec un format de trame bien particulier.
Un trame se présente sous la forme Start character | length | Node | Process | End
Mon soucis se trouve avec le character de départ et de fin, en effet selon le protocole du débitmètre, le début doit être un ':' et la fin '\r\n'
Pour faire une trame, j'ai construit une structure qui commence par un char et se termine par 2 char, les bytes au milieu en hexa pour le message.

Après des tests avec un hyperterminal, j'ai pu voir que le débitmètre ne répondait qu'en recevant que des characters en début et fin de trame, leur valeur hexa n'étaient pas accepté et ma requête passait à l'as.
J'ai donc construit la structure qu'il faut sauf... Que le character $N ne semble pas exister alors que $R oui...

Le problème en question

Mes questions sont, est-ce que je peux m'y prendre autrement ? Ou carrément est-ce que l'un d'entre vous à déjà travailler sur le même matériel et peut m'aider ? :lol:
steph68
Codeur fou
Codeur fou
Messages : 268
Inscription : 21 oct. 2015, 08:23

Re: Communication RS232 avec mini CORI-FLOW M1x Series

Message par steph68 »

Salut,

A la place de '$N', essaye '$L' ou '$0A'.
Sinon un caractère a un code ascii et peut se transcrire en byte ...
pourquoi ne pas tout mettre en byte pour la trame ?
ou tout en ascii, soit une STRING ?

c'est bizarre que ton protocole mélange les 2 formats ...
hyperterminal te montre bien de l'ascii ?

@+
Zwall
Première mise en service
Première mise en service
Messages : 65
Inscription : 29 oct. 2018, 10:13

Re: Communication RS232 avec mini CORI-FLOW M1x Series

Message par Zwall »

Et bien l'hyperterminal me renvoyait = ":06227..." il n'affichait pas les \r\n mais retourner à la ligne.
Une partie du problème a été résolue, je n'ai plus l'erreur à l'envoie me disant qu'il ne voyait pas les character de fin ! Cependant... Je reçois quelque chose de mon débitmètre,il reçoit mais ne semble pas reconnaître la fin de trame...
Image
Je configure mes trames de A à Z lors de l'envoie, comment puis-je configurer la réception de la même manière ?
A première vue, elle utiliserait le même protocole.
kcnarf
Code son premier grafcet
Code son premier grafcet
Messages : 50
Inscription : 23 mai 2017, 17:07
Localisation : Rennes

Re: Communication RS232 avec mini CORI-FLOW M1x Series

Message par kcnarf »

Bonjour,
j'ai regardé un peu la doc de ton matériel. Ils donnent les valeurs Hexa des caractères de début et fin de trame.
CORI_FLOW_INSTRUCTION_MANUAL.png
As tu essayé cela ?

J'imagine que tu as respecté les paramètres du port Com : 38400 bauds/pas de parité/8 bits data/1 bit de stop
Franck
la théorie c'est quand on sait tout mais que rien ne marche. La pratique c'est quand tout fonctionne et qu'on ne sait pas pourquoi.
Zwall
Première mise en service
Première mise en service
Messages : 65
Inscription : 29 oct. 2018, 10:13

Re: Communication RS232 avec mini CORI-FLOW M1x Series

Message par Zwall »

J'ai bien vu cette info dans la doc et justement c'est ça que je trouve étrange car j'ai configuré les détections de début de trame et de fin avec ces caractères en Hexa.

L'info part correctement mais je n'ai pas de retour ou j'ai un retour qui ne finit pas et reste en attente mais ça me surprend qu'il n'y est pas un timeout.

J'ai fait ce que tu as dit Steph, j'ai changé le caractère de fin pour un '$L' et ça semble fonctionné. Je n'ai plus l'erreur comme quoi il ne voyait pas de caractère de fin à ma trame... Ce qui me fait penser que ma requête est bonne, de même que la configuration d'envoie... Et la configuration de réception est la même alors pourquoi ça coince ?

Je dois me replonger dans la doc pour le pilotage manuel du débitmètre, peut-être un paramètre interne est mal configurer...
Avatar de l’utilisateur
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7037
Inscription : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Communication RS232 avec mini CORI-FLOW M1x Series

Message par itasoft »

Slts,
Connais pas le matos « teutons » ceci dit,
Si le débitmètre réponds après interrogation il faut une requête du type « Ecriture suivi d’une lecture » avec un TimeOut ou avoir configuré un caractère de fin de la réception.
Dernière modification par itasoft le 27 mai 2020, 12:32, modifié 1 fois.
Automaticien privé (de tout)
itasoft@free.fr
Zwall
Première mise en service
Première mise en service
Messages : 65
Inscription : 29 oct. 2018, 10:13

Re: Communication RS232 avec mini CORI-FLOW M1x Series

Message par Zwall »

Salut,

Oui, j'écris normalement une valeur et le débitmètre me retourne qu'il a bien écrit la valeur.
J'ai ajouté un TimeOut sur la réponse, ça m'implémente mon compteur de réponse mais je ne reçois pas de données. Mon buffer est vide.
Tous les paramètres que j'ai configuré. Je suis à court d'idée et j'attends d'avoir un sniffeur RS232 pour savoir si le débitmètre reçoit la requête... Parce que si il ne reçoit pas la requête c'est pas surprenant que je n'ai pas de réponse...
Sauf que la requête, c'est la même que celle qu'on envoyait depuis un hyper-terminal pour tester le fonctionnement de l'engin...

Je suis un peu perdu je dois dire...
Avatar de l’utilisateur
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7037
Inscription : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Communication RS232 avec mini CORI-FLOW M1x Series

Message par itasoft »

Slts,
Connais pas le matos « teutons » ceci dit,
Si le débitmètre réponds après interrogation il faut une requête du type « Ecriture suivi d’une lecture » avec un TimeOut ou avoir configuré un caractère de fin de la réception.
Automaticien privé (de tout)
itasoft@free.fr
Zwall
Première mise en service
Première mise en service
Messages : 65
Inscription : 29 oct. 2018, 10:13

Re: Communication RS232 avec mini CORI-FLOW M1x Series

Message par Zwall »

Je suis pas un spécialiste en Siemens non plus, encore moins en instrumentation.
Mais ça me paraît logique que si j'ai vraiment aucun retour que ce soit avec TimeOut ou des caractères de fin, ça veut dire que le débitmètre ne reçoit rien ou alors que je le capte pas...
Avatar de l’utilisateur
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7037
Inscription : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Communication RS232 avec mini CORI-FLOW M1x Series

Message par itasoft »

slts,
il faut une requête "teutonne" équivalente à la requête OUT_IN_CHAR (Unity)
Automaticien privé (de tout)
itasoft@free.fr
Répondre