MiseA1BitDansVariable (RT Professional) - WinCC

Fonctions système (RT Professional)

ft:publication_title
Fonctions système (RT Professional)
Product
WinCC
Version
V20
Publication date
11/2024
Language
fr-FR
MiseA1BitDansVariable

Description

Cette fonction positionne un bit dans la variable indiquée sur 1 (TRUE).

A l'issue de la modification du bit indiqué, la fonction système transfère l'intégralité de la variable sur l'automate. Le système ne vérifie pas si d'autres bits ont changé entre-temps dans la variable. L'opérateur et l'automate ne doivent avoir accès qu'en lecture à la variable indiquée tant qu'elle n'a pas été retransmise à l'automate.

Remarque

N'utilisez pas cette fonction système lorsque l'automate prend en charge des variables de type BOOL. Utilisez alors la fonction système "MiseA1Bit".

Utilisation dans la liste de fonctions

MiseA1BitDansVariable (Variable, Bit)

Utilisation dans les fonctions définies par l'utilisateur

SetBitInTag Tag, Bit

Utilisable dans la mesure où le pupitre configuré prend en charge les fonctions définies par l'utilisateur. Pour plus d'informations, référez-vous à la "Dépendance du pupitre".

Paramètre

Variable

La variable dans laquelle le système met un bit sur 1 (TRUE).

Bit

Le numéro du bit positionné sur 1 (TRUE).

Si vous utilisez cette fonction système dans une fonction définie par l'utilisateur, le système compte, de droite à gauche, les bits dans les variables indiquées, indépendamment de l'automate utilisé. Il commence à compter à partir de 0.

Remarque

La condition nécessaire à une fonctionnalité fiable est de garantir que les variables utilisées sont bien à jour par rapport aux valeurs de process. Pour cela, configurez la variable dans un champ d'E/S ou la fonction système sur un objet graphique, par ex. un bouton.

Si vous configurez la fonction système pour un événement bref, p;ex. l'arrivée d'un message, vous ne pouvez obtenir les valeurs réelles de process que si vous activez la variable sur lecture permanente.

Exemple

Le code du programme suivant met un bit sur la position donnée bitposition de la variable bStatusWord à 1 et fournit le résultat conjointement à la valeur d'origine bSaved.

Copie le code de programme suivant dans le presse-papiers

'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

Copie le code de programme suivant dans le presse-papiers

//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);

  

}