Herunterladen Inhalt Inhalt Diese Seite drucken

Beispiel Zur Verwendung Von Waitforcondition Mit Zeitüberwachung Direkt In Nicht Zyklischer Task / Motion Task - Siemens SIMOTION SCOUT Funktionshandbuch

Vorschau ausblenden Andere Handbücher für SIMOTION SCOUT:
Inhaltsverzeichnis

Werbung

6.1.7.6
Beispiel zur Verwendung von WAITFORCONDITION mit Zeitüberwachung direkt in nicht
zyklischer Task / Motion Task
Beschreibung
Beispiel zur Zeitüberwachung der Expression (WAITFORCONDITION).
Der Aufruf erfolgt direkt in einer MotionTask.
Die Zeitüberwachung ist vom Typ TON, mit Aufruf innerhalb der Expression und Abfrage des
Outputs.
INTERFACE
END_INTERFACE
IMPLEMENTATION
expr_timeout(pt := t1, IN := TRUE);
//Warten bis v1 > 500 oder Zeit t1 abgelaufen
Basisfunktionen
Funktionshandbuch, 05/2009
TYPE
eDiagType : (TIMEOUT, COUNTER_REACHED, NOTHING);
END_TYPE
VAR_GLOBAL
eDiag
: eDiagType := NOTHING;
v1
: INT
t1
: TIME := T#0d_0h_0m_3s_0ms;
END_VAR
PROGRAM testExpression;
PROGRAM increaseV1;
EXPRESSION expr
VAR_IN_OUT
v : INT;
t : TON;
END_VAR
t();
expr := v > 500 OR t.q;
END_EXPRESSION
//MotionTask
PROGRAM testExpression
VAR_TEMP
expr_timeout : TON;
END_VAR
// Überwachungszeit setzen, und Timer aktivieren
WAITFORCONDITION expr(v := v1, t := expr_timeout) DO
IF (expr_timeout.q) THEN
// Fehlerbehandlung
// Zeit t1 ist abgelaufen ohne das v1 > 500 wurde
eDiag := TIMEOUT;
... ;
ELSE
// Gutfall,
eDiag := COUNTER_REACHED;
... ;
Programmieren Ablaufsystem/Tasks/Systemtakte
:= 0;
v1 > 500
6.1 Ablaufsystem
261

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis