Siemens 6ES7223-1BH22-0XA0 EM 223 Digital Input / Output Module 6ES7223-1BH22-0XA0 用户手册

产品代码
6ES7223-1BH22-0XA0
下载
页码 538
S7-200 Befehlssatz
Kapitel 6
197
Beispiel: Erstellen einer Tabelle
Das folgende Programm erstellt eine Tabelle mit 20 Einträgen. Die erste Adresse in der Tabelle gibt die Länge
der Tabelle an (in diesem Fall 20 Einträge). Die zweite Adresse zeigt die aktuelle Anzahl der Einträge in der
Tabelle an. Die anderen Adressen enthalten die Einträge. Eine Tabelle kann maximal 100 Einträge enthalten.
Darin eingeschlossen sind nicht die Parameter für die maximale Länge der Tabelle und die tatsächliche
Anzahl der Einträge (hier VW0 und VW2). Die tatsächliche Anzahl der Einträge in der Tabelle (hier VW2) wird
von der CPU automatisch bei jedem Befehl erhöht bzw. verringert.
Bevor Sie mit einer Tabelle arbeiten, müssen Sie die maximale Anzahl Einträge in der Tabelle zuordnen.
Ansonsten können Sie keine Einträge in die Tabelle eingeben. Stellen Sie außerdem sicher, dass alle Lese-
und Schreibbefehle über Flanken aktiviert werden.
Zum Durchsuchen der Tabelle muss der Index (VW106) vor Ausführen der Suche auf 0 gesetzt werden. Wird
eine Entsprechung gefunden, gibt der Index die Nummer des Tabelleneintrags an. Wird jedoch keine
Entsprechung gefunden, gibt der Index die aktuelle Eintragszahl der Tabelle (VW2) an.
Netzwerk 1
//Tabelle mit 20 Einträgen mit Beginn an
//Adresse 4 erstellen.
//1. Im ersten Zyklus maximale Länge
//
der Tabelle definieren.
LD
SM0.1
MOVW
+20, VW0
Netzwerk 2
//Tabelle m. Eingang E0.0 zurücksetzen.
//Bei steigender Flanke an E0.0,
//Adressen ab VW2 mit ”+0” belegen.
LD
E0.0
EU
FILL
+0, VW2, 21
Netzwerk 3
//Wert mit Eingang E0.1 in Tabelle
//schreiben. Bei steigender Flanke an
//E0.1, Wert aus Adresse VW100 in
//Tabelle kopieren.
LD
E0.1
EU
ATT
VW100, VW0
Netzwerk 4
//Ersten Tabellenwert mit Eingang E0.2
//lesen. Letzten Tabellenwert in VW102
//verschieben. Dadurch wird die Anzahl
//der Einträge verringert. Bei steigender
//Flanke an E0.2, letzten Tabellenwert in
//VW102 übertragen.
LD
E0.2
EU
LIFO
VW0, VW102
Netzwerk 5
//Letzten Tabellenwert mit Eingang E0.3
//lesen. Ersten Tabellenwert in VW102
//verschieben. Dadurch wird die Anzahl
//der Einträge verringert.
//Bei steigender Flanke an E0.0,
//ersten Tabellenwert in VW104
//übertragen.
LD
E0.3
EU
FIFO
VW0, VW104
Netzwerk 6
//Tabelle nach erster Adresse
//durchsuchen, die den Wert 10 hat.
//1. Bei steigender Flanke an E0.4,
//
Pointer auf Index zurücksetzen.
//2. Tabelleneintrag suchen, der gleich
//
10 ist.
LD
E0.4
EU
MOVW
+0, VW106
FND=
VW2, +10, VW106