Regelung mit timer

rachwe

Level-1
Beiträge
1
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute des S7 Forums…


// ******** WT1_Q184 Regelung Festwert Vsoll2 ******


U #start_timer
SPB x987
U "SOSPA"
= "U01ActD".WT1_Q184.ACo // Automatikansteuerung 1
= "U01PIDD".WT1_Q184_TC.MStC // PID-Regeler-Ausgangswert statisch
= #start_timer


L "U1Vsoll".Vsoll02
T "U01PIDD".WT1_Q184_TC.StC // PID-Regeler-Ausgangswert statisch %


// ********** Regelung nach 3 min zurücksetzten


x987: U #start_timer
L S5T#1M30S
SE T 445


U T 445
R "U01ActD".WT1_Q184.ACo
R "U01PIDD".WT1_Q184_TC.MStC


L 0.000000e+000
T "U01PIDD".WT1_Q184_TC.StC


  • Es handelt sich hier um eine Funktion die aus einem Baustein aufgerufen wird….
  • #start_timer ist eine temporäre Variable die nur in dieser Funktion Verwendung findet….so beim ersten Durchlauf der Funktion ist der Wert 0…im zweiten 1,weil der SPB bei VKE=0 nicht den linearen Programmablauf verlässt…und damit dann die Temporäre Variable 1 wird.
  • Wie aber sieht es mit der Temporären Variablen aus wenn die Funktion ein 2tes mal aufgerufen wird…ist sie dann wieder 0 oder bleibt der Wert der nach Ablauf des 1 Funktionsaufrufs die Variable inne hatte erhalten…
  • So dieser Programmausschnitt ist nicht Funktionstüchtig… Funktionsweise .Ein Regeler bekommt einen statischen Ausgangswert in % von "U1Vsoll".Vsoll02 zugewiesen (68%) soll aber nach 3 Minuten dann einen Wert von 0 zugewiesen bekommen.
  • Der Statische Ausgangswert wird sofort auf 0 gesetzt ohne auf den Ablauf der Zeit zu achten…aber wie lässt sich das Realisieren das der L 0.000000e+000 befehl auch mit dem Ablauf der Zeit realisiert wird….Denn die U T 445 wird 1 wenn die Zeit Abgelaufen ist….
  • Könnt ihr mir einen Vorschlag machen wie man das realisiert das es auch ordnungsgemäß funktioniert….
Gruss
rachwe
 
Wie aber sieht es mit der Temporären Variablen aus wenn die Funktion ein 2tes mal aufgerufen wird…ist sie dann wieder 0 oder bleibt der Wert der nach Ablauf des 1 Funktionsaufrufs die Variable inne hatte erhalten…
Das ganze ist purer Zufall, könnte 0 sein aber auch 1.
Temporäre Variablen sind gültig von Zuweisung bis Baustein-Ende.

Lösung:
FB mit STAT-Variable oder FC mit IN/OUT-Var, außen dann einen Merker o.ä.

Mfg
Manuel
 
Zurück
Oben