Ein Register speichert eine Nummer. Es sind insgesamt 999 Register für alle Programme in der Steuerung verfügbar. Standardmäßig gibt es 32 Register. Register werden durch Nummern identifiziert. Die Anzahl der Register kann während eines gesteuerten Starts erhöht werden. Weitere Informationen zum Ausführen eines kontrollierten Starts finden Sie unter "Systembetrieb" im Anhang des Installations- und Bedienhandbuchs. Registeranweisungen manipulieren Registerdaten arithmetisch.
Viele Anweisungen benutzen direkte oder indirekte Adressierungstechniken. Bei der direkten Adressierung wird der tatsächliche Wert in die Anweisung eingegeben. Wenn z.B. die Registeranweisung R[2]=5 verwendet wird, wird der aktuelle Inhalt des Registers 2 ersetzt durch den Wert 5.
Bei der indirekten Adressierung enthält die Anweisung ein Register innerhalb eines Registers. Das bedeutet, dass der tatsächliche Wert des internen Registers zur Registernummer des externen Registers wird. Siehe Abb. 106, "Beispiel für direkte und indirekte Adressierung".
In Abbildung 106, "Beispiel für direkte und indirekte Adressierung", stellt die erste Anweisung ein Beispiel für direkte Adressierung dar. Diese Anweisung bewirkt, dass der aktuelle Inhalt von Register 3 ersetzt wird durch den Wert 2.
Die zweite Anweisung in Abbildung 106, "Beispiel für direkte und indirekte Adressierung", stellt ein Beispiel für indirekte Adressierung dar. In dieser Anweisung ist R[3] der interne Register und R[R[3]] der externe Register. Da bei der vorhergehende Anweisung der Wert des internen Registers R[3] 2 ist, wird die externe Registernummer R[R[3]=2] oder R[2]. Das Ergebnis der zweiten Anweisung ist daher, dass der Inhalt des externen Register, R[2], ersetzt wird durch den Wert 5.
Die Anweisung R[x] = [Wert] speichert einen Wert in einem Register. Siehe Abb. 107, "R[x] = [Wert]" .
Die Anweisung R[x] = [Wert] [Operator] [Wert] speichert das Ergebnis einer Rechenoperation in einem Register. Diese Rechenoperationen sind
Addition
Subtraktion
Multiplikation
Division
Ganzzahlen-Division (DIV)
Restdivision (MOD)
Siehe Abb. 108, "R[x] = [Wert][Operator][Wert]" .
Sie können in einer einzigen Anweisung mehrere Rechen-Operationszeichen verwenden. Es gelten jedoch die folgenden Einschränkungen:
Es können + und - in einer Anweisung zusammen verwendet werden. Die Rechenoperationen in einer Anweisung mit + und - werden von links nach rechts ausgeführt. Es kann kein * oder / in einer Anweisung, die bereits + oder - enthält, verwendet werden.
Es können * und / in einer Anweisung zusammen verwendet werden. Die Rechenoperationen in einer Anweisung mit + und - werden von links nach rechts ausgeführt. Es kann kein + oder - in einer Anweisung, die bereits * oder / enthält, verwendet werden.
Es können maximal 5 arithmetische Operatoren in einer Anweisung verwendet werden.