Wertänderung

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

Baustein

Text

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]:

Hinweis: [Loop] unterstützt keine Variablen des Datentyps Real, die einen Stopp der Schleife auslösen, wenn der Maximalwert erreicht wird.

4: Quelle

Operation

[Set]
Baustein
[Set]
Text
'$Enums.AssignmentOperator.Set'

Oder '='

Schreibt das im verbundenen Baustein "Quelle" definierte Element - Variable, Konstante oder Ausdruck - in den Zielbaustein.

[AddTo]

Baustein

[AddTo]

Text
'$Enums.AssignmentOperator.AddTo'

Or'+='

Fügt das im verbundenen Baustein "Quelle" definierte Element - Variable, Konstante oder Ausdruck - zum Zielbaustein hinzu.

[SubTo]

Baustein

[SubTo]

Text
'$Enums.AssignmentOperator.SubTo'

Oder '-='

Subtrahiert das im verbundenen Baustein "Quelle" definierte Element - Variable, Konstante oder Ausdruck - vom Zielbaustein.

[MulTo]

Baustein

[MulTo]

Text
'$Enums.AssignmentOperator.MulTo'

Oder'*='

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
'$Enums.AssignmentOperator.DivTo' oder'/='
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
'$Enums.AssignmentOperator.AndTo' oder'&='
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
'$Enums.AssignmentOperator.OrTo' oder'|='
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]
Baustein
[XorTo]
Text
'$Enums.AssignmentOperator.XorTo' oder'^='
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
'$Enums.AssignmentOperator.NandTo'
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
'$Enums.AssignmentOperator.NorTo'
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.

 

Hinweis:

  • 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.

 

Variablenwertänderung - GANZZAHL

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.
Baustein
Text

changeValue($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.
Baustein
Text

changeValue($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
Text

changeValue($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
Text

changeValue($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
Text

changeValue($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
Text

changeValue($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
Text

changeValue($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
Text

changeValue($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
Text

changeValue($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
Text

changeValue($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.

Variablenwertänderung - DATUM UND UHRZEIT

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
Text

changeValue($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.

Hinweis: 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
Text

changeValue($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.

Variablenwertänderung - BOOL

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
Text

changeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, BOOL1, 1);

BOOL1 wird auf ON gesetzt, wenn der Auslöser auftritt.

Variablenwertänderung - STRING

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
Text

changeValue($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
Text

changeValue($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".

Wertänderung Objekt-Quelleigenschaft

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.
Baustein
Text

changeValue($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.
Baustein
Text

changeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, $GraphicObject.Lamp1.Interlock, 0);

→ Der Verrriegelungszustand von Lamp1 wird auf AUS gesetzt, wenn der Auslöser auftritt.

Wertänderung Variablen-Quelleigenschaft

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.  
Baustein
Text

changeValue($Enums.WhenOver.Loop, $Enums.AssignmentOperator.Set, INT1.Value, 1);

INT1.Value wird auf 1 gesetzt, wenn der Auslöser auftritt.

Wertänderung Plattform-Quelleigenschaft

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
Text

changeValue($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
Text

onScheduledDay(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
Text

onScheduledDay(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
Text

changeValue($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.