GESTION MULTICARTES K8055 (CODE TUTO)

Signaler
Messages postés
51
Date d'inscription
lundi 7 juillet 2008
Statut
Membre
Dernière intervention
13 février 2012
-
Messages postés
1172
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
28 septembre 2013
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/50597-gestion-multicartes-k8055-code-tuto

Messages postés
1172
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
28 septembre 2013
1
ben déja commence par corriger ce genre de chose !
un string * double ! place option srict et explicit à on pour voir ces conversion explicite ;)
pas besoin non plus de compter les minutes, les tr/min ne sont que des hertz*60 (ou top par sec) * 60
Messages postés
7
Date d'inscription
vendredi 2 mai 2008
Statut
Membre
Dernière intervention
7 novembre 2010

bonsoir,le code lit le nombre de tour dans le text1 , ensuite je controle l'horloge pour les seconde,puis je multiplie "suivant le temps en seconde " par une valeur pour obtenir les tours/min , j'active le relais de montée ou de descente en fonction.Dans le text1 je ne peux pas le réinitialiser à 0 tant que le temps est inférieur à 60 secondes.J'ai opté à "select case" pour la rapidité.Je pense utiliser une variable interne pour le comptage et ensuite la réinitialiser après 5 secondes.J'aimerais placer mon code sur le forum.Merci de m'indiquer la procédure.Bàv
Messages postés
1172
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
28 septembre 2013
1
TxtTrMin.Text = Text1.Text * 1.2
Oo" mes yeux ça pique lol

Quesque ton code est censé faire ? donne un cdc plutot.
F=1/T tu compte donc le nombre d'impulsion par seconde et tu as la fréquence. ensuite tu fais une moyenne toute les 10 mesures pour avoir une valeur stable (par exemple)
++
Messages postés
7
Date d'inscription
vendredi 2 mai 2008
Statut
Membre
Dernière intervention
7 novembre 2010

Bonjour , pas mal de soucis pour le compte tour.Avec un timer la gestion des impulsions etait trop complexe.J'ai decidé de travailler avec le time système pc.Mais il y a un défaut dans la boucle lors de l'affichage 10,20,30,40 et 50 sec.Il semble y avoir un rebond software de +- 4 impulsion.La vitesse maximum tester est de 1800 tr/min.Voici le code d'affichage impulsions.Merci de votre réponse.
Private Sub TimerRPM_Tick(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Timer1.Tick

'mise en fonction du timer
TimerRPM.Enabled = True
'controle de la valeur du compteur d'impulsion
If Text1.Text > 0 Then
'affichage de la date et heures + minutes + secondes + millisecondes
Label5.Text = DateHeurePrecise()
'après 10 secondes : multiplication de la valeur du compteur et affichage
If TimeSeconde() = 10 Then
TxtTrMin.Text = Text1.Text * 6
End If
'après 20 secondes : multiplication de la valeur du compteur et affichage
If TimeSeconde() = 20 Then
TxtTrMin.Text = Text1.Text * 3
End If
'après 30 secondes : multiplication de la valeur du compteur et affichage
If TimeSeconde() = 30 Then
TxtTrMin.Text = Text1.Text * 2
End If
'après 40 secondes : multiplication de la valeur du compteur et affichage
If TimeSeconde() = 40 Then
TxtTrMin.Text = Text1.Text * 1.5
End If
'après 50 secondes : multiplication de la valeur du compteur et affichage
If TimeSeconde() = 50 Then
TxtTrMin.Text = Text1.Text * 1.2
End If
'controle de la valeur des secondes pour le reset du comptage d'impulsion
If TimeSeconde() <> 0 Then
Else
ResetCounter(1)
End If
Else
End If
End Sub
'Initilisation des variables de temps (horloge)
Private Structure SYSTEMTIME
Dim wYear As Short
Dim wMonth As Short
Dim wDayOfWeek As Short
Dim wDay As Short
Dim wHour As Short
Dim wMinute As Short
Dim wSecond As Short
Dim wMilliseconds As Short
End Structure

' Fonction : DateHeurePrecise
' Retour : Chaine de date heure formattée avec JJ/MM/AAAA et HH:MM:SS:mmm
' mmm représente les milliemes de secondes
Public Function DateHeurePrecise() As String
Dim Heure As SYSTEMTIME
GetSystemTime(Heure)
'utilisation de format pour meilleure lecture du resultat
DateHeurePrecise = "Le " & VB6.Format(Heure.wDay, "00/") & VB6.Format(Heure.wMonth, "00/") & VB6.Format(Heure.wYear, "0000") & " à " & VB6.Format(Heure.wHour, "00:") & VB6.Format(Heure.wMinute, "00:") & VB6.Format(Heure.wSecond, "00:") & VB6.Format(Heure.wMilliseconds, "000")
End Function
Public Function TimeSeconde() As String
Dim Seconde As SYSTEMTIME
GetSystemTime(Seconde)
'mémorisation de la valeur en seconde pour le controle de la vitesse en tours/min
TimeSeconde = VB6.Format(Seconde.wSecond, "00")
End Function
Afficher les 29 commentaires