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

Ergebnis 1 bis 3 von 3

Thema: Logikproblem mit LibNoDave und VB.Net

  1. #1
    Registriert seit
    22.03.2009
    Beiträge
    48
    Danke
    9
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    ich habe ein Logikproblem bei der Auswertung eines Byte-Wertes, den LibNoDave liefert. Wenn ich im EB1 der S7-CPU z.B. den E1.6 auf 1 setze, dann entspricht dies dem Wert 64. Das wird auch so korrekt in meiner Textbox "txtEB1" angezeigt. Die anschließende Logikabfrage schreibt aber immer eine 0 in die Textbox "txtWert".
    Demnach ist also 64 kleiner als 32!?

    Code:
    PrivateSub btnEB1Lesen_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles btnEB1Lesen.Click
    Dim buf(0) AsByte, Wert AsByte
    res = dc.readBytes(libnodave.daveInputs, 0, 1, 1, buf)
    txtEB1.Text = dc.getU8 'Anzeige in Textbox txtEB1 ist OK!
    Wert = dc.getU8
    If Wert >= 32 Then
    txtWert.Text = 1
    Else
    txtWert.Text = 0
    EndIf
    EndSub

    Gruß
    Sudoku
    Zitieren Zitieren Logikproblem mit LibNoDave und VB.Net  

  2. #2
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Wird bei getU8 nicht der Pufferzeiger inkrementiert? Dann wäre das Verhalten logisch.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  3. Folgender Benutzer sagt Danke zu Rainer Hönle für den nützlichen Beitrag:

    Sudoku (03.07.2009)

  4. #3
    Sudoku ist offline Benutzer
    Themenstarter
    Registriert seit
    22.03.2009
    Beiträge
    48
    Danke
    9
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Rainer,
    tatsächlich! Das war mir so bisher nicht bewusst. Ich habe das Programm geringfügig geändert - jetzt funktionierts.

    Code:
    Private Sub btnEB1Lesen_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles btnEB1Lesen.Click
    Dim buf(0) As Byte, Wert As Byte
    res = dc.readBytes(libnodave.daveInputs, 0, 1, 1, buf)
    txtEB1.Text = dc.getU8 'Anzeige in Textbox ist OK!
    Wert = txtEB1.Text
    If Wert >= 32 Then
    txtWert.Text = 1
    Else
    txtWert.Text = 0
    End If
    End Sub

    Besten Dank
    Sudoku

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 09.09.2010, 00:27
  2. ÄÖnderungen am libnodave.net.cs File von libnodave
    Von Jochen Kühner im Forum Hochsprachen - OPC
    Antworten: 5
    Letzter Beitrag: 12.05.2010, 16:56
  3. LibNoDave unter VB.Net ohne libnodave.net.dll
    Von Earny im Forum Hochsprachen - OPC
    Antworten: 2
    Letzter Beitrag: 09.03.2010, 18:57
  4. libnodave: Woher kommt die "libnodave.net.dll"?
    Von Thomas_v2.1 im Forum Hochsprachen - OPC
    Antworten: 2
    Letzter Beitrag: 10.11.2008, 12:07
  5. Logikproblem
    Von slma im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 16.07.2007, 16:10

Lesezeichen

Berechtigungen

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