Herunterladen Diese Seite drucken

Rockwell Automation Allen-Bradley Logix 5000 Referenzhandbuch Seite 557

Erweiterte prozesssteuerungs- und antriebsbefehle/anlagensequenzbefehle

Werbung

Programmierung mit strukturiertem Text
Wenn Folgendes durchgeführt werden soll,
Die WHILE_DO-Schleife wertet erst ihre Bedingungen aus. Besitzen die
Bedingungen den Wert True, führt die Steuerung die Befehle in der Schleife aus.
Darin liegt der Unterschied zur REPEAT_UNTIL-Schleife, weil diese die Befehle im
Konstrukt ausführt und anschließend feststellt, ob die Bedingungen den Wert
True besitzen – bevor die Befehle erneut ausgeführt werden. Die Befehle in einer
REPEAT_UNTIL-Schleife werden mindestens immer einmal ausgeführt. Die
Befehle in einer WHILE_DO-Schleife werden unter Umständen nie ausgeführt.
Wenn Folgendes durchgeführt werden soll,
Fügen Sie ASCII-Zeichen aus einem SINT-Datenfeld in ein Zeichenfolge-Tag ein. (In
einem SINT-Array enthält jedes Element ein Zeichen.) Beenden Sie es, wenn der
Wagenrücklauf erreicht ist.
Die Elementnummer auf 0 initialisieren.
Zählen Sie die Elementnummern in SINT_array (Datenfeld, dass die ASCII-Zeichen
enthält) und speichern Sie das Ergebnis in SINT_array_size (DINT-Tag).
Wenn das Zeichen bei SINT_array[element_number] = 13 (Dezimalwert des
Wagenrücklaufs), dann anhalten.
Legen Sie den Wert für String_tag[element_number] fest = das Zeichen bei
SINT_array[element_number].
Addieren Sie die Zahl 1 zur Elementnummer. Dadurch prüft die Steuerung das
nächste Zeichen im SINT-Datenfeld.
Legen Sie die Länge für String_tag = element_number fest. (Dadurch wird die
Anzahl der Zeichen in String_tag erfasst.)
Wenn der Wert für element_number = SINT_array_size, dann anhalten. (Sie
befinden sich am Ende des Datenfeldes, welches keinen Wagenrücklauf enthält.)
Strukturierter Text Attribut
Fehlerbedingungen
Ein schwerwiegender Fehler tritt auf, wenn:
die Schleife des Konstrukts ist zu lang
Beispiel 1
Geben Sie diesen strukturierten Text ein:
pos := 0;
While ((pos <= 100) & structarray[pos].value <> targetvalue)) do
end_while;
Beispiel 2
Geben Sie diesen strukturierten Text ein:
element_number := 0;
SIZE(SINT_array, 0, SINT_array_size);
While SINT_array[element_number] <> 13 do
String_tag.DATA[element_number] := SINT_array[element_number];
element_number := element_number + 1;
String_tag.LEN := element_number;
If element_number = SINT_array_size then
exit;
end_if;
end_while;
Klicken Sie auf eines der unten aufgeführten Themen, um weitere Informationen
speziell zur Programmiersprache Strukturierter Text zu erhalten. Schauen Sie sich
die Informationen noch einmal an, um sicherzugehen, dass Sie verstehen wie die
Programmiersprache Strukturierter Text funktioniert.
Siehe auch
Strukturierte Text Komponenten: Zuordnungen
Strukturierte Text Komponenten: Ausdrücke
Rockwell Automation-Publikation 1756-RM006K-DE-P - November - 2018
Fehlertyp
6
pos := pos + 2;
String_tag.DATA[pos] := SINT_array[pos];
Kapitel 10
Fehlercode
1
auf
seite 531
auf
seite 534
557

Werbung

loading