VEGA VEGACOM 557 VEGA ASCII protocol Manuel d'utilisation
Page 55

VEGACOM 557 VEGA ASCII
55
Mise en service
Private Sub DecodeFrame(Rec As String)
Dim idx As Integer
Dim Value As Long
Dim PlsString As String
Dim SingleValue As String
Dim p As Integer
' Recueillir tous les signes
ReceiveBuffer = ReceiveBuffer + Rec
' 1 valeur déjà reçue
p = InStr(ReceiveBuffer, Chr$(13))
If p > 0 Then
' -> Découper une seule valeur
SingleValue = Left$(ReceiveBuffer, p -
1)
ReceiveBuffer = Mid$(ReceiveBuffer, p +
1)
Else
SingleValue = ""
End If
If Len(SingleValue) > 9 Then
' Vérifier le Frame
' =001#FAULTCR
' =001#- 100.1CR
If Left(SingleValue, 1) = "=" Then
If Mid$(SingleValue, 5, 1) = "#"Then
idx = Val(Mid$(SingleValue, 2,3))
If Mid$(SingleValue, 9, 1) > "9"
Then
Etat (idx) = False
Else
Etat (idx) = True
' Découper une valeur chiffre
PlsString = Mid$(SingleValue,
6)
' Attention au signe ou à ' '
If Mid$(PlsString, 1, 1) =
" " Then
PlsString =
Mid$(PlsString, 2)
End If
' Si le message contien'.'->
il faut l’enlever
p = InStr(PlsString, ".")
If p > 0 Then
PlsString =
Left$(PlsString, p - 1) +
Mid$(PlsString, p + 1)
End If
' Reconnaître la fin
p = InStr(PlsString, "%")
If p > 0 Then
PlsString =
Left$(PlsString, p - 1)
End If
' Convertir le texte en chiffres
PLS(idx) = CLng(PlsString)
End If
' Fin atteinte ?
If idx = (StartIndex + LenIndex)
- 1 Then
' Compteur d’erreurs = 0
InAction = 0
' Afficher les valeurs
DisplayValues
End If
End If
End If
End If
End Sub
Public Sub DisplayValues()
Dim i As Integer
Dim Disp As String
' Effacer l’affichage
List1.Clear
' Boucle sur toutes les valeurs
For i = StartIndex To (StartIndex +
LenIndex) - 1
' Préparer texte affichage
Disp = "PLS " + Format$(i, "000")
+ " = "
If Status(i) Then
Disp = Disp + Format$(PLS(i),
"000000000")
Else
Disp = Disp + "---"
End If
' Affichages
List1.AddItem Disp
Next i
End Sub
Public Sub ClearValues()
Dim i As Integer
' Effacer toutes les infos d’état
For i = StartIndex To (StartIndex +
LenIndex) - 1
Etat (i) = False
Next i
End Sub