An diesen Ausgang der Zeit können Sie eine beliebige Word-Variable anschließen. In diese Variable wird dann kontinuierlich der aktuelle Wert der Zeit übertragen. Für einfache SPS-Programme wird dies nicht benötigt.
An diesem Ausgang wird der aktuelle Wert der Zeit BCD-codiert zusammen mit dem Zeitraster ausgeben, mit dem die Zeit gestartet wurde, Sie können ihn also direkt verwenden, um eine andere Zeit zu starten.
Wenn Sie die ausgelesene Zeitdauer in ms umrechnen wollen, können Sie z.B. folgenden AWL-Code programmieren:
LC |
Tx |
// 0 < x < 511; LC = Lade codiert |
|
T |
#ZeitW |
// #ZeitW ist als Word-Variable deklariert |
|
L |
W#16#0FFF |
// Maske für BCD-codierten Roh-Wert |
|
UW |
// most significant nibble ausblenden |
||
BTI |
// BCD - INT Konvertierung |
||
T |
#Roh |
// #Roh ist als Int-Variable deklariert |
|
L |
#ZeitW |
// Zwischengespeicherter Wert |
|
SRW |
12 |
// 12 Bits nach rechts schieben |
|
SPL |
err |
// Sprungliste |
|
SPA |
R0 |
// Zeitraster 10 ms |
|
SPA |
R1 |
// Zeitraster 100 ms |
|
SPA |
R2 |
// Zeitraster 1 s |
|
SPA |
R3 |
// Zeitraster 10 s |
|
err : |
NOP |
0 |
|
R0 |
L |
10 |
// 10 ms der Wert |
SPA |
Mul |
||
R1 |
L |
100 |
// 100 ms |
SPA |
Mul |
||
R2 |
L |
1000 |
// 1.000 ms = 1 s |
SPA |
Mul |
||
R3 |
L |
10000 |
// 10.000 ms = 10 s |
Mul : |
L |
#Roh |
|
*D |
// Achtung! Das Ergebnis kann > 32767 sein // Jetzt liegt die Zeit in ms dualcodiert als 32-Bit-Zahl im Akku 1 |