Herunterladen Inhalt Inhalt Diese Seite drucken

Siemens SIMATIC S7-1200 Gerätehandbuch Seite 112

Vorschau ausblenden Andere Handbücher für SIMATIC S7-1200:
Inhaltsverzeichnis

Werbung

53BProgrammierung leicht gemacht
6.3 Leistungsstarke Anweisungen erleichtern die Programmierung
Programmierung von Zeiten
Die folgenden Konsequenzen von Zeiten sind bei der Planung und Erstellung Ihres
Anwenderprogramms zu berücksichtigen:
● Sie können mehrere Aktualisierungen einer Zeit im gleichen Zyklus haben. Die Zeit wird
● Sie können Zyklen ohne Zeitaktualisierung haben. Es ist möglich, Ihre Zeit in einer
● Es ist zwar nicht gerade üblich, aber Sie können mehreren Zeitanweisungen die gleiche
Selbstrücksetzende Zeiten sind bei Trigger-Aktionen nützlich, die regelmäßig auftreten
sollen. Typischerweise werden selbstrücksetzende Zeiten erstellt, indem ein Öffnerkontakt,
der das Zeitbit referenziert, vor der Zeitanweisung angeordnet wird. Dieses Zeitnetzwerk
befindet sich typischerweise oberhalb eines oder mehrerer abhängiger Netzwerke, die mit
dem Zeitbit Aktionen auslösen. Wenn die Zeit abläuft (die abgelaufene Zeit erreicht den
voreingestellten Wert), ist das Zeitbit einen Zyklus lang EIN, sodass die Logik der vom Zeitbit
gesteuerten abhängigen Netzwerke ausgeführt werden kann. Bei der nächsten Ausführung
des Zeitnetzwerks ist der Öffnerkontakt AUS, wodurch die Zeit zurückgesetzt und das Zeitbit
gelöscht wird. Im nächsten Zyklus ist der Öffnerkontakt EIN, weshalb die Zeit neu gestartet
wird. Beim Erstellen von selbstrücksetzenden Zeiten wie dieser verwenden Sie das Element
"Q" der Zeitstruktur im DB nicht als Parameter für den Öffnerkontakt vor der Zeitanweisung.
Verwenden Sie hierfür stattdessen die an den Ausgang "Q" der Zeitanweisung
angeschlossene Variable. Der Grund, weshalb vermieden werden sollte, auf das Element Q
der DB-Zeitstruktur zuzugreifen, ist der, dass dadurch eine Aktualisierung der Zeit verursacht
wird. Und wenn die Zeit durch den Öffnerkontakt aktualisiert wird, setzt der Kontakt die
Zeitanweisung sofort zurück. Der Ausgang Q der Zeitanweisung ist während dieses einen
Zyklus nicht EIN und die abhängigen Netzwerke werden nicht ausgeführt.
Die Zeitspulen -(TP)-, -(TON)-, -(TOF)- und -(TONR)- müssen immer die letzte Anweisung in
einem Netzwerk sein. Wie im Beispiel für eine Zeit gezeigt, wertet eine Kontaktanweisung in
einem nachfolgenden Netzwerk das Q-Bit in den Daten des DBs IEC_Timer einer Zeitspule
aus. Ebenso müssen Sie das Element ELAPSED in den Daten des DBs IEC_Timer
adressieren, wenn Sie den Wert der abgelaufenen Zeit in Ihrem Programm verwenden
möchten.
112
bei jeder Ausführung der Zeitanweisung (TP, TON, TOF, TONR) aktualisiert sowie jedes
Mal, wenn das Element ELAPSED oder Q der Zeitstruktur als Parameter einer anderen
ausgeführten Anweisung verwendet wird. Dies ist ein Vorteil, wenn Sie die neuesten
Zeitdaten benötigen (praktisch ein direktes Auslesen der Zeit). Wenn Sie jedoch während
eines Programmzyklus konsistente Werte nutzen möchten, ordnen Sie Ihre
Zeitanweisung vor allen anderen Anweisungen, die diese Werte benötigen, an und
verwenden statt der Elemente ELAPSED und Q der Zeitstruktur im DB die Variablen der
Ausgänge Q und ET der Zeitanweisung.
Funktion zu starten und diese Funktion dann für einen oder weitere Zyklen nicht mehr
aufzurufen. Wenn keine anderen Anweisungen ausgeführt werden, die die Elemente
ELAPSED oder Q der Zeitstruktur referenzieren, wird die Zeit nicht mehr aktualisiert. Eine
neue Aktualisierung tritt erst ein, wenn entweder die Zeitanweisung erneut ausgeführt
wird oder eine andere Anweisung ausgeführt wird, die ELAPSED oder Q aus der
Zeitstruktur als Parameter nutzt.
DB-Zeitstruktur zuweisen. In Allgemeinen sollten Sie, um unerwartete Wechselwirkungen
zu vermeiden, nur eine Zeit (TP, TON, TOF, TONR) pro DB-Zeitstruktur verwenden.
Gerätehandbuch, 11/2011, A5E02486775-04
Easy Book

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis