Bonjour et merci d'avance pour vos réponses, je suis tout nouveau sur le forum.
Voilà je présente mon problème:
Je travaille actuellement dans une entreprise allemande et je dois concevoir un banc d'essai pour tester l'étanchéité de débitmètres à ultrason, jusque là tout va bien.
J'ai conçu la bête, seulement j'en suis au stade ou je dois programmer le test, or ce test comporte plusieurs étapes, et une condition pour la passage d'une étape à l'autre.
J'ai réussi à réaliser presque tout, seulement j'utilise la fonction Dec pour tracer ma pression en fonction du temps comme ceci:
AufPD correspond à la durée de ma première étape, DruckWert est ma valeur de pression, AufPMax et AufPMin sont des constantes. Je trace ici en réalité simplement un intervalle dans lequel doit se trouver la pression, ainsi que la pression en elle-même. Seulement voilà, ça marche très bien, mais je préfèrerais pouvoir augmenter la valeurs de Step1 de 0,1 toutes les 0,1 seconde, et donc tracer ma pression toutes les 0,1 secondes.
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 procedure TForm1.Timer2Timer(Sender: TObject); begin DruckWert:=GetDruck; Label13.Caption := Format('%ds',[Step1+1]); //Ici j'affiche simplement la valeur de Step1+1 dans un label (pas de rapport avec la question) Dec(Step1,-1); // C'est ICI qu'est mon problème if Step1<=(AufPD div 1000) then begin AufPMax.AddXY(Step1,AufPMa); AufPMin.AddXY(Step1,AufPMi); Druck.AddXY(Step1, DruckWert) //TEST(1); end; if Step1=(AufPD div 1000) then begin V1_aus; V2_an; end; if ((Step1>=(AufPD div 1000)) AND (Step1<((AufPD div 1000)+T12))) then begin if ((NSchritt(1, DruckWert))) then Timer3.Enabled:=True; end; end; procedure TForm1.Button3Click(Sender: TObject); begin //DruckWert:=GetDruck; Kontrollleuchte_Start_an; //Les noms avec _an ou _aus sont simplement des procédures permettant d'allumer/ouvrir ou d'éteindre/fermer des voyants/vannes V1_an; Timer2.Enabled := True; Label13.caption:=''; end;
J'ai déja essayé de réduire l'intervale de mon Timer2 à 100ms mais ça continue de me tracer ce que je veux toutes les secondes...
Je récapitule rapidement, je voudrais savoir s'il est possible, non pas de tracer toutes les secondes, mais tous les dixièmes ou même centièmes de seconde, et ce grâce à la fonction Dec.
Merci !
PS: Si j'ai mal expliqué quelque chose, n'hésitez pas à m'en faire part![]()
Partager