Mit der Operation „Wertänderung“ werden Wert und Eigenschaft von Variable, Objekt und Plattform geändert.

changeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, TARGET, EXPRESSION);
3 1 2 4
1: Operation
2: Ziel
3: When over
Legen Sie den Vorgang für den Fall, dass der Wert den Bereich überschreitet, fest.
Einstellung in [When over]:
[Loop] unterstützt keine Variablen des Datentyps Real, die einen Stopp der Schleife auslösen, wenn der Maximalwert erreicht wird.
4: Quelle
| [Set] |
BausteinTextOder '=' |
Schreibt das im verbundenen Baustein "Quelle" definierte Element - Variable, Konstante oder Ausdruck - in den Zielbaustein. |
|
[AddTo] |
Baustein[AddTo] TextOr'+=' |
Fügt das im verbundenen Baustein "Quelle" definierte Element - Variable, Konstante oder Ausdruck - zum Zielbaustein hinzu. |
|
[SubTo] |
Baustein[SubTo] TextOder '-=' |
Subtrahiert das im verbundenen Baustein "Quelle" definierte Element - Variable, Konstante oder Ausdruck - vom Zielbaustein. |
|
[MulTo] |
Baustein[MulTo] TextOder'*=' |
Multipliziert den Wert des Zielbausteins mit der im Quellbaustein angegebenen Variable, Konstante oder dem Ausdruck und kopiert das Ergebnis in den Zielbaustein. |
|
[DivTo] |
Baustein[DivTo] Text |
Dividiert den Wert des Zielbausteins durch die im Quellbaustein angegebene Variable, Konstante oder den Ausdruck und kopiert das Ergebnis in den Zielbaustein. |
|
[AndTo] |
Baustein[AndTo] Text |
Führt eine AND-Operation (logisches Produkt) zwischen der im Baustein "Quelle" und im Zielbaustein definierten Ganzzahl oder Variablen aus und kopiert das Ergebnis in den Zielbaustein. |
|
[OrTo] |
Baustein[OrTo] Text |
Führt eine OR-Operation (logische Summe) zwischen der im Baustein "Quelle" und im Zielbaustein definierten Ganzzahl oder Variablen aus und kopiert das Ergebnis in den Zielbaustein. |
| [XorTo] |
BausteinText |
Führt eine XOR-Operationen (exklusive logische Summe) zwischen der im Baustein "Quelle" und im Zielbaustein definierten Ganzzahl oder Variablen aus und kopiert das Ergebnis in den Zielbaustein. |
|
[NandTo] |
Baustein[NandTo] Text |
Führt eine NAND-Operation (logisches Produkt gefolgt von NOT) zwischen der im Baustein "Quelle" und im Zielbaustein definierten Ganzzahl oder Variablen aus und kopiert das Ergebnis in den Zielbaustein. |
|
[NorTo] |
Baustein[NorTo] Text |
Führt eine NOR-Operation (logische Summe gefolgt von einem Inverter) zwischen der im Baustein "Quelle" und im Zielbaustein definierten Ganzzahl oder Variablen aus und kopiert das Ergebnis in den Zielbaustein. |
Es können keine negativen Werte in einem Math-Baustein und bei der Operation „Wertänderung“ unter Verwendung der mathematischen Operatoren Dividieren (/) oder Modulo (%) verwenden werden.
Wenn Sie 16 oder mehr Dezimalziffern in einer Operation „Wertänderung“ (AddTo, SubTo DivTo, MulTo) verwenden, nutzen Sie LINT oder ULINT als Zielvariable.
Mit der Operation [Wertänderung] können Sie eine Variable oder eine Quelleigenschaft als Ziel festlegen.
Legen Sie den Wert des Quellblocks auf die Variable im Zielbaustein fest.
(Beispiel): Set
| Operation | Zielbaustein | Baustein Quelle |
| [Set] | Richten Sie die Variable INT1 auf den Baustein "Variable" aus. | Wählen Sie [Int] aus und richten Sie 5 im Baustein Konstante ein. |
BausteinTextchangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, INT1, 5); |
||
→ INT1 wird auf 5 gesetzt, wenn das Skript ausgeführt wird.
(Beispiel): AddTo
| Operation | Zielbaustein | Baustein Quelle |
| [AddTo] | Richten Sie die Variable INT1 auf den Baustein "Variable" aus. | Wählen Sie [Int] aus und richten Sie 7 im Baustein Konstante ein. |
BausteinTextchangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.AddTo, INT1, 7); |
||
→ Wenn INT1 bei der Ausführung des Skripts 3 ist, wird 7 des Quellbausteins hinzugefügt und INT1 wird 10.
(Beispiel): SubTo
| Operation | Zielbaustein | Baustein Quelle |
| [SubTo] | Richten Sie die Variable INT1 auf den Baustein "Variable" aus. | Wählen Sie [Int] aus und richten Sie 3 im Baustein Konstante ein. |
Baustein![]() TextchangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.SubTo, INT1, 3); |
||
→ Wenn INT1 bei der Ausführung des Skripts 5 ist, wird der Wert 3 im Quellbaustein subtrahiert und INT1 wird zu 2.
(Beispiel): DivTo
| Operation | Zielbaustein | Baustein Quelle |
| [DivTo] | Richten Sie die Variable INT1 auf den Baustein "Variable" aus. | Wählen Sie [Int] aus und richten Sie 2 im Baustein Konstante ein. |
Baustein![]() TextchangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.DivTo, INT1, 2); |
||
→ Wenn INT1 bei der Ausführung des Skripts 5 ist, wird sein Wert durch den Quellbausteinwert 2 geteilt und INT1 wird zu 2. Handelt es sich bei dem Wert um eine ganze Zahl, wird der Dezimalpunktwert abgeschnitten.
(Beispiel): MulTo
| Operation | Zielbaustein | Baustein Quelle |
| [MulTo] | Richten Sie die Variable INT1 auf den Baustein "Variable" aus. | Wählen Sie [Int] aus und richten Sie 5 im Baustein Konstante ein. |
Baustein![]() TextchangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.MulTo, INT1, 5); |
||
→ Wenn INT1 bei der Ausführung des Skripts 3 ist, wird sein Wert durch den Quellbausteinwert 5 geteilt und INT1 wird zu 15.
(Beispiel): AndTo
| Operation | Zielbaustein | Baustein Quelle |
| [AndTo] | Richten Sie die Variable SINT1 auf den Baustein "Variable" aus. | Richten Sie die Variable SINT2 auf den Baustein "Variable" aus. |
Baustein![]() TextchangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.AndTo, SINT1, SINT2); |
||
→ Wenn SINT1 den Wert 3 (binär: 00000011) und SINT2 den Wert 5 (binär: 00000101) hat, wird SINT1 beim Auftreten des Auslösers den Wert 1 (binär: 00000001) haben.
Der logische Ausdruck wandelt den Wert des Zielbausteins und des Quellbausteins in Binärzahlen um und berechnet das logische Produkt an jeder Stelle. Setzen Sie das Ergebnis auf die ursprüngliche Radix zurück und in den Zielblock.
(Beispiel): OrTo
| Operation | Zielbaustein | Baustein Quelle |
| [OrTo] | Richten Sie die Variable SINT1 auf den Baustein "Variable" aus. | Richten Sie die Variable SINT2 auf den Baustein "Variable" aus. |
Baustein![]() TextchangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.OrTo, SINT1, SINT2); |
||
→ Wenn SINT1 den Wert 3 (binär: 00000011) und SINT2 den Wert 5 (binär: 00000101) hat, wird SINT1 beim Auftreten des Auslösers den Wert 7 (binär: 00000111) haben.
Der logische Ausdruck wandelt den Wert des Zielbausteins und des Quellbausteins in Binärzahlen um und berechnet die logische Summe an jeder Stelle. Setzen Sie das Ergebnis auf die ursprüngliche Radix zurück und in den Zielblock.
(Beispiel): XorTo
| Operation | Zielbaustein | Baustein Quelle |
| [XorTo] | Richten Sie die Variable SINT1 auf den Baustein "Variable" aus. | Richten Sie die Variable SINT2 auf den Baustein "Variable" aus. |
Baustein![]() TextchangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.XorTo, SINT1, SINT2); |
||
→ Wenn SINT1 den Wert 3 (binär: 00000011) und SINT2 den Wert 5 (binär: 00000101) hat, wird SINT1 beim Auftreten des Auslösers den Wert 6 (binär: 00000110) haben.
Der logische Ausdruck wandelt den Wert des Zielbausteins und des Quellbausteins in Binärzahlen um und berechnet eine exklusive logische Summe an jeder Stelle. Setzen Sie das Ergebnis auf die ursprüngliche Radix zurück und in den Zielblock.
(Beispiel): NandTo
| Operation | Zielbaustein | Baustein Quelle |
| [NandTo] | Richten Sie die Variable SINT1 auf den Baustein "Variable" aus. | Richten Sie die Variable SINT2 auf den Baustein "Variable" aus. |
Baustein![]() TextchangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.NandTo, SINT1, SINT2); |
||
→ Wenn SINT1 den Wert 3 (binär: 00000011) und SINT2 den Wert 5 (binär: 00000101) hat, wird SINT1 beim Auftreten des Auslösers den Wert -2 (binär: 11111110) haben.
Der logische Ausdruck wandelt den Wert des Zielbausteins und des Quellbausteins in Binärzahlen um und berechnet das negative logische Produkt an jeder Stelle. Setzen Sie das Ergebnis auf die ursprüngliche Radix zurück und in den Zielblock.
(Beispiel): NorTo
| Operation | Zielbaustein | Baustein Quelle |
| [NorTo] | Richten Sie die Variable SINT1 auf den Baustein "Variable" aus. | Richten Sie die Variable SINT2 auf den Baustein "Variable" aus. |
Baustein![]() TextchangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.NorTo, SINT1, SINT2); |
||
→ Wenn SINT1 den Wert 3 (binär: 00000011) und SINT2 den Wert 5 (binär: 00000101) hat, wird SINT1 beim Auftreten des Auslösers den Wert -8 (binär: 11111000) haben.
Der logische Ausdruck wandelt den Wert des Zielbausteins und des Quellbausteins in Binärzahlen um und berechnet eine logische Summe, gefolgt von einem Inverter an jeder Stelle. Setzen Sie das Ergebnis auf die ursprüngliche Radix zurück und in den Zielblock.
Der Wert "Datum und Uhrzeit" der Quellvariable wird auf die Zielvariable ausgerichtet.
Die Variablen DATE, TIME_OF_DAY, und DATE_AND_TIME unterstützen die Operatorem [Set] und [AddTo].
Im folgenden wird die Operation veranschaulicht, wenn der Baustein "Quelle" und der Baustein "Ziel" den Variablen DATE, TIME_OF_DAY oder DATE_AND_TIME entsprechen.
| Operation | Baustein Quelle | Zielbaustein | Verhalten |
| [Set] | DATE | DATE | Datum einrichten. |
| TIME_OF_DAY | Es wurde kein Wert eingestellt. | ||
| DATE_AND_TIME | Nur Datum einrichten. | ||
| TIME_OF_DAY | DATE | Es wurde kein Wert eingestellt. | |
| TIME_OF_DAY | Uhrzeit einrichten. | ||
| DATE_AND_TIME | Nur Uhrzeit einrichten. | ||
| DATE_AND_TIME | DATE | Nur Datum einrichten. | |
| TIME_OF_DAY | Nur Uhrzeit einrichten. | ||
| DATE_AND_TIME | Datum und Uhrzeit einrichten. | ||
| [AddTo] | DATE | DATE | Datum hinzufügen. |
| TIME_OF_DAY | Es wurde kein Wert eingestellt. | ||
| DATE_AND_TIME | Nur Datum hinzufügen. | ||
| TIME_OF_DAY | DATE | Es wurde kein Wert eingestellt. | |
| TIME_OF_DAY | Zeit hinzufügen. | ||
| DATE_AND_TIME | Nur Zeit hinzufügen. | ||
| DATE_AND_TIME | DATE | Nur Datum hinzufügen. | |
| TIME_OF_DAY | Nur Zeit hinzufügen. | ||
| DATE_AND_TIME | Datum und Uhrzeit hinzufügen. |
(Beispiel): Set
| Operation | Zielbaustein | Baustein Quelle |
| [Set] | Richten Sie die Variable TIME_OF_DAY1 auf den Baustein "Variable" aus. | Wählen Sie [TIME_OF_DAY] aus und richten Sie im Baustein Konstante 00:15:00 ein. |
Baustein![]() TextchangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, TIME_OF_DAY1, timeOfDay(00, 15, 00)); |
||
→ Wenn der Auslöser auftritt, wird die Zeit in TIME_OF_DAY1 auf 00:15:00 eingestellt.
Wenn ein Quellbaustein auf ein [Konstante] Datum oder eine konstante Uhrzeit eingestellt ist, wird jeder nicht in der Konstante enthaltene Datums- oder Zeitwert auf Null gesetzt. Wenn Sie z. B. eine konstante Zeit in die Variable DATE_AND_TIME schreiben, wird der Datumswert 0 (1970/01/01).
(Beispiel): AddTo
| Operation | Zielbaustein | Baustein Quelle |
| [AddTo] | Richten Sie die Variable DATE_AND_TIME1 auf den Baustein "Variable" aus. | Wählen Sie [TIME_OF_DAY] aus und richten Sie im Baustein Konstante 00:15:00 ein. |
Baustein![]() TextchangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.AddTo, DATE_AND_TIME1, timeOfDay(00, 15, 00)); |
||
→ Wenn DATE_AND_TIME1 bei der Ausführung des Auslösers 2024/10/01 12:34:56 ist, wird 00:15:00 im Quellbaustein hinzugefügt und DATE_AND_TIME1 wird zu 2024/10/01 12:49:56.
Ein einziges Datenbit wird auf die Zielvariable ausgerichtet.
(Beispiel): Set
| Operation | Zielbaustein | Baustein Quelle |
| [Set] | Richten Sie die Variable BOOL1 auf den Baustein "Variable" aus. | Wählen Sie [Int] aus und richten Sie 1 im Baustein Konstante ein. |
Baustein![]() TextchangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, BOOL1, 1); |
||
→ BOOL1 wird auf ON gesetzt, wenn der Auslöser auftritt.
Eine Zeichenfolge wird auf die Zielvariable ausgerichtet.
(Beispiel): Set
| Operation | Zielbaustein | Baustein Quelle |
| [Set] | Richten Sie die Variable STRING1 auf den Baustein "Variable" aus. | Wählen Sie [STRING] aus und richten Sie im Baustein Konstante "DEF" ein. |
Baustein![]() TextchangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, STRING1, "DEF"); |
||
→ STRING1 wird auf DEF gesetzt, wenn der Auslöser auftritt.
(Beispiel): AddTo
| Operation | Zielbaustein | Baustein Quelle |
| [AddTo] | Richten Sie die Variable STRING1 auf den Baustein "Variable" aus. | Wählen Sie [STRING] aus und richten Sie im Baustein Konstante "DEF" ein. |
Baustein![]() TextchangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.AddTo, STRING1, "DEF"); |
||
→ Wenn STRING1 "AB" ist, wird beim Auftreten des Auslösers "DEF" zum Quellbaustein hinzugefügt und STRING1 wird zu "ABDEF".
Setzen Sie den Wert im Quellbaustein auf die Quelleigenschaft im Zielbaustein.
(Beispiel 1)
| Operation | Zielbaustein | Baustein Quelle |
| [Set] | Legen Sie die Objekt-Quelleigenschaft Rectangle1.Thickness auf den Objektbaustein fest. | Wählen Sie [Int] aus und richten Sie 10 im Baustein Konstante ein. |
BausteinTextchangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, $GraphicObject.Rectangle1.Thickness, 10); |
||
→ Die Umrandungsstärke von Rectangle1 wird zu 10, wenn der Auslöser auftritt.
(Beispiel 2)
| Operation | Zielbaustein | Baustein Quelle |
| [Set] | Legen Sie die Objekt-Quelleigenschaft Lamp1.Interlock auf den Objektbaustein fest. | Wählen Sie [Int] aus und richten Sie 0 im Baustein Konstante ein. |
BausteinTextchangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, $GraphicObject.Lamp1.Interlock, 0); |
||
→ Der Verrriegelungszustand von Lamp1 wird auf AUS gesetzt, wenn der Auslöser auftritt.
Setzen Sie den Wert im Quellbaustein auf die Quelleigenschaft im Zielbaustein.
(Beispiel)
| Operation |
Zielbaustein |
Baustein Quelle |
| [Set] | Legen Sie die Variablen-Quelleigenschaft INT1.Value auf den Baustein Variable fest. | Wählen Sie [Int] aus und richten Sie 1 im Baustein Konstante ein. |
BausteinTextchangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, INT1.Value, 1); |
||
→ INT1.Value wird auf 1 gesetzt, wenn der Auslöser auftritt.
Setzen Sie den Wert im Quellbaustein auf die Quelleigenschaft im Zielbaustein.
(Beispiel 1)
Legen Sie ein Datum für die Plattform fest.
| Operation | Zielbaustein | Baustein Quelle |
| [Set] | Legen Sie Plattform-Quelleigenschaft Target01.DateAndTime.Date auf den Plattformbaustein fest. | Wählen Sie [Date] aus und richten Sie 10/17/2017 im Baustein Konstante ein. |
Baustein![]() TextchangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, $Target.Target01.DateAndTime.Date, date(2017, 10, 17)); |
||
→ Anzeigegerät wird auf 17.10.2017 gesetzt, wenn der Auslöser auftritt.
(Beispiel 2)
Passen Sie das Datum und die Uhrzeit des Anzeigegeräts dem Datum und der Uhrzeit des externen Geräts an.
(Beispiel 2- 1)
Legen Sie das Datum und die Uhrzeit (Jahr, Monat, Tag, Stunden, Minuten, Sekunden) des externen Geräts auf die Ganzzahlvariablen INT1 bis INT6 fest.
| Operation | Zielbaustein | Baustein Quelle |
| [Set] |
Legen Sie die Plattform-Quelleigenschaft auf den Baustein Plattform fest. Target01.DateAndTime.Year Target01.DateAndTime.Month Target01.DateAndTime.Day Target01.DateAndTime.Hour Target01.DateAndTime.Minute Target01.DateAndTime.Second |
Legen Sie die Variablen INT1 bis INT6 auf den Baustein Variable fest |
Baustein![]() TextonScheduledDay(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); }); |
||
→ Das Datum und die Uhrzeit am Anzeigegerät werden täglich um 23:00 Uhr auf das Datum und die Uhrzeit des externen Geräts eingestellt.
(Beispiel 2- 2)
Stellen Sie Datum und Uhrzeit des externen Geräts in einer DATE_AND_TIME-Variable Var1 als Anzahl von Sekunden (32-Bit-Ganzzahl) ab 01.01.1970 00:00:00 UTC ein. Informationen zur Beziehung zwischen dem Wert von Var1 und dem Datum und der Uhrzeit erhalten Sie unter:
TIME, DATE, TIME_OF_DAY, DATE_AND_TIME
| Operation | Zielbaustein | Baustein Quelle |
| [Set] | Legen Sie die Plattform-Quelleigenschaft Target01.DateAndTime.DateTime auf den Baustein Plattform fest. | Richten Sie die Variable Var1 auf den Baustein "Variable" aus. |
Baustein![]() TextonScheduledDay(23, 0, () => { changeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, $Target.Target01.DateAndTime.DateTime, Var1.Value); }); |
||
→ Das Datum und die Uhrzeit am Anzeigegerät werden täglich um 23:00 Uhr auf das Datum und die Uhrzeit des externen Geräts eingestellt.
(Beispiel 3)
Schalten Sie die Hintergrundbeleuchtung des Anzeigegeräts aus.
| Operation | Zielbaustein | Baustein Quelle |
| [Set] | Legen Sie die Plattform-Quelleigenschaft Target01.Preferences.BacklightOff auf den Baustein Plattform fest. | Richten Sie die Variable BOOL1 mit dem Wert 1 im Baustein „Variable“ ein. |
Baustein![]() TextchangeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, $Target.Target01.Preferences.BacklightOff, BOOL1.Value); |
||
→ Die Hintergrundbeleuchtung des Anzeigegeräts schaltet sich aus, wenn die Auslösung erfolgt.