Daten binär mit MSComm und VB6 einlesen

  • VB6

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von fraju.

    Daten binär mit MSComm und VB6 einlesen

    ich möchte mit VB6 und dem MSCOMM-Steuerelement das Datenpaket von meinem Messgerät einlesen.
    Andere Geräte die einen String senden auszulesen schaffe ich. Aber irgentwie scheitere ich an
    dem bitweisen auslesen.
    Das auslesen mit der Herstellersoftware ist problemlos möglich



    die Daten des Herstellers sind
    Geschw. 1200 Baut
    Datenbits 8
    Parität keine
    Stobbit 1

    Übertragung binär

    die Daten werden laufend ohne Aufforderung ausgegeben.
    der Aufbau lt Hersteller sieht so aus:

    Byte Bedeutung
    1 O2 HiByte
    2 O2 LowByte
    . .
    . .
    . .
    23 CxHy HiByte
    24 CxHy LowByte
    25 $FF
    26 $FF

    in meinem Versuchsprogramm verändert sich auch jedesmal die Ausgabe im Textfeld.


    Private Sub CommandÖffnen_Click()
    Me.MSComm1.CommPort = Me.Text1.Text
    Me.MSComm1.Settings = "1200,N,8,1"
    Me.MSComm1.InputMode = comInputModeBinary
    Me.MSComm1.InputLen = 1
    Me.MSComm1.RThreshold = 26
    Me.MSComm1.SThreshold = 1
    Me.MSComm1.PortOpen = True
    Me.MSComm1.InBufferCount = 0
    End Sub


    Public Sub mscomm1_oncomm()
    If (Me.MSComm1.CommEvent = comEvReceive) Then
    n = Me.MSComm1.InBufferSize
    For i% = 1 To 26
    Bit = Me.MSComm1.Input
    empfangen = empfangen & " - " & Bit
    Next i%
    Me.Text2.Text = n & " " & empfangen
    empfangen = ""
    End If
    End Sub



    Gruß Andreas
    Hallo

    Byte Bedeutung
    1 O2 HiByte
    2 O2 LowByte
    . .
    . .
    . .
    23 CxHy HiByte
    24 CxHy LowByte
    25 $FF
    26 $FF

    Kommt in den Daten 02 und FF vor,
    bzw 2mal hintereinander?
    Wenn nicht,dann kannst du diese als Start und/oder EndeCodes Nutzen.

    Zwischen den SendeBlocks ist garantiert eine kleine Pause ,diese kannst du zur Synchronisation
    Nutzen.
    VB6 kann ich nur ein wenig lesen.
    Deiner Empfangsroutine sieht für mich etwas eigenartig aus.
    Du liest 26Zeichen ein,wenn mal eins verlorengeht ist alles falsch
    Kommentiere mal jede Zeile.

    Gruß