Ausschaltverzögerung mit Analogwert einstellen

S

schwienbacher markus

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute!! Könnt ihr mir weiterhelfen?? Ich brauche eine Ausschaltverzögerung bis ca. 240 Minuten die ich per Analogwert einstellen kann?????
 
Einfacher Vorschlag:

1. Normiere den Analogeingang so, daß du bei Maximalwert eine 240 erhältst (einfache Umrechnung)
2. Bilde einen Minutenimpuls (entweder mit Hilfe des Systemtimers der S7 oder mit einem 60-Sek-Timer)
3.Bei Abschaltung (Start der Ablaufzeit) übernimmst du den normierten Analogwert (z.Bsp. 180 für 3 Std.) in einen Zähler (oder auch ein Datenwort) und zählst Ihn mit dem Minutenimpuls runter bis Null, bei Null ist dann Schluß, Zeit ist abgelaufen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@schwienbacher markus

Hier ein kleines Progi, nicht unbedingt der Weisheit letzter Schluß, aber das funzt erstmal.

Gruß Ralle
 

Anhänge

  • zeitverzug.zip
    1 KB · Aufrufe: 12
Ich benutze für flexible Zeiten immer die OB_PREV_CYCLE Systemvariable. in Deinem Fall wäre das eine speichernde Einschaltverz. als FB

Code:
Variablen 
Statisch:
Tempzeit	DINT
Flankenmerker	BOOL
Rennt		BOOL

Eingänge:
OB_Letzter	INT  // Hier immer OB_PREV_CYCLE 'auflegen'
Zeit		INT  // Der Analoge Eingang
Schalter	BOOL

Ausgänge:
Geschaltet	BOOL

Programm:

	U	Schalter
	FP	Flankenmerker
	SPB 	Init
	
	UN	Rennt	
	BEB

	L 	Tempzeit
	L	OB_Letzter
	-D			// Typenkonlikt, aber geht
	T	Tempzeit
	L	D#0
	<D
	R	Rennt
	S	Geschaltet

BE // Hier gehört nen BE hin sonst geht es nicht 
Init:	UN 	Rennt
	S	Rennt
	R	Geschaltet

	L	Zeit
	ITD
	DTR
	L 	27648
	ITD
	DTR
	/R
	L	1.44 E7  // 240 Min in Millisek.
	*R
	RND
	T	Tempzeit	
	BE
ist aus dem Kopf ins Notepad geschrieben, müßte aber vom Prinzip funzen

Gruß

Ralf
 
Nachtrag

Vorsicht, wenns über viele Tage geht,
über 590 Stunden kriegt man Schwierigkeiten

Gruß
Ralf
 
Zurück
Oben