Page 2 sur 4
Re: [M340] Registre Fifo
Posté : 30 nov. 2022, 12:23
par nene1384
J'ai trouvé une solution à mon problème, si quelqu'un rencontre le même problème n'hésitez pas à me demander !
Merci à tous
Re: [M340] Registre Fifo
Posté : 30 nov. 2022, 14:31
par Béryl
Ce serait sympa de partager la soluce sans qu'on ait à demander

Re: [M340] Registre Fifo
Posté : 30 nov. 2022, 14:38
par nene1384
Bien-sûr avec plaisir c'est juste que il y en a peut-être des meilleurs ...
Re: [M340] Registre Fifo
Posté : 01 déc. 2022, 11:34
par nene1384
j'ai juste une petite question concernant les retours, enft je reçois plusieurs retour sur ma variable , l'ordre est généralement aléatoire, en plus comme pendant le tempo ça tourne une fois que j'ai reçu toutes les chaines sur ma variable sa repart au début et sa me renvoie la première suivi de la deuxième ... jusqu'à la fin du tempo , comment je pourrais faire pour garder (ou si vous avez une autre solution) toutes chaines reçues et les comparer unes à unes ? j'ai déjà plusieurs bloc_fonction de fait pour comparer je veux juste savoir comment garder tous ce que je reçois ? pour comparer
Re: [M340] Registre Fifo
Posté : 01 déc. 2022, 13:01
par philou77
post ce que tu as écris et explique un peu mieux ton problème...
Re: [M340] Registre Fifo
Posté : 01 déc. 2022, 13:47
par nene1384
Je vous explique c'est vrai que j'ai pas été très clair je vais essayer d'être plus clair :
je fais une com RS232 , j'utilise un print et input_char , sur le RECP du input_char j'ai une variable que j'ai nommé RETOUR.
Il faut savoir que je fais la connection entre un automate et un appareil de lecture de température, sur cet appareil (tester au préalable sur teraterm) on peut envoyer "TEMP 1" avec un print_char et grace au input char on lit sauf qu'il retourne :
Requete : TEMP 1
TEMP 1
50 ( c un exemple de temperature ), je recois donc trois chaine de caractères les unes après les autres soit "requete : TEMP 1" puis "TEMP 1" et enfin "50" , et puis sa repart a "requete : TEMP 1 " tant que ma tempo n'est pas fini , j'ai fait une tempo pour mettre ma requete à 0 après 2s.
Mon problème c'est que j'ai fait des blocs fonction pour traiter er afficher la température exemple :
si > 50 afficher danger ect , mais il me faut récupérer que la chaine ou il y a le 50 , je sais pas si c'est plus clair .
Merci
Re: [M340] Registre Fifo
Posté : 02 déc. 2022, 11:11
par philou77
Re !
précise si ta variable RETOUR contient
"Requête : TEMP 1 TEMP 1 50"
ou bien alternativement (cas que je ne m'explique pas trop d'ailleurs)
"Requête : TEMP 1"
"TEMP 1"
"50"
on en revient encore à un autre de tes post...
tu ne précises pas avec quel appareil tu communiques, ni avec quel protocole !
et tu ne post pas ton code...
Re: [M340] Registre Fifo
Posté : 19 déc. 2022, 08:42
par nene1384
philou77 a écrit : ↑02 déc. 2022, 11:11
Re !
précise si ta variable RETOUR contient
"Requête : TEMP 1 TEMP 1 50"
ou bien alternativement (cas que je ne m'explique pas trop d'ailleurs)
"Requête : TEMP 1"
"TEMP 1"
"50"
on en revient encore à un autre de tes post...
tu ne précises pas avec quel appareil tu communiques, ni avec quel protocole !
et tu ne post pas ton code...
je travail avec un M340 (je pensais qu'il suffisait de le préciser dans le sujet )
je ne peux pas poster mon code je pense qu'il est trop long .
et la réponse se fait alternativement comme tu l'as si bien décris .
PS : je n'avais pas remarqué que tu avais répondu dsl pour le retard
Re: [M340] Registre Fifo
Posté : 20 déc. 2022, 09:52
par maybi13
J'ai exactement le même problème , si vous avez la solution je suis preneur !
Re: [M340] Registre Fifo
Posté : 20 déc. 2022, 10:57
par philou77
Salut !
nene1384 a écrit : ↑19 déc. 2022, 08:42
et la réponse se fait alternativement comme tu l'as si bien décris .
Pour moi si, tu reçois 3 chaines de caractères bien distinctes, c'est que tu fais 3 inputs char.
Dans ce cas, il faut pas mettre une tempo pour faire cycler la communication mais un chenillard (ou solution analogue).
exemple avec %MW0
quand le chenillard est à la valeur :
1 (%MW0:X0=1) -> tu as l'information : "Requête : TEMP 1"
2 (%MW0:X1=1 -> tu as l'information : "TEMP 1"
4 (%MW0:X2=1) -> tu as l'information : "50"
Donc si ton chenillard est à 4 (ou bien %MW0:X2=1) alors tu as l'information de température
Ensuite remettre le chenillard au début et recommencer le cycle de lecture ad vitam eternam
et au passage, on sais toujours pas avec quel appareil tu communiques (pour l'automate oui j'avais bien vu) car pour communiquer faut au moins 2 appareils !!