Physikalische Einheiten und Wertigkeiten
VIF/VIFE codes
Primäre VIF-Codes (Value Information Field)
Der erste Block der Tabelle beinhaltet akkumulierte, der zweite durchschnittliche, der dritte augenblickliche Werte und der vierte Parameter.
Coding | Description | Range Coding | Range |
---|---|---|---|
integral values | |||
E000 0nnn | Energy | 10nnn-3 Wh | 0.001Wh to 10000Wh |
E000 1nnn | Energy | 10nnn J | 0.001kJ to 10000kJ |
E001 0nnn | Volume | 10nnn-6 m³ | 0.001l to 10000l |
E001 1nnn | Mass | 10nnn-3 kg | 0.001kg to 10000kg |
E010 00nn | On Time |
nn = 00 seconds nn = 01 minutes nn = 10 hours nn = 11 days | |
E010 01nn | Operating Time | coded like OnTime | |
averaged values | |||
E010 1nnn | Power | 10nnn-3 W | 0.001W to 10000W |
E011 0nnn | Power | 10nnn J/h | 0.001kJ/h to 10000kJ/h |
E011 1nnn | Volume Flow | 10nnn-6 m³/h | 0.001l/h to 10000l/h |
E100 0nnn | Volume Flow ext. | 10nnn-7 m³/min | 0.0001l/min to 1000l/min |
E100 1nnn | Volume Flow ext. | 10nnn-9 m³/s | 0.001ml/s to 10000ml/s |
E101 0nnn | Mass flow | 10nnn-3 kg/h | 0.001kg/h to 10000kg/h |
instantaneous values | |||
E101 10nn | Flow Temperature Temperatur Warmseite | 10nn-3 °C | 0.001°C to 1°C |
E101 11nn | Return Temperature Temperatur Kaltseite | 10nn-3 °C | 0.001°C to 1°C |
E110 00nn | Temperature Difference | 10nn-3 K | 1mK to 1000mK |
E110 01nn | External Temperature | 10nn-3 °C | 0.001°C to 1°C |
E110 10nn | Pressure | 10nn-3 bar | 1mbar to 1000mbar |
E110 110n | Time Point | n = 0 date n = 1 time & date | data type G data type F |
E110 1110 | Units for H.C.A. | dimensionless | |
E110 1111 | Reserved | ||
parameters | |||
E111 00nn | Averaging Duration | coded like OnTime | |
E111 01nn | Actuality Duration | coded like OnTime | |
E111 1000 | Fabrication No | ||
E111 1001 | Enhanced Identification | ||
E111 1010 | Bus Address | data type C (x=8) |
Bemerkungen:
- Die Bezeichnungen "Flow Temperature" und "Return Temperature" werden als Vorlauf- bzw. Rücklauftempertur übersetzt.
Sie werden in den Telegrammen von Wärmezählern eingesetzt. Arbeitet ein Wärmezähler in seiner Standardanwendung als Messgerät für verbrauchte Wärme so stimmen diese Begriffe.
Wird ein Wärmezähler zur Messung der hergestellten Wärme z.B. bei Solaranlagen eingesetzt, so stimmen die Bezeichnungen nicht mehr.
In diesem Fall kann man folgende übersetzungen vornehmen:
Flow Temperature - Temperatur Warmseite.
Return Temperature - Temperatur Kaltseite.
- Erweiterte Identifikation (Enhanced Identification Record) :
Mit diesem VIF-Code kann die sekundäre Addresse geändert werden. Zwei Fälle sind zu unterscheiden:
1) Datenfeld stellt nur die Identifikationsnummer dar:
DIF = 0Ch VIF = 79h Data=Identification No. (8 digit BCD)
2) Datenfeld stellt die gesamte Sekundäradresse dar:
DIF = 07h VIF = 79h Data= complete ID (64 bit integer)
Das Datenfeld (64 bit) ist dann wie folgt codiert ( wie im DRH bei variablen Datenstruktur ):
LSB | 64 Bit Integer | MSB | |||||
---|---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Ident.Nr | MAN | Version | Medium | ||||
4 Bytes | 2 Bytes | 1 Byte | 1 Byte |
Coding | Description | Purpose |
---|---|---|
1111 1011 | Extension of VIF-codes | true VIF is given in the first VIFE and is coded using table VIF-FB) (128 new VIF-Codes) |
E111 1100 | VIF in following string (length in first byte) |
allows user definable VIFs (in plain ASCII-String) |
1111 1101 | Extension of VIF-codes | true VIF is given in the first VIFE and is coded using table VIF-FD) (128 new VIF-Codes) |
E111 1110 | Any VIF | used for readout selection of all VIFs |
E111 1111 | Manufacturer Specific | VIFEs and data of this block are manufacturer specific |
Bemerkungen:
Das Codieren von VIF als ASCII-String kombiniert mit ASCII-String codierten Daten (DIF=1101b) erlaubt eine Darstellung der Daten in frei definierter Form.
Erweiterungen von primären VIF-Codes
Bei einem VIF-Wert von FDh oder FBh (extension indicators) befindet sich der "wahre" VIF Wert in dem ersten VIFE Byte.
Coding | Description |
---|---|
Currency Units | |
E000 00nn | Credit of 10nn-3 of the nominal local legal currency units |
E000 01nn | Debit of 10nn-3 of the nominal local legal currency units |
E000 1000 | Access Number (transmission count) |
Enhanced Identification | |
E000 1001 | Medium (as in fixed header) |
E000 1010 | Manufacturer (as in fixed header) |
E000 1011 | Parameter set identification |
E000 1100 | Model / Version |
E000 1101 | Hardware version # |
E000 1110 | Firmware version # |
E000 1111 | Software version # |
Implementation of all TC294 WG1 requirements (improved selection ..) |
|
E001 0000 | Customer location |
E001 0001 | Customer |
E001 0010 | Access Code User |
E001 0011 | Access Code Operator |
E001 0100 | Access Code System Operator |
E001 0101 | Access Code Developer |
E001 0110 | Password |
E001 0111 | Error flags (binary) |
E001 1000 | Error mask |
E001 1001 | Reserved |
E001 1010 | Digital Output (binary) |
E001 1011 | Digital Input (binary) |
E001 1100 | Baudrate [Baud] |
E001 1101 | response delay time [bittimes] |
E001 1110 | Retry |
E001 1111 | Reserved |
Enhanced storage management | |
E010 0000 | First storage # for cyclic storage |
E010 0001 | Last storage # for cyclic storage |
E010 0010 | Size of storage block |
E010 0011 | Reserved |
E010 01nn | Storage interval [sec..day] |
E010 1000 | Storage interval month(s) |
E010 1001 | Storage interval year(s) |
E010 1010 | Reserved |
E010 1011 | Reserved |
E010 11nn | Duration since last readout [sec..days] |
Enhanced tariff management | |
E011 0000 | Start (date/time) of tariff |
E011 00nn | Duration of tariff (nn=01 ..11: min to days) |
E011 01nn | Period of tariff [sec to days] |
E011 1000 | Period of tariff months |
E011 1001 | Period of tariff years |
E011 1010 | dimensionless / no VIF |
E011 1011 | Reserved |
E011 11xx | Reserved |
electrical units | |
E100 nnnn | 10nnnn-9 Volts |
E101 nnnn | 10nnnn-12 Ampere |
E110 0000 | Reset counter |
E110 0001 | Cumulation counter |
E110 0010 | Control signal |
E110 0011 | Day of week |
E110 0100 | Week number |
E110 0101 | Time point of day change |
E110 0110 | State of parameter activation |
E110 0111 | Special supplier information |
E110 10pp | Duration since last cumulation [hours..years] |
E110 11pp | Operating time battery [hours..years] |
E111 0000 | Date and time of battery change |
....... | Reserved |
Bemerkungen:
nn=00 Sekunden
01 Minuten
10 Stunden
11 Tage
Die Information ob das Datum/Zeit Feld als Typ G oder F behandelt werden soll, lässt sich aus dem Datenfeld schliessen:
Datenfeld 16 Bit Integer - Datum (Typ G)
Datenfeld 32 Bit Integer - Datum und Uhrzeit (Typ F)
pp=00 Stunden
01 Tage
10 Monate
11 Jahre
# - Anzahl (Number)
Bei einem VIF-Wert von FDh oder FBh (extension indicators) befindet sich der "wahre" VIF Wert in dem ersten VIFE Byte.
Coding | Description | Range Coding | Range |
---|---|---|---|
E000 000n | Energy | 10n-1 MWh | 0.1MWh to 1MWh |
E000 001n | Reserved | ||
E000 01nn | Reserved | ||
E000 100n | Energy | 10n-1 GJ | 0.1GJ to 1GJ |
E000 101n | Reserved | ||
E000 11nn | Reserved | ||
E001 000n | Volume | 10n+2 m³ | 100m³ to 1000m³ |
E001 001n | Reserved | ||
E001 01nn | Reserved | ||
E001 100n | Mass | 10n+2 t | 100t to 1000t |
E001 1010 .... E010 0000 | Reserved | ||
E010 0001 | Volume | 0.1 feet³ | |
E010 0010 | Volume | 0.1 american gallon | |
E010 0011 | Volume | 1 american gallon | |
E010 0100 | Volume flow | 0.001 american gallon/min | |
E010 0101 | Volume flow | 1 american gallon/min | |
E010 0110 | Volume flow | 1 american gallon/h | |
E010 0111 | Reserved | ||
E010 100n | Power | 10n-1 MW | 0.1MW to 1MW |
E010 101n | Reserved | ||
E010 11nn | Reserved | ||
E011 000n | Power | 10n-1 GJ/h | 0.1GJ/h to 1GJ/h |
E011 0010 .... E101 0111 | Reserved | ||
E101 10nn | Flow Temperature | 10nn-3 °F | 0.001°F to 1°F |
E101 11nn | Return Temperature | 10nn-3 °F | 0.001°F to 1°F |
E110 00nn | Temperature Difference | 10nn-3 °F | 0.001°F to 1°F |
E110 01nn | External Temperature | 10nn-3 °F | 0.001°F to 1°F |
E110 1nnn | Reserved | ||
E111 00nn | Cold / Warm Temperature Limit | 10nn-3 °F | 0.001°F to 1°F |
E111 01nn | Cold / Warm Temperature Limit | 10nn-3 °C | 0.001°C to 1°C |
E111 1nnn | cumul. count max power | 10nnn-3 W | 0.001W to 10000W |
Codes for Value Information Field Extension (VIFE)
Erweiterung der Bedeutung des VIF
VIFE-Code | Description | Decimal |
---|---|---|
E00x xxxx | Reserved for object actions (master to slave) or for error codes (slave to master) | 0...31 |
E010 0000 | per second | 32 |
E010 0001 | per minute | 33 |
E010 0010 | per hour | 34 |
E010 0011 | per day | 35 |
E010 0100 | per week | 36 |
E010 0101 | per month | 37 |
E010 0110 | per year | 38 |
E010 0111 | per revolution / measurement | 39 |
E010 100p | increment per input pulse on input channel #p | 40,41 |
E010 101p | increment per output pulse on output channel #p | 42,43 |
E010 1100 | per liter | 44 |
E010 1101 | per m³ | 45 |
E010 1110 | per kg | 46 |
E010 1111 | per K (Kelvin) | 47 |
E011 0000 | per kWh | 48 |
E011 0001 | per GJ | 49 |
E011 0010 | per kW | 50 |
E011 0011 | per (K*l) (Kelvin*liter) | 51 |
E011 0100 | per V (Volt) | 52 |
E011 0101 | per A (Ampere) | 53 |
E011 0110 | multiplied by sek | 54 |
E011 0111 | multiplied by sek/V | 55 |
E011 1000 | multiplied by sek/A | 56 |
E011 1001 | start date(/time) of | 57 |
E011 1010 | VIF contains uncorrected unit instead of corrected unit | 58 |
E011 1011 | Accumulation only if positive contributions | 59 |
E011 1100 | Accumulation of abs value only if negative contributions | 60 |
E011 1101 ... E011 1111 | Reserved | 61...63 |
E100 0000 | Lower limit value | 64 |
E100 0001 | # of exceeds of lower limit | 65 |
E100 0010 | Date (/time) of begin of first lower limit exceed | 66 |
E100 0011 | Date (/time) of end of first lower limit exceed | 67 |
E100 010x | Reserved | 68,69 |
E100 0110 | Date (/time) of begin of last lower limit exceed | 70 |
E100 0111 | Date (/time) of end of last lower limit exceed | 71 |
E100 1000 | Upper limit value | 72 |
E100 1001 | # of exceeds of upper limit | 73 |
E100 1010 | Date (/time) of begin of first upper limit exceed | 74 |
E100 1011 | Date (/time) of end of first upper limit exceed | 75 |
E101 110x | Reserved | 76,77 |
E100 1110 | Date (/time) of begin of last upper limit exceed | 78 |
E100 1111 | Date (/time) of end of last upper limit exceed | 79 |
E101 00nn | Duration of first lower limit exceed [sec...days] | 80...83 |
E101 01nn | Duration of last lower limit exceed [sec...days] | 84...87 |
E101 10nn | Duration of first upper limit exceed [sec...days] | 88...91 |
E101 11nn | Duration of last upper limit exceed [sec...days] | 92...95 |
E110 00nn | Duration of first [sec...days] | 96...99 |
E110 01nn | Duration of last [sec...days] | 100...103 |
E110 100x | Reserved | 104...105 |
E110 1010 | Date (/time) of begin of first | 106 |
E110 1011 | Date (/time) of end of first | 107 |
E110 110x | Reserved | 108,109 |
E110 1110 | Date (/time) of begin of last | 110 |
E110 1111 | Date (/time) of end of last | 111 |
E111 0nnn | Multiplicative correction factor: 10nnn-6 | 112...119 |
E111 10nn | Additive correction constant: 10nn-3 unit of VIF (offset) | 120...123 |
E111 1100 | Reserved | 124 |
E111 1101 | Multiplicative correction factor: 1000 | 125 |
E111 1110 | future value | 126 |
E111 1111 | next VIFE's and data of this block are maufacturer specific | 127 |
Bemerkungen:
"Date(/time) of" bzw. "Duration of" beziehen sich auf die Information in dem DRH.
nn=00 Sekunden
01 Minuten
10 Stunden
11 Tage
# - Anzahl (Number)
Die Information ob das Datum/Zeit Feld als Typ G oder F behandelt werden soll, lässt sich aus dem Datenfeld schliessen:
Datenfeld 16 Bit Integer - Datum (Typ G)
Datenfeld 32 Bit Integer - Datum und Uhrzeit (Typ F)
VIFE-Codes für recordspezifische Fehler (slave to master):
VIFE-Code | Type of Record Error |
---|---|
Group: DIF Errors | |
E000 0000 | None |
E000 0001 | Too many DIFEs |
E000 0010 | Storage number not implemented |
E000 0011 | Unit number not implemented |
E000 0100 | Tariff number not implemented |
E000 0101 | Function not implemented |
E000 0110 | Data class not implemented |
E000 0111 | Data size not implemented |
E000 1000 to E000 1010 | Reserved |
Group: VIF Errors | |
E000 1011 | Too many VIFEs |
E000 1100 | Illegal VIF-Group |
E000 1101 | Illegal VIF-Exponent |
E000 1110 | VIF/DIF mismatch |
E000 1111 | Unimplemented action |
E001 0000 to E001 0100 | Reserved |
Group: Data Errors | |
E001 0101 | No data available (undefined value) |
E001 0110 | Data overflow |
E001 0111 | Data underflow |
E001 1000 | Data error |
E001 1001 to E001 1011 | Reserved |
Group: Other Errors | |
E001 1100 | Premature end of record |
E001 1101 to E001 1111 | Reserved |
VIFE-Codes for object actions (master to slave):
VIFE-Code | Action | Explanation |
---|---|---|
E000 0000 | Write (Replace) | replace old with new data |
E000 0001 | Add Value | add data to old data |
E000 0010 | Subtract Value | subtract data from old data |
E000 0011 | OR (Set Bits) | data OR old data |
E000 0100 | AND | data AND old data |
E000 0101 | XOR (Toggle Bits) | data XOR old data |
E000 0110 | AND NOT (Clear Bits) | NOT data AND old data |
E000 0111 | Clear | set data to zero |
E000 1000 | Add Entry | create a new data record |
E000 1001 | Delete Entry | delete an existing data record |
E000 1010 | Reserved | |
E000 1011 | Freeze Data | freeze data to storage no. |
E000 1100 | Add to Readout-List | add data record to RSP_UD |
E000 1101 | Delete from Readout-List | delete data record from RSP_UD |
E000 111x | Reserved | |
E001 xxxx | Reserved |
Bemerkungen:
Die Aktion "write (replace)" (VIFE = E000 0000) ist standard Aktion und gilt auch wenn kein VIFE im Datenrekord vorhanden ist.