Bonjour

Je dois créer une communication entre une application windev et un ohmmètre en Ethernet afin de mesurer le temps de cycle : Envoi de commande + Réception de la trame.

Ceci me permet donc de faire mes validations de l'appareil.

J'utilise donc un envoi de commande lors d'un clic sur bouton qui lance mon chrono , je lance ensuite ma fonction de lecture qui elle vient stopper mon chrono.

Code du bouton :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
		sMessage est une chaîne = ""
		gnNumeroTest = 1
		gbChronoStop = Faux
		gnNombreLecture = 0
 
		sMessage = "M 1" + RC
		SI ThreadEtat("Thread1") = threadInexistant ALORS
			ThreadExécute("Thread1",threadNormal,Chrono)	
		SINON
			ThreadReprend("Thread1")
		FIN
		SI SocketEcrit(gsNomServeur,sMessage) = Vrai ALORS
			Lecture()	
			Lecture() 
		FIN
Code de lecture
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
 
gnNombreLecture++
 
						sTrame = SocketLit(gsNomServeur,Vrai)
						SI sTrame <> "" ALORS
							SI (gnNombreLecture = 1  _ET_ gnNumeroTest <> 0 _ET_ gnNumeroTest <> 5 _ET_ gnNumeroTest <> 6) ALORS
								gbChronoStop = Vrai
							FIN
						FIN
				FIN	
 
				SI gnNumeroTest <> 0 ALORS
					SI Contient(sTrame,"Bad",SansCasse) = Faux ALORS
						TraitementTrameNimtech(sTrame)
					FIN
 
				FIN
Code de mon chrono :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
ChronoDébut(1)
 
BOUCLE
 
	SI gbChronoStop = Vrai ALORS
 
				Ajoute(tabtcy,ChronoFin(1))
				gnNombreElementstabs++
				gnMoyenneTcy = Moyenne(tabtcy)
 
 
		FIN
 
		SORTIR
	FIN
FIN
Le fonctionnement est donc bon, mais le problème est qu'avec toutes ces vérifications du pc la durée de mon temps de cycle est fausse

Quelqu'un a t-il une solution ?

Cordialement,