InfoGeo
Messages postés87Date d'inscriptionjeudi 2 février 2012StatutMembreDernière intervention17 avril 2013
-
11 mai 2011 à 11:27
pile_poil
Messages postés682Date d'inscriptionvendredi 6 avril 2007StatutMembreDernière intervention 4 août 2012
-
11 mai 2011 à 11:50
Salut,
je voudrais obtenir la réponse d'un capteur apres lui avoir envoyé la commande qui me permet d'obtenir son model:
syntaxe de la réponse: !AATxxxx ou AA correespond a l'adresse et xxxx au model, exemple de ce que je recois: !01T3411
Donc voila moi, c'est bete a dire mais je voudrais juste garder 01T3411 sans le "!" et j y arrive pas et ca me fait craquer !!!!
voila le programme:
Public Function IsPresent(val_model As String) As Boolean
' Vérifier que le capteur répond sur le bus avec son adresse
'=======variables==========
Dim cmd As String
Dim rsp As String
Dim StartTime As Double
'==========================
'commande-------------
cmd = "$" & Format(Address, "00") & "M" & vbCr 'la commande pour connaitre le numéro de série de notre capteur est sous cette forme $AAF
'où AA correspond a l addrese de notre capteur et
Call MyComPort.SendString(cmd) 'on envoit la commande vers notre capteur d'adresse AA
StartTime = TimerExtended
rsp = ""
IsPresent = False
'réponse--------------
Do
DoEvents
rsp = rsp & MyComPort.ReadString(0)
If ElapsedTime(StartTime) > Timeout Then Exit Function
Loop While InStr(rsp, vbCr) = 0
If Left(rsp, 1) = "!" Then
val_model = Val(Mid(rsp, 2)) 'on prend toute la chaine de caractère a partir du deuxième caractère
IsPresent = True
End If
et mon val model au lieu d etre égal à 01T3411 et il est égale à 0.
Je sais que c est super bidon mais moi je suis nul et la je craque voila donc aidez moi svp
pile_poil
Messages postés682Date d'inscriptionvendredi 6 avril 2007StatutMembreDernière intervention 4 août 20126 11 mai 2011 à 11:50
bonjour
supprime simplement le "Val" qui te renvoi la valeur numérique de la partie gauche de la chaine soit 1 pour "01"
si tu avais consulté l'aide en faisant F1 sur Val tu l'aurais vu