UTC-Time-Quality-BYTE-Formatspezifikation
Die TwinCAT UTC-Time-Quality-Komponenten werden in BYTE auf folgende Weise codiert:
Bit | Komponente | Typ | Wertebereich | Beschreibung |
---|---|---|---|---|
0 | LeapSecondsKnown | BIT | 0..1 | Qualität der Schaltsekunden (0:=Unbekannt, 1:=Bekannt). |
1 | ClockFailure | BIT | 0..1 | Qualität des Zeitgebers (0:=Gut, 1:=Fehlerhaft). |
2 | ClockNotSynchronized | BIT | 0..1 | Qualität der Uhrzeitsynchronisierung (0:=Synchron, 1:=Nicht synchron). |
3 | Accuracy0 | BIT | 0..1 (MSB) | Genauigkeit der Zeitinformation (Präzision des Bruchteils der Sekunde). Max. Anzahl der signifikanten Bits in der T_UtcTime.fractionOfSecond-Komponente. |
4 | Accuracy1 | BIT | 0..1 | |
5 | Accuracy2 | BIT | 0..1 | |
6 | Accuracy3 | BIT | 0..1 | |
7 | Accuracy4 | BIT | 0..1 (LSB) |
Codierung der Präzision in den UTC-Time.Quality.Accuracy0..4-Bits.
Präzision | Accuracy0 | Accuracy1 | Accuracy2 | Accuracy3 | Accuracy4 | E_UtcTimeAccuracy |
---|---|---|---|---|---|---|
0 Bit | 0 | 0 | 0 | 0 | 0 | Null |
1 Bit | 0 | 0 | 0 | 0 | 1 | _01 |
2 Bit | 0 | 0 | 0 | 1 | 0 | _02 |
3 Bit | 0 | 0 | 0 | 1 | 1 | _03 |
4 Bit | 0 | 0 | 1 | 0 | 0 | _04 |
5 Bit | 0 | 0 | 1 | 0 | 1 | _05 |
6 Bit | 0 | 0 | 1 | 1 | 0 | _06 |
7 Bit | 0 | 0 | 1 | 1 | 1 | _07 |
8 Bit | 0 | 1 | 0 | 0 | 0 | _08 |
9 Bit | 0 | 1 | 0 | 0 | 1 | _09 |
10 Bit | 0 | 1 | 0 | 1 | 0 | _10 |
11 Bit | 0 | 1 | 0 | 1 | 1 | _11 |
12 Bit | 0 | 1 | 1 | 0 | 0 | _12 |
13 Bit | 0 | 1 | 1 | 0 | 1 | _13 |
14 Bit | 0 | 1 | 1 | 1 | 0 | _14 |
15 Bit | 0 | 1 | 1 | 1 | 1 | _15 |
16 Bit | 1 | 0 | 0 | 0 | 0 | _16 |
17 Bit | 1 | 0 | 0 | 0 | 1 | _17 |
18 Bit | 1 | 0 | 0 | 1 | 0 | _18 |
19 Bit | 1 | 0 | 0 | 1 | 1 | _19 |
20 Bit | 1 | 0 | 1 | 0 | 0 | _20 |
21 Bit | 1 | 0 | 1 | 0 | 1 | _21 |
22 Bit | 1 | 0 | 1 | 1 | 0 | _22 |
23 Bit | 1 | 0 | 1 | 1 | 1 | _23 |
24 Bit | 1 | 1 | 0 | 0 | 0 | _24 |
Unzulässig | 1 | 1 | n | n | n | _25_invalid.._30_invalid |
Nicht spezifiziert | 1 | 1 | 1 | 1 | 1 | Unspecified |
Beispiele
Die folgende Tabelle enthält einige BYTE-Zahlenwerte und die Werte nach der Konvertierung in den formatierten UTC-Time-Quality-String und in den strukturierten Typ: T_UtcTimeQuality.
BYTE | STRING(9) | T_UtcTimeQuality | Beschreibung |
---|---|---|---|
2#00000000 | 'UQ#000|0' | STRUCT(0) | Alle Komponenten haben den Wert: 0. Präzision: 0 Bit. |
2#11000000 | 'UQ#000|3' | STRUCT(Accuracy3:=1, Accuracy4:=1) | Präzision: 3 Bit. Alle anderen Komponenten haben den Wert 0. |
2#10100100 | 'UQ#001|5' | STRUCT(ClockNotSynchronized:=1, Accuracy2:=1, Accuracy4:=1) | Zeitgeber ist nicht synchronisiert. |
2#11111010 | 'UQ#010|31' | STRUCT(ClockFailure:=1, Accuracy0:=1, Accuracy1:=1, Accuracy2:=1, Accuracy3:=1, Accuracy4:=1) | Zeitgeber meldet einen Fehler. Präzision: Nicht spezifiziert. Alle anderen Komponenten haben den Wert 0. |