Diskussion über Beispiele für die Programmierung von SPS-Timern: Verschiedene SPS-Timer sind TON, TOF, TP und TONR. SPS-Timer-Anweisungen und Beispiele für die SPS-Timer-Logik.
SPS-Timer-Programmierung
Implementierung von IEC-Timern (TON, TOF, TP &TONR) in S7-1200 SPS mithilfe des TIA Portals.
In vielen Anwendungen besteht die Anforderung, Zeit oder Signalfluss zu steuern. Beispielsweise muss ein Ventil oder ein Motor so gesteuert werden, dass er für eine bestimmte Zeitspanne läuft, nach einer bestimmten Zeitspanne oder nach einer gewissen Verzögerung eingeschaltet wird.
Problemdiagramm
Problemlösung
Für dieses Problem verwenden wir IEC-Timer (TON, TOF, TP &TONR) in S7-1200 PLC mit Beispielen.
In PLCs sind eine Reihe verschiedener Formen von Timern zu finden. Wie im obigen Diagramm gezeigt,
- wird der Einschaltverzögerungstimer nach einer bestimmten Zeitverzögerung eingeschaltet.
- Der Ausschaltverzögerungstimer ist nach dem Ausschalten des Eingangs für eine festgelegte Zeitspanne eingeschaltet.
- Der Impulstimer schaltet für eine festgelegte Zeitspanne ein oder aus.
- Der Akkumulatortimer zeichnet Zeitintervalle auf.
Betrachten wir hier das Beispiel von vier Motoren und vier SCHALTERN zur Erklärung von Timern. Wir müssen drei Motoren auf unterschiedliche Weise starten.
- Der erste Motor startet nach einer Verzögerung von 10 Sekunden,
- der zweite Motor startet sofort und schaltet nach einer Verzögerung von 10 Sekunden aus,
- der dritte Motor startet mit einem Impuls und schaltet mit einer Verzögerung von 10 Sekunden aus.
- Der vierte Motor läuft insgesamt 10 Sekunden.
Liste der Eingänge/Ausgänge
Liste der Eingänge
- SCHALTER 1: I0.0
- SCHALTER 2: I0.1
- SCHALTER 3: I0.2
- SCHALTER 4: I0.3
- Reset: I0.4
Liste der Ausgänge
- MOTOR 1: Q0.0
- MOTOR 2: Q0.1
- MOTOR 3: Q0.2
- MOTOR 4: Q0.3
SPS-Kontaktplan für Timer
Wir können die Anweisung „Einschaltverzögerung generieren“ oder „Einschaltverzögerung“ verwenden, um das Setzen des Ausgangs Q um die programmierte Dauer PT zu verzögern. Die Anweisung wird gestartet, wenn das Ergebnis des Eingangs IN von 0 auf 1 wechselt (positive Flanke).
Sie können den aktuellen Zeitwert am ET-Ausgang des Timerblocks überwachen. Der Timerwert beginnt bei T#0s und endet, wenn der Wert der Dauer PT erreicht ist. Der ET-Ausgang wird zurückgesetzt, sobald der Signalzustand am Eingang IN auf 0 wechselt.
Mit der Anweisung Ausschaltverzögerung generieren oder Ausschaltverzögerungstimer können wir das Zurücksetzen des Ausgangs Q um die programmierte Dauer PT verzögern.
Der Ausgang Q wird gesetzt, wenn das Ergebnis der logischen Verknüpfung (RLO) am Eingang IN von 0 auf 1 wechselt (positive Signalflanke).
Wir können den aktuellen Zeitwert am ET-Ausgang überwachen.
Mit der Anweisung Impuls generieren können wir den Ausgang Q für eine programmierte Dauer setzen.
Die Anweisung wird gestartet, wenn das Ergebnis des Eingangs IN von 0 auf 1 wechselt (positive Flanke).
Die programmierte Zeit (PT) beginnt, wenn die Anweisung gestartet wird. Bei diesem Timer wird der Signalzustand am Ausgang Q selbst dann nicht beeinflusst, wenn eine neue positive Flanke erkannt wird, solange die PT-Zeitdauer läuft.
Der Zeitakkumulatorbefehl oder Akkumulatortimer wird verwendet, um Zeitwerte innerhalb eines durch den Parameter „Programmierte Zeit“ (PT) festgelegten Zeitraums zu akkumulieren.
Wenn der Signalzustand am Eingang IN von 0 auf 1 wechselt (positive Flanke), wird der Befehl ausgeführt und die Dauer PT startet.
In diesem Fall bleibt der Parameter Q auf 1 eingestellt, auch wenn der Signalzustand am Parameter IN von 1 auf 0 wechselt (negative Flanke). Der Eingang R setzt den Ausgang Q zurück.
Programmbeschreibung
In diesem Problem berücksichtigen wir die S7-1200-SPS und die TIA-Portalsoftware zur Programmierung.
Netzwerk 1:
In diesem Netzwerk haben wir einen Einschaltverzögerungstimer (Einschaltverzögerung generieren) für MOTOR 1 (Q0.0) verwendet.
Wenn sich der Status von SCHALTER 1 (I0.0) von 0 auf 1 ändert, wird die Timeranweisung ausgeführt und aktiviert MOTOR 1 (Q0.0) nach einer Verzögerung von 10 Sekunden.
Netzwerk 2:
In diesem Netzwerk haben wir einen Ausschaltverzögerungstimer (Ausschaltverzögerung generieren) für MOTOR 2 (Q0.1) verwendet.
Wenn sich der Status von SCHALTER 2 (I0.1) von 0 auf 1 ändert, wird die Timeranweisung ausgeführt und aktiviert MOTOR 2 (Q0.1) sofort.
Auch wenn sich der Status von SCHALTER 2 (I0.1) wieder auf 0 ändert, wird die programmierte Zeit (PT) gestartet und nach Ablauf der Zeit ist MOTOR 2 (Q0.1) AUS.
Netzwerk 3:
In diesem Netzwerk haben wir einen Impulstimer (Impuls generieren) für MOTOR 3 (Q0.2) verwendet.
Wenn der Status von SCHALTER 3 (I0.2) von 0 auf 1 wechselt, wird die Timeranweisung ausgeführt und aktiviert MOTOR 3 (Q0.2) sofort.
In diesem Fall wird der Status von MOTOR 3 (Q0.2) selbst dann nicht beeinflusst, wenn eine neue positive Flanke erkannt wird, solange die programmierte Zeit (PT) läuft.
Netzwerk 4:
In diesem Netzwerk haben wir einen Akkumulatortimer (Akkumulatorzeit) für MOTOR 4 (Q0.3) verwendet. Wenn der Status von SCHALTER 4 (I0.3) von 0 auf 1 wechselt, wird die Timeranweisung ausgeführt und MOTOR 4 (Q0.3) startet nach 10 s.
MOTOR 4 (Q0.2) bleibt eingeschaltet, auch wenn der Eingangsstatus wieder auf 0 wechselt. Der Reset (I0.4) ist erforderlich, um den Timer oder die akkumulierte Zeit zurückzusetzen.
Laufzeittestfälle