Boucle d'une temporisation

cs_Cyclone Messages postés 18 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 1 juillet 2007 - 23 juil. 2003 à 00:58
cs_Cyclone Messages postés 18 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 1 juillet 2007 - 23 juil. 2003 à 10:36
Bonjour à tous;

J'essaie de faire un petit programme me permettant par exemple de faire fonctionner 2 relais via une carte I/O. Ce programme doit gérer 2 temporisations : lorsque la première tempo est à 0, la deuxième doit commencer son compte à rebours, et lorsque la seconde tempo est à 0, on doit repartir pour une boucle : Tempo1 :X sec->0 alors Tempo2 : Ysec->0, puis Tempo1 X sec->0, et ainsi de suite.

Comment réaliser cette boucle ???

Merci d'avance pour votre aide.

Cyclone

Voici le code.
La form se compose de 3 label, un checkbox et 2 timer.

Private Sub Check1_Click()
'message ON/Off
If Check1.Value = 1 Then
Label1.Caption = "On"
Else: Label1.Caption = "Off"
End If

End Sub

Sub Form_Load()
'charge des temps des temporisations
Counter1 = 10
counter2 = 6
End Sub

Private Sub Timer1_Timer()
' tempo 1
If Check1.Value = 1 Then

Label2.Caption = Counter1
Counter1 = Counter1 - 1
End If
If Label2.Caption = "0" Then
Timer1.Enabled = False
End If
End Sub

Private Sub Timer2_Timer()
'tempo 2
If Check1.Value 1 And Label2.Caption "0" Then
Timer1.Enabled = False
Timer2.Enabled = True
Label3.Caption = counter2
counter2 = counter2 - 1
End If
End Sub

3 réponses

pcpunch Messages postés 1243 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 18 février 2019 5
23 juil. 2003 à 01:48
tiens essai ca plutot!!!

Private Sub Check1_Click()
'message ON/Off
If Check1.Value = 1 Then
Label1.Caption = "On"
Label2 = "10"
Label3 = "En attente"
Timer1.Enabled = True
Else
Label1.Caption = "Off"
Timer1.Enabled = False
Timer2.Enabled = False
End If
End Sub

Sub Form_Load()
Timer1.Enabled = False
Timer2.Enabled = False
Timer1.Interval = 1000
Timer2.Interval = 1000
Label2 = 10
Label3 = 6

End Sub

Private Sub Timer1_Timer()
' tempo 1
Label2 = Label2 - 1
If Label2 = "0" Then
Label2 = "En attente"
Label3 = "6"
Timer1.Enabled = False
Timer2.Enabled = True
End If
End Sub

Private Sub Timer2_Timer()
'tempo 2
Label3 = Label3 - 1
If Label3 = "0" Then
Label3 = "En attente"
Label2 = "10"
Timer2.Enabled = False
Timer1.Enabled = True

End If
End Sub

ps: SI tu as besoin d'aides tu peu me contacter par windows messenger pcpunch59@hotmail.com
0
Utilisateur anonyme
23 juil. 2003 à 08:23
Salut,
Il est sympa Cyclone, il t'a fait le prog..
Moi j'utilise des microcontroleurs 68hc11 pour tout ce qui est electronique et toi?
0
cs_Cyclone Messages postés 18 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 1 juillet 2007
23 juil. 2003 à 10:36
Salut;

Super pcpunch, ton code fonctionne très bien !!!
merci pour ton aide.

C'est vrai qu'on pourrait aussi utiliser un chip programmable pour réaliser cette fonction, mais je dispose d'une carte I/0 également programmable via VB + carte relais ( kit velleman, très pratique et bon marché : www.velleman.be ), ce qui permet de se passer d'une carte électronique ( plus de souplesse ).

Encore merci.

Cyclone
0
Rejoignez-nous