-> 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!?
Gruß
Sudoku
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:
[COLOR=#0000ff]Private[/COLOR][COLOR=#0000ff]Sub[/COLOR] btnEB1Lesen_Click([COLOR=#0000ff]ByVal[/COLOR] sender [COLOR=#0000ff]As[/COLOR] System.Object, _
[COLOR=#0000ff]ByVal[/COLOR] e [COLOR=#0000ff]As[/COLOR] System.EventArgs) [COLOR=#0000ff]Handles[/COLOR] btnEB1Lesen.Click
[COLOR=#0000ff]Dim[/COLOR] buf(0) [COLOR=#0000ff]As[/COLOR][COLOR=#0000ff]Byte[/COLOR], Wert [COLOR=#0000ff]As[/COLOR][COLOR=#0000ff]Byte[/COLOR]
res = dc.readBytes(libnodave.daveInputs, 0, 1, 1, buf)
txtEB1.Text = dc.getU8 [COLOR=#008000]'Anzeige in Textbox txtEB1 ist OK![/COLOR]
Wert = dc.getU8
[COLOR=#0000ff]If[/COLOR] Wert >= 32 [COLOR=#0000ff]Then[/COLOR]
txtWert.Text = 1
[COLOR=#0000ff]Else[/COLOR]
txtWert.Text = 0
[COLOR=#0000ff]End[/COLOR][COLOR=#0000ff]If[/COLOR]
[COLOR=#0000ff]End[/COLOR][COLOR=#0000ff]Sub[/COLOR]
Gruß
Sudoku