Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 12 von 12

Thema: Rohdaten Variable mit VBS verarbeiten

  1. #11
    Bender25 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    23.08.2004
    Beiträge
    565
    Danke
    73
    Erhielt 19 Danke für 18 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke euch beiden.

    Werds heute mal im laufe des Tages versuchen. Weiß noch nicht ob ich es hin bekomme. Vom logischen ist es klar.
    Mir fehlt derzeit noch die Stelle an der ich sage ab Adresse 20, 4Byte Addieren....

    Aber schlag mich da einfach mal ein wenig mit euren beispielen herum. Danke mal.!

  2. #12
    Registriert seit
    02.03.2006
    Beiträge
    19
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo!

    In VB-Code kannst du es so schreiben:

    Code:
    Private Function Real2Single(byte1 As Byte, byte2 As Byte, byte3 As Byte, byte4 As Byte) As Single
    
    Dim i As Integer
    Dim x As Integer
    Dim blnBit_LR(31) As Boolean
    Dim blnVorzeichen As Boolean
    Dim intExponent As Integer
    Dim dblMantisse As Double
    Const Bias = 127
    
    'REAL-Datentyp zu Single konvertieren
    'Einzelne Bits auslesen
    x = 0
    For i = 0 To 7
        If (byte4 And 2 ^ x) = (2 ^ x) Then
            blnBit_LR(i) = True
        Else
            blnBit_LR(i) = False
        End If
        x = x + 1
    Next i
    x = 0
    For i = 8 To 15
        If (byte3 And 2 ^ x) = (2 ^ x) Then
            blnBit_LR(i) = True
        Else
            blnBit_LR(i) = False
        End If
        x = x + 1
    Next i
    x = 0
    For i = 16 To 23
        If (byte2 And 2 ^ x) = (2 ^ x) Then
            blnBit_LR(i) = True
        Else
            blnBit_LR(i) = False
        End If
        x = x + 1
    Next i
    x = 0
    For i = 24 To 31
        If (byte1 And 2 ^ x) = (2 ^ x) Then
            blnBit_LR(i) = True
        Else
            blnBit_LR(i) = False
        End If
        x = x + 1
    Next i
    'Vorzeichen bestimmen
    blnVorzeichen = blnBit_LR(31)
    'Exponenten bestimmen
    x = 0
    intExponent = 0
    For i = 23 To 30
        If blnBit_LR(i) Then intExponent = intExponent + 2 ^ x
        x = x + 1
    Next i
    'Mantisse bestimmen
    x = -1
    dblMantisse = 0
    For i = 22 To 0 Step -1
        If blnBit_LR(i) Then dblMantisse = dblMantisse + 2 ^ x
        x = x - 1
    Next i
    'Single-Wert berechnen
    If intExponent = 0 And dblMantisse = 0 Then
        Real2Single = 0
    Else
        Real2Single = (1 + dblMantisse) * 2 ^ (intExponent - Bias)
        'Vorzeichen verrechnen
        If blnVorzeichen Then Real2Single = Real2Single * (-1)
    End If
    
    End Function
    Gruß
    Donnerkeil

Ähnliche Themen

  1. Rohdaten Zerlegen C
    Von PBO-WE im Forum HMI
    Antworten: 9
    Letzter Beitrag: 25.02.2011, 07:41
  2. Antworten: 24
    Letzter Beitrag: 31.01.2010, 21:32
  3. Antworten: 11
    Letzter Beitrag: 06.10.2007, 16:28
  4. WinCC Rohdaten
    Von Jochen Kühner im Forum HMI
    Antworten: 0
    Letzter Beitrag: 16.07.2007, 12:58
  5. Rohdaten mit C# schreiben
    Von Bender25 im Forum HMI
    Antworten: 7
    Letzter Beitrag: 07.11.2006, 11:18

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •