Thread Verzögerung von Ereignissen (17 answers)
Opened by piet at 2015-06-02 16:18

Gast piet
 2015-06-11 12:51
#181319 #181319
Hallo Leute,

sorry für die schlechte Doku. Die Verzögerung "sleep(1)" ist nur zum testen. Normal läuft die while-Schleife natürlich ohne Verzögerung.
Innerhalb der while-Schleife sind 400 Zeilen Code mit mehreren Timern.

Kurze Beschreibung


TON = Abkürzung für Timer "einschaltverzögert" (Timer ON) d.h. der Timmer läuft nur wenn vke = 1
vke = Abkürzung für "Verknüpfungsergebnis" ... heißt halt so in meinem "Milieu" ;-)
Das vke (Bedingung EIN/AUS) wird beim Aufruf
Code (perl): (dl )
$timer_1->TON($i > 100,10000)
mit übergeben.

Hier einmal ein
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
my $timer_1 = timer->new();

while (1)
{
  sleep(1);
  
  if ($timer_1->TON($i > 100,10000))    # vke = $i > 100 = 1
  { print '$i > 100 und Zeit ist abgelaufen'.\n"; }
  else
  { print "Zeit läuft=".int($timer_1->{aktzeit}/1000)."\n"; }  # Zeit läuft noch wenn $i > 100 oder Zeit läuft nicht wenn $i <=100, nur erkennbar ob "aktzeit" = 0 oder "aktzeit" >< 0
} 


Wie gesagt die
Code (perl): (dl )
$timer_1->{aktzeit}
brauche ich um den Zeitverlauf zu visualisieren.
z.B. $i > 100 und eine Zeit von 20000ms. Somit kann ich über die "aktzeit" im Visualisierungssystem anzeigen, wieviel "Restzeit" noch laufen muss um das "Ergebnis" von $i > 100 + 20sek. auszulösen.

Ich hoffe ich konnte es etwas besser erklären.

Gruß
piet
Last edited: 2015-06-11 13:13:53 +0200 (CEST)

View full thread Verzögerung von Ereignissen