SetzeBitInVariable (Basic Panels, Panels, Comfort Panels, RT Advanced) - WinCC

Systemfunktionen (Basic Panels, Panels, Comfort Panels, RT Advanced)

ft:publication_title
Systemfunktionen (Basic Panels, Panels, Comfort Panels, RT Advanced)
Product
WinCC
Version
V21
Publication date
11/2025
Language
de-DE
SetzeBitInVariable

Beschreibung

Setzt ein Bit in der angegebenen Variablen auf 1 (TRUE).

Die Systemfunktion überträgt nach der Änderung des angegebenen Bits die gesamte Variable wieder an die Steuerung. Es wird nicht geprüft, ob sich zwischenzeitlich andere Bits in der Variablen geändert haben. Bediener und Steuerung dürfen auf die angegebene Variable nur lesend zugreifen, bis die Variable wieder an die Steuerung übertragen wurde.

Hinweis

Verwenden Sie diese Systemfunktion nicht, wenn die Steuerung BOOL-Variablen unterstützt. Verwenden Sie statt dessen die Systemfunktion "SetzeBit".

Verwendung in der Funktionsliste

SetzeBitInVariable (Variable, Bit)

Verwendung in benutzerdefinierten Funktionen

SetBitInTag Tag, Bit

Verwendbar, sofern das projektierte Gerät benutzerdefinierte Funktionen unterstützt. Weitere Informationen finden Sie unter "Geräteabhängigkeit".

Parameter

Variable

Die Variable, in der ein Bit auf 1 (TRUE) gesetzt wird.

Bit

Die Nummer des Bits, das auf 1 (TRUE) gesetzt wird.

Wenn Sie diese Systemfunktion in einer benutzerdefinierten Funktion verwenden, werden die Bits in der angegebenen Variablen unabhängig von der verwendeten Steuerung von rechts nach links gezählt. Die Zählung beginnt mit 0.

Hinweis

Eine notwendige Bedingung für eine zuverlässige Funktionalität ist eine garantierte Aktualisierung der verwendeten Variablen mit den aktuellen Prozesswerten. Projektieren Sie die Variable deswegen in einem E/A-Feld oder die Systemfunktion an einem Bildobjekt z. B. einer Schaltfläche.

Wenn Sie die Systemfunktion an ein kurzzeitiges Ereignis z. B. Kommen einer Meldung projektiert haben, dann erreichen Sie aktuelle Prozesswerte nur, wenn Sie die Variable auf dauerhaft lesen setzen.

Beispiel

Der folgende Programmcode setzt ein Bit an der angegebenen Position bitposition der Variablen bStatusWord auf 1 und gibt das Ergebnis zusammen mit dem ursprünglichen Wert bSaved aus.

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

'Programming language: VB

Dim myTag

Dim myOutputField

Dim bValue, bSaved, bitposition, strResult

Set myTag = SmartTags("bStatusWord")

Set myOutputField=HMIRuntime.Screens("MyScreen").ScreenItems("objTextField")

'Save current value

bValue=myTag.Value

bSaved=bValue

'Set Bit in tag

bitposition=1

SetBitInTag "bStatusWord", bitposition

bValue=myTag.Value

'Output result old and new value:

strResult="Old Value: "& bSaved & "New Value: " & bValue

myOutputField.Text=strResult

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

//Programming language: C

{

BYTE bSaved;

BYTE bitposition = 1;

bSaved = GetTagByte("bStatusWord");

//Reset bit in bitposition

SetBitInTag ("bStatusWord", bitposition);

//print current and saved value

printf ("Current value: %d\r\n, Saved value: %d\r\n",GetTagByte("bStatusWord"), bSaved);

  

}