Sub Main()
Dim nbmax_input As Long 'nb total d'entrée à compter avant déclenchment
Dim duree_maxi As Integer 'nb de secondes maxi avant echec
Dim nbinput As Long 'nb d'entrées comptées
Dim Ok As Boolean 'a true si tout s'est bien passé
Dim t1 As Double
'initialisation
nbmax_input = 4
duree_maxi = 300
nbinput = 0
Ok = false
t1=Timer()
message "comptage des rouleaux en sortie" 'efface les messages
Do While (Timer()-t1) < duree_maxi 'boucler tant que le temps n'est pas dépassé
If IsActive(Input4) Then 'si entrée active, ajoute 1 au compteur
if not isactive(input4) then
nbinput = nbinput + 1
sleep(500) 'évite un comptage multiple par rebond du contact (ou si reste trop longtemps enfoncé)
End If
If nbinput = nbmax_input Then 'nb d'entrée attendues atteint
Ok = true
ActivateSignal (output3)
ActivateSignal (output2)
Exit Do 'sort de la boucle
End If
sleep(100)
Loop
'affichage.
If Ok = false Then
code "M1"
ActivateSignal (output1)
message "temps dépassé"
Else
message "cycle suivant"
End If
End Sub
est ce que comme ca, ca marche?
ps: j ai tester ca marche pas...normal
on est d accord que un comptage, si on le fait les yeux fermé, avec la main tendu, c est un etat haut, puis un etat bas, ca veut dire qu on passe au suivant
hors la: je ferme les yeux et tout les 0.1secondes, je touche le tapis ponctuellement, si j ai qq chose c est 1 comptage, si j ai rien, je continue
hors si jai toujours le meme rouleaux devant moi, je compte 4 fois le meme
j essaye juste de cogiter une macro ou l operateur si il decide de mettre 20m/mn ou 60m/mn sur le tapis, ne sera pas obligé d intervenir dans la macro,parce que il le fera pas