Neurorancer
Level-2
- Beiträge
- 572
- Reaktionspunkte
- 4
-> Hier kostenlos registrieren
Guten Tag,
ich möchte einen Ventil ansteuern.
Dazu muss das Relais des Ventils für eine kurze Zeit an gehen.
Dazu habe ich mir Folgendes überlegt und möchte Ihre Meinung dazu wissen:
ich erstelle einen Impuls mit Hilfe von einem TP-Timer.
Damit dieser Timer an-geht muss die variable timer_start auf "true" gehen.
Nun möchte ich den Timer im Programm starten.
dazu setze ich die Variable
Der Timer befindet sich im Programmcode "ganz oben" auf jeden Fall vor der Anweisung:
Wenn der Timer detektiert, dass die Variable "timer_start" auf true ist,
wird der Timer gestartet. Gleich danach prüfe ich, ob der Timer auch wirklich gestartet hat und setze die
Variable "timer_start" auf false.
Somit ergibt sich folgender Konstrukt:
.
.
Anweisungen
.
.
.
.
.
Anweisungen
.
"timer_start" := true;
.
.
.
Anweisungen
.
.
Das Ganze funktioniert ziemlich gut,
was sagt Ihr dazu? Oder wie macht Ihr das?
ich möchte einen Ventil ansteuern.
Dazu muss das Relais des Ventils für eine kurze Zeit an gehen.
Dazu habe ich mir Folgendes überlegt und möchte Ihre Meinung dazu wissen:
ich erstelle einen Impuls mit Hilfe von einem TP-Timer.
Damit dieser Timer an-geht muss die variable timer_start auf "true" gehen.
Code:
"IEC_Timer_0_DB".TP(IN:="timer_start",
PT:= T#5S,
Q=> "timer_ausgang");
Nun möchte ich den Timer im Programm starten.
dazu setze ich die Variable
Code:
"timer_start" := true;
Der Timer befindet sich im Programmcode "ganz oben" auf jeden Fall vor der Anweisung:
Code:
"timer_start" := true;
Wenn der Timer detektiert, dass die Variable "timer_start" auf true ist,
wird der Timer gestartet. Gleich danach prüfe ich, ob der Timer auch wirklich gestartet hat und setze die
Variable "timer_start" auf false.
Code:
"IEC_Timer_0_DB".TP(IN:="timer_start",
PT:= T#5S,
Q=> "timer_ausgang");
IF "IEC_Timer_0_DB".Q = true THEN
"timer_start" := false;
END_IF;
Somit ergibt sich folgender Konstrukt:
.
.
Anweisungen
.
.
Code:
"IEC_Timer_0_DB".TP(IN:="timer_start",
PT:= T#5S,
Q=> "timer_ausgang");
IF "IEC_Timer_0_DB".Q = true THEN
"timer_start" := false;
END_IF;
.
.
.
Anweisungen
.
"timer_start" := true;
.
.
.
Anweisungen
.
.
Das Ganze funktioniert ziemlich gut,
was sagt Ihr dazu? Oder wie macht Ihr das?