# Variables dans le script

### Utilisation de variables dans un script

Vous pouvez utiliser des variables pour effectuer l'opération désirée.

Remarque :

- OR/AND/XOR/NOT retourne toujours une valeur entière non signée 32 bits.
- Lorsque la valeur entrée est négative, les expressions de décalage de bit retourne une valeur entière 32 bits.
- Lorsque la valeur entrée est positive, les expressions de décalage de bit retourne une valeur entière non signée 32 bits.

### Utilisation de variables externes dans un script

Lors de l'utilisation de variables externes dans un script, la valeur de l'adresse d'équipement affectée à l'équipement externe pourrait changer pendant le traitement du script.

L'utilisation d'une adresse d'équipement dans une opération affectée pourrait entraîner un délai d'écriture car l'afficheur doit lire les données d'adresse à partir de l'équipement connecté.

Remarque : lorsque vous modifiez la valeur d'une variable externe plusieurs fois dans un script avec un seul déclencheur, la valeur de la variable externe ne sera pas mise à jour immédiatement.

Pour utiliser la valeur de la variable externe mise à jour dans le script déclenché, enregistrez la valeur dans une variable interne et utilisez-la dans le script. Ou, mettez à jour la valeur de la variable externe avec un déclencheur différent avant d'utiliser la valeur de la variable externe.

(Exemple)

Ajoutez les variables suivantes.

[Nom] | [Type de données] | [la source] | [Adresse de l'équipement] | [Nombre d'octets ou de mots]
Var1 | [INT] | ‘Équipement série Schneider Modbus’ | 400020 | -
Var2 | [INT] | 400021 | -
Var3 | [INT] | 400022 | -

Dessinez les objets suivants sur l'écran.

#### Objet de bouton (Nom : Switch1)

Aucune configuration spéciale.

#### Script

Légende | Bloc
1 | [Triggers] ➞ [Toucher] ➞ [Toucher]
2 | [Opérations] ➞ [Changement de valeur] ➞ [Changement de valeur]
3 | [Valeurs] ➞ [Objet d'écran]
4 | [Logique] ➞ [Math]
5 | [Valeurs] ➞ [Variable]
6 | [Valeurs] ➞ [Constante]

Lorsque vous appuyez sur Switch1, la valeur de Var1+1 est affectée à Var2. Cependant, la valeur de Var2 n'a pas été affectée à Var3 en raison d'une communication longue avec l'équipement.

Dans un tel cas, vous pouvez programmez un script de sorte que le résultat de Var1 soit stockée d'abord dans la variable interne Var4 avant qu'elle soit exécutée, comme illustré dans l'exemple suivant.

Ajoutez les variables suivantes.

[Nom] | [Type de données] | [la source] | [Adresse de l'équipement] | [Nombre d'octets ou de mots]
Var1 | [INT] | ‘Équipement série Schneider Modbus’ | 400020 | -
Var2 | [INT] | 400021 | -
Var3 | [INT] | 400022 | -
Var4 | [INT] | [Internal] | - | -

#### Script