Bit aus byte lesen WinCC Flex

JensCS

Level-1
Beiträge
82
Reaktionspunkte
10
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo
Ich habe unter WinCC flexible eine interne Byte Variable angelegt und möchte jetzt in einem Skript aus diesem Byte ein Bit auslesen.
Es gibt zwar die Funktion "SetBitinTag" aber "GetBitinTag" gibt es nicht.

Wie kann ich das machen??
 
... probiers mal mit der Systemfunktion "Schieben und Maskieren".
Kannst übrigens auch im Script verwenden.
icon6.gif
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für den Tip.
Ich will aber dieses bit nur für eine if Abfrage nutzen.

also if "Bit 5 aus Variable(Byte)" then Aktion

Ich habe schon drüber nachgedacht mir eine Boolsche variable mit 8 Arrays anzulegen und dann die einzelnen arrays zu lesen.
Dann muss ich nur mein Byte in die arrays schieben.
 
Mit dem folgendem VBScript kannst Du aus einem BYTE die einzelnen BITS auslesen:

Code:
'Aus einem BYTE die einzelnen BITS auslesen
 
'BIT 0 auslesen
 
If (Variable_BYTE And 2^0) <> 0 Then
    Variable_BIT_0 = 1
Else
    Variable_BIT_0 = 0
End If
 
'BIT 1 auslesen
 
If (Variable_BYTE And 2^1) <> 0 Then
    Variable_BIT_1 = 1
Else
    Variable_BIT_1 = 0
End If
 
'BIT 2 auslesen
 
If (Variable_BYTE And 2^2) <> 0 Then
    Variable_BIT_2 = 1
Else
    Variable_BIT_2 = 0
End If
 
'BIT 3 auslesen
 
If (Variable_BYTE And 2^3) <> 0 Then
    Variable_BIT_3 = 1
Else
    Variable_BIT_3 = 0
End If
 
'BIT 4 auslesen
 
If (Variable_BYTE And 2^4) <> 0 Then
    Variable_BIT_4 = 1
Else
    Variable_BIT_4 = 0
End If
 
'BIT 5 auslesen
 
If (Variable_BYTE And 2^5) <> 0 Then
    Variable_BIT_5 = 1
Else
    Variable_BIT_5 = 0
End If
 
'BIT 6 auslesen
 
If (Variable_BYTE And 2^6) <> 0 Then
    Variable_BIT_6 = 1
Else
    Variable_BIT_6 = 0
End If
 
'BIT 7 auslesen
 
If (Variable_BYTE And 2^7) <> 0 Then
    Variable_BIT_7 = 1
Else
    Variable_BIT_7 = 0
End If

Gruß Kai
 
Das VBScript geht auch noch etwas kürzer:

Code:
'Aus einem BYTE die einzelnen BITS auslesen
 
'BIT 0 auslesen
 
If Variable_BYTE And 2^0 Then
    Variable_BIT_0 = 1
Else
    Variable_BIT_0 = 0
End If
 
'BIT 1 auslesen
 
If Variable_BYTE And 2^1 Then
    Variable_BIT_1 = 1
Else
    Variable_BIT_1 = 0
End If
 
'BIT 2 auslesen
 
If Variable_BYTE And 2^2 Then
    Variable_BIT_2 = 1
Else
    Variable_BIT_2 = 0
End If
 
'BIT 3 auslesen
 
If Variable_BYTE And 2^3 Then
    Variable_BIT_3 = 1
Else
    Variable_BIT_3 = 0
End If
 
'BIT 4 auslesen
 
If Variable_BYTE And 2^4 Then
    Variable_BIT_4 = 1
Else
    Variable_BIT_4 = 0
End If
 
'BIT 5 auslesen
 
If Variable_BYTE And 2^5 Then
    Variable_BIT_5 = 1
Else
    Variable_BIT_5 = 0
End If
 
'BIT 6 auslesen
 
If Variable_BYTE And 2^6 Then
    Variable_BIT_6 = 1
Else
    Variable_BIT_6 = 0
End If
 
'BIT 7 auslesen
 
If Variable_BYTE And 2^7 Then
    Variable_BIT_7 = 1
Else
    Variable_BIT_7 = 0
End If

Gruß Kai
 

Anhänge

  • WinCC flexible - Variablen.pdf
    51,5 KB · Aufrufe: 85
  • WinCC flexible - VBScript.pdf
    23,3 KB · Aufrufe: 87
Zurück
Oben