Herunterladen Diese Seite drucken

Siemens S7-200 System Administration Handbuch Seite 211

Vorschau ausblenden Andere Handbücher für S7-200:

Werbung

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.
S7-200 Befehlssatz
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
Kapitel 6
197

Quicklinks ausblenden:

Werbung

loading