L'opération Changement de valeur change la valeur et la valeur et la propriété de Variable, Objet et Cible.

changeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, TARGET, EXPRESSION);
3 1 2 4
1 : Opération
2 : Destination
3 : When over
Définit l'opération lorsque la valeur dépasse la plage.
Paramètre dans [When over] :
[Loop] ne prend pas en charge les variables de type de données Real, ce qui arrêtera la boucle lorsque la valeur maximum est atteinte.
4 : Source
| [Set] |
BlocTexteOu '=' |
Écrit la variable, la constante ou l'expression spécifiée dans le bloc source connecté au bloc de destination. |
|
[AddTo] |
Bloc[AddTo] TexteOr'+=' |
Ajoute la variable, la constante ou l'expression spécifiée dans le bloc source connecté au bloc de destination. |
|
[SubTo] |
Bloc[SubTo] TexteOu '-=' |
Soustrait la variable, la constante ou l'expression spécifiée dans le bloc source connecté au bloc de destination. |
|
[MulTo] |
Bloc[MulTo] TexteOu'*=' |
Multiplie la valeur du bloc de destination par la variable, la constante ou l'expression spécifiée dans le bloc source, et copie le résultat dans le bloc de destination. |
|
[DivTo] |
Bloc[DivTo] Texte |
Divise la valeur du bloc de destination par la variable, la constante ou l'expression spécifiée dans le bloc source, et copie le résultat dans le bloc de destination. |
|
[AndTo] |
Bloc[AndTo] Texte |
Exécute l'opération AND (produit logique) entre l'entier ou la variable spécifiée dans le bloc source et le bloc de destination et copie le résultat vers le bloc de destination. |
|
[OrTo] |
Bloc[OrTo] Texte |
Exécute l'opération OR (somme logique) entre l'entier ou la variable spécifiée dans le bloc source et le bloc de destination et copie le résultat vers le bloc de destination. |
| [XorTo] |
BlocTexte |
Exécute l'opération XOR (somme logique exclusive) entre l'entier ou la variable spécifiée dans le bloc source et le bloc de destination et copie le résultat vers le bloc de destination. |
|
[NandTo] |
Bloc[NandTo] Texte |
Exécute l'opération NAND (produit logique suivi par NOT) entre l'entier ou la variable spécifiée dans le bloc source et le bloc de destination et copie le résultat vers le bloc de destination. |
|
[NorTo] |
Bloc[NorTo] Texte |
Exécute l'opération NOR (somme logique suivi de l'invertisseur) entre l'entier ou de la variable spécifiée dans le bloc source et le bloc de destination et copie le résultat vers le bloc de destination. |
Vous ne pouvez pas utiliser une valeur négative dans un bloc de mathématique ou une opération de changement de valeur avec les opérateurs de division (/) ou de modulo (%).
Lors de l'utilisation de 16 décimales ou plus dans une opération de changement de valeur (AddTo, SubTo, DivTo, MulTo), utilisez LINT ou ULINT comme variable de destination.
L'opération [Changement de valeur] permet de définir une variable ou une propriété source comme destination.
Fixe la valeur du bloc source à la variable du bloc de destination.
(Exemple) : Set
| Opération | Bloc de destination | Bloc source |
| [Set] | Définissez la variable INT1 sur le bloc de variable. | Sélectionnez [Int] et définissez 5 sur le bloc de constante. |
BlocTextechangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, INT1, 5); |
||
→ INT1 est défini sur 5 lors de l'exécution du script.
(Exemple) : AddTo
| Opération | Bloc de destination | Bloc source |
| [AddTo] | Définissez la variable INT1 sur le bloc de variable. | Sélectionnez [Int] et définissez 7 sur le bloc de constante. |
BlocTextechangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.AddTo, INT1, 7); |
||
→ Si INT1 est égal à 3 lorsque le script est exécuté, 7 du bloc source est ajouté et INT1 devient 10.
(Exemple) : SubTo
| Opération | Bloc de destination | Bloc source |
| [SubTo] | Définissez la variable INT1 sur le bloc de variable. | Sélectionnez [Int] et définissez 3 sur le bloc de constante. |
Bloc![]() TextechangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.SubTo, INT1, 3); |
||
→ Si INT1 est 5 lorsque le script est exécuté, la valeur 3 dans le bloc source est soustraite et INT1 devient 2.
(Exemple) : DivTo
| Opération | Bloc de destination | Bloc source |
| [DivTo] | Définissez la variable INT1 sur le bloc de variable. | Sélectionnez [Int] et définissez 2 sur le bloc de constante. |
Bloc![]() TextechangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.DivTo, INT1, 2); |
||
→ Si INT1 est 5 lorsque le script est exécuté, sa valeur est divisée par la valeur du bloc source de 2 et INT1 devient 2. Si la valeur est de type entier, la valeur décimale est tronquée.
(Exemple) : MulTo
| Opération | Bloc de destination | Bloc source |
| [MulTo] | Définissez la variable INT1 sur le bloc de variable. | Sélectionnez [Int] et définissez 5 sur le bloc de constante. |
Bloc![]() TextechangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.MulTo, INT1, 5); |
||
→ Si INT1 est 3 lorsque le script est exécuté, sa valeur est multipliée par la valeur du bloc source de 5 et INT1 devient 15.
(Exemple) : AndTo
| Opération | Bloc de destination | Bloc source |
| [AndTo] | Définissez la variable SINT1 sur le bloc de variable. | Définissez la variable SINT2 sur le bloc de variable. |
Bloc![]() TextechangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.AndTo, SINT1, SINT2); |
||
→ Si SINT1 est 3 (binaire : 00000011) et SINT2 est 5 (binaire : 00000101), SINT1 sera 1 (binaire : 00000001) lorsque le déclenchement se produira.
L'expression logique convertit la valeur du bloc de destination et du bloc source en nombres binaires et calcule le produit logique à chaque chiffre. Remettez le résultat à la base d'origine et placez-le dans le bloc de destination.
(Exemple) : OrTo
| Opération | Bloc de destination | Bloc source |
| [OrTo] | Définissez la variable SINT1 sur le bloc de variable. | Définissez la variable SINT2 sur le bloc de variable. |
Bloc![]() TextechangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.OrTo, SINT1, SINT2); |
||
→ Si SINT1 est 3 (binaire : 00000011) et SINT2 est 5 (binaire : 00000101), SINT1 sera 7 (binaire : 00000111) lorsque le déclenchement se produira.
L'expression logique convertit la valeur du bloc de destination et du bloc source en nombres binaires et calcule la somme logique à chaque chiffre. Remettez le résultat à la base d'origine et placez-le dans le bloc de destination.
(Exemple) : XorTo
| Opération | Bloc de destination | Bloc source |
| [XorTo] | Définissez la variable SINT1 sur le bloc de variable. | Définissez la variable SINT2 sur le bloc de variable. |
Bloc![]() TextechangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.XorTo, SINT1, SINT2); |
||
→ Si SINT1 est 3 (binaire : 00000011) et SINT2 est 5 (binaire : 00000101), SINT1 sera 6 (binaire : 00000110) lorsque le déclenchement se produira.
L'expression logique convertit la valeur du bloc de destination et du bloc source en nombres binaires et calcule la somme logique exclusive à chaque chiffre. Remettez le résultat à la base d'origine et placez-le dans le bloc de destination.
(Exemple) : NandTo
| Opération | Bloc de destination | Bloc source |
| [NandTo] | Définissez la variable SINT1 sur le bloc de variable. | Définissez la variable SINT2 sur le bloc de variable. |
Bloc![]() TextechangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.NandTo, SINT1, SINT2); |
||
→ Si SINT1 est 3 (binaire : 00000011) et SINT2 est 5 (binaire : 00000101), SINT1 sera -2 (binaire : 11111110) lorsque le déclenchement se produira.
L'expression logique convertit la valeur du bloc de destination et du bloc source en nombres binaires et calcule le produit logique négatif à chaque chiffre. Remettez le résultat à la base d'origine et placez-le dans le bloc de destination.
(Exemple) : NorTo
| Opération | Bloc de destination | Bloc source |
| [NorTo] | Définissez la variable SINT1 sur le bloc de variable. | Définissez la variable SINT2 sur le bloc de variable. |
Bloc![]() TextechangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.NorTo, SINT1, SINT2); |
||
→ Si SINT1 est 3 (binaire : 00000011) et SINT2 est 5 (binaire : 00000101), SINT1 sera -8 (binaire : 11111000) lorsque le déclenchement se produira.
L'expression logique convertit la valeur du bloc de destination et du bloc source en nombres binaires et calcule une somme logique suivie d'un inverseur à chaque chiffre. Remettez le résultat à la base d'origine et placez-le dans le bloc de destination.
Définissez les valeurs Date et Heure de la variable source sur la variable de destination.
Les variables DATE, TIME_OF_DAY et DATE_AND_TIME prennent en charge les opérateurs [Set] et [AddTo].
Voici une illustration du comportement de l'opération lorsque le bloc source et le bloc de destination sont des variables DATE, TIME_OF_DAY ou DATE_AND_TIME :
| Opération | Bloc source | Bloc de destination | Fonctionnement |
| [Set] | DATE | DATE | Définir la date. |
| TIME_OF_DAY | Aucune valeur n'est définie. | ||
| DATE_AND_TIME | Définir la date seulement. | ||
| TIME_OF_DAY | DATE | Aucune valeur n'est définie. | |
| TIME_OF_DAY | Définir l'heure. | ||
| DATE_AND_TIME | Définir l'heure seulement. | ||
| DATE_AND_TIME | DATE | Définir la date seulement. | |
| TIME_OF_DAY | Définir l'heure seulement. | ||
| DATE_AND_TIME | Définit la date et l'heure. | ||
| [AddTo] | DATE | DATE | Ajouter la date. |
| TIME_OF_DAY | Aucune valeur n'est définie. | ||
| DATE_AND_TIME | Ajouter la date seulement. | ||
| TIME_OF_DAY | DATE | Aucune valeur n'est définie. | |
| TIME_OF_DAY | Ajouter l’heure | ||
| DATE_AND_TIME | Ajouter l’heure seulement. | ||
| DATE_AND_TIME | DATE | Ajouter la date seulement. | |
| TIME_OF_DAY | Ajouter l’heure seulement. | ||
| DATE_AND_TIME | Ajouter la date et l’heure |
(Exemple) : Set
| Opération | Bloc de destination | Bloc source |
| [Set] | Définissez la variable TIME_OF_DAY1 sur le bloc de variable. | Sélectionnez [TIME_OF_DAY] et définissez 00:15:00 sur le bloc de constante. |
Bloc![]() TextechangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, TIME_OF_DAY1, timeOfDay(00, 15, 00)); |
||
→ Lorsque le déclencheur se produit, l'heure dans TIME_OF_DAY1 est réglée sur 00:15:00.
si un bloc source est réglé sur une date ou une heure [Constante], toute valeur de date ou d'heure non incluse dans la constante sera égale à zéro. Par exemple, si vous écrivez une heure constante dans la variable DATE_AND_TIME, la valeur de la date sera 0 (1970/01/01).
(Exemple) : AddTo
| Opération | Bloc de destination | Bloc source |
| [AddTo] | Définissez la variable DATE_AND_TIME1 sur le bloc de variable. | Sélectionnez [TIME_OF_DAY] et définissez 00:15:00 sur le bloc de constante. |
Bloc![]() TextechangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.AddTo, DATE_AND_TIME1, timeOfDay(00, 15, 00)); |
||
→ Si DATE_AND_TIME1 est 2024/10/01 12:34:56, lorsque le déclencheur se produit, 00:15:00 dans le bloc source est ajouté et DATE_AND_TIME1 devient 2024/10/01 12:49:56.
Un seul bit de données est défini sur la variable de destination.
(Exemple) : Set
| Opération | Bloc de destination | Bloc source |
| [Set] | Définissez la variable BOOL1 sur le bloc de variable. | Sélectionnez [Int] et définissez 1 sur le bloc de constante. |
Bloc![]() TextechangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, BOOL1, 1); |
||
→ BOOL1 est défini sur ON lorsque le déclenchement se produit.
Une chaîne est déinie sur la variable de destination.
(Exemple) : Set
| Opération | Bloc de destination | Bloc source |
| [Set] | Définissez la variable STRING1 sur le bloc de variable. | Sélectionnez [STRING] et définissez "DEF" sur le bloc de constante. |
Bloc![]() TextechangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, STRING1, "DEF"); |
||
→ STRING1 est défini sur DEF lorsque le déclenchement se produit.
(Exemple) : AddTo
| Opération | Bloc de destination | Bloc source |
| [AddTo] | Définissez la variable STRING1 sur le bloc de variable. | Sélectionnez [STRING] et définissez "DEF" sur le bloc de constante. |
Bloc![]() TextechangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.AddTo, STRING1, "DEF"); |
||
→ Si STRING1 est "AB", lorsque le déclenchement se produit, "DEF" est ajouté au bloc source et STRING1 devient "ABDEF".
Définir la valeur du bloc source à la propriété source du bloc de destination.
(Exemple 1)
| Opération | Bloc de destination | Bloc source |
| [Set] | Définissez la propriété source de Rectangle1.Thickness sur le bloc d'objet. | Sélectionnez [Int] et définissez 10 sur le bloc de constante. |
BlocTextechangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, $GraphicObject.Rectangle1.Thickness, 10); |
||
→ L'épaisseur de la bordure Rectangle1 change à 10 lorsque le déclenchement a lieu.
(Exemple 2)
| Opération | Bloc de destination | Bloc source |
| [Set] | Définissez la propriété source de Lamp1.Interlock sur le bloc d'objet. | Sélectionnez [Int] et définissez 0 sur le bloc de constante. |
BlocTextechangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, $GraphicObject.Lamp1.Interlock, 0); |
||
→ L'état de verrouillage Lamp1 est défini sur OFF lorsque le déclenchement se produit.
Définir la valeur du bloc source à la propriété source du bloc de destination.
(Exemple)
| Opération |
Bloc de destination |
Bloc source |
| [Set] | Définissez la propriété source de la variable INT1.Value dans le bloc de variable. | Sélectionnez [Int] et définissez 1 sur le bloc de constante. |
BlocTextechangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, INT1.Value, 1); |
||
→ INT1.Value est défini sur 1 lorsque le déclenchement se produit.
Définir la valeur du bloc source à la propriété source du bloc de destination.
(Exemple 1)
Fixez une date pour l'objectif.
| Opération | Bloc de destination | Bloc source |
| [Set] | Définissez la propriété source de la cible Target01.DateAndTime.Date sur le bloc de cible. | Sélectionnez [Date] et définissez 10/17/2017 sur le bloc de constante. |
Bloc![]() TextechangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, $Target.Target01.DateAndTime.Date, date(2017, 10, 17)); |
||
→ L'afficheur est défini sur 10/17/2017 lorsque le déclenchement a lieu.
(Exemple 2)
Définissez la date et l'heure de l'afficheur sur la même date et la même heure que celles du périphérique externe.
(Exemple 2-1)
Définissez la date et l'heure (année, mois, jour, heures, minutes, secondes) du périphérique externe sur les variables entières INT1 à INT6, respectivement.
| Opération | Bloc de destination | Bloc source |
| [Set] |
Définissez la propriété source de la cible sur le bloc de cible. Target01.DateAndTime.Year Target01.DateAndTime.Month Target01.DateAndTime.Day Target01.DateAndTime.Hour Target01.DateAndTime.Minute Target01.DateAndTime.Second |
Définissez la variable INT1 sur INT6 dans le bloc de variable. |
Bloc![]() TexteonScheduledDay(23, 0, () => { changeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, $Target.Target01.DateAndTime.Year, INT1.Value); changeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, $Target.Target01.DateAndTime.Month, INT2.Value); changeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, $Target.Target01.DateAndTime.Day, INT3.Value); changeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, $Target.Target01.DateAndTime.Hour, INT4.Value); changeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, $Target.Target01.DateAndTime.Minute, INT5.Value); changeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, $Target.Target01.DateAndTime.Second, INT6.Value); }); |
||
→ La date et l'heure de l'afficheur sont définies sur la date et l'heure du périphérique externe à 23h00 tous les jours.
(Exemple 2-2)
Définissez la date et l'heure du périphérique externe dans une variable DATE_AND_TIME Var1 en tant que nombre de secondes (entier de 32 bits) par rapport au 1970/01/01 00:00:00 UTC. La relation entre la valeur de Var1 et la date et l'heure est décrite ci-dessous.
TIME, DATE, TIME_OF_DAY, DATE_AND_TIME
| Opération | Bloc de destination | Bloc source |
| [Set] | Définissez la propriété source de la cible Target01.DateAndTime.DateTime sur le bloc de cible. | Définissez la variable Var1 sur le bloc de variable. |
Bloc![]() TexteonScheduledDay(23, 0, () => { changeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, $Target.Target01.DateAndTime.DateTime, Var1.Value); }); |
||
→ La date et l'heure de l'afficheur sont définies sur la date et l'heure du périphérique externe à 23h00 tous les jours.
(Exemple 3)
Éteindre le rétroéclairage de l'afficheur.
| Opération | Bloc de destination | Bloc source |
| [Set] | Définissez la propriété source de la cible Target01.Preferences.BacklightOff sur le bloc de cible. | Définissez la variable BOOL1 avec la valeur 1 dans le bloc de variable. |
Bloc![]() TextechangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, $Target.Target01.Preferences.BacklightOff, BOOL1.Value); |
||
→ Le rétroéclairage de l'afficheur s'éteint lorsque le déclenchement a lieu.