Thread Verzögerung von Ereignissen
(17 answers)
Opened by piet at 2015-06-02 16:18
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) 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} 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) |