Variable als Zeitvorgabe

Nikro

Level-1
Beiträge
19
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin.

Ich habe in einem Projekt eine bestimmte Zeit die eine Pumpe laufen soll, wenn ein bestimmter Sensor auslöst.

Diese Zeit wollte ich aber per Display feinjustierbar machen.

Dazu nutze ich ein CTUD.

Den Ausgabewert möchte ich gerne dem Baustein TP übergeben.

Der benötigt am Eingang ja standardmäßig etwas wie "t#20s".

Wie kann ich das durch meine Variable ersetzen?

"t#'WORDWERT's " funktioniert leider nicht :-(

Kann mir da jemand einen Tipp geben?
 
in etwa geht das so:



//Deklaration:
MeinInteger: INT;
MeineZeit: TIME;


//Code:
MeinInteger := 66; (* Millisekunden *)
MeineZeit := INT_TO_TIME(MeinInteger);

Gruss
Lothar
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
dem TP (oder auf TON , TOF) mußt du eine TIME übergeben. TIME ist im grunde ein DWORD oder DINT, der in millisekunden skaliert ist (6,5 s = 6500 ms).
Du mußt also aus deinem Counter erstmal ein INT machen, den entsprechend hochmultiplizieren und dann als TIME-Variable dem SFB übergeben ...

Gruß
Larry
 
im Fup lautet der Befehl z.b.

REAL_TO_TIME
der Wert ist dann mal 1000 zu nehmen und kann direkt an den TON oder TP angeschaltet werden.
 
Habe es mit WORD_TO_TIME probiert und es funktioniert wie gewünscht ! :D

Vielen Dank für die Tips und die schnelle Hilfe !
 
Die neue Zeit sollte eigentlich Problemlos übernommen werden. Ist die neue Zeit länger, läuft der Timer entsprechend länger. Wird sie kürzer, löst der Timer eher aus (oder sofort wenn der Grenzwert überschritten wird).

Ich habe eine Klappensteuerung die über einen Timer läuft. Die Zeit, für die die Klappe offen sein soll berechnet sich aus einem Temperaturwert. Wenn sich die Temperatur ändert während der Timer läuft, verhält es sich genau so wie ich oben geschrieben habe.
 
Zurück
Oben