LOGO

Ingenieurbüro Gasperowicz

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.

Primäre VIF-Codes
Coding Description Range Coding Range
  integral values    
E000 0nnnEnergy10nnn-3 Wh0.001Wh to 10000Wh
E000 1nnnEnergy10nnn J0.001kJ to 10000kJ
E001 0nnnVolume10nnn-60.001l to 10000l
E001 1nnnMass10nnn-3 kg0.001kg to 10000kg
E010 00nnOn Time nn = 00 seconds
nn = 01 minutes
nn = 10 hours
nn = 11 days
 
E010 01nnOperating Timecoded like OnTime 
  averaged values    
E010 1nnnPower10nnn-3 W0.001W to 10000W
E011 0nnnPower10nnn J/h0.001kJ/h to 10000kJ/h
E011 1nnnVolume Flow10nnn-6 m³/h0.001l/h to 10000l/h
E100 0nnnVolume Flow ext.10nnn-7 m³/min0.0001l/min to 1000l/min
E100 1nnnVolume Flow ext.10nnn-9 m³/s0.001ml/s to 10000ml/s
E101 0nnnMass flow10nnn-3 kg/h0.001kg/h to 10000kg/h
  instantaneous values    
E101 10nnFlow Temperature
Temperatur Warmseite
10nn-3 °C0.001°C to 1°C
E101 11nnReturn Temperature
Temperatur Kaltseite
10nn-3 °C0.001°C to 1°C
E110 00nnTemperature Difference10nn-3 K1mK to 1000mK
E110 01nnExternal Temperature10nn-3 °C0.001°C to 1°C
E110 10nnPressure10nn-3 bar1mbar to 1000mbar
E110 110nTime Pointn = 0 date
n = 1 time & date
data type G
data type F
E110 1110Units for H.C.A. dimensionless
E110 1111Reserved  
  parameters    
E111 00nnAveraging Durationcoded like OnTime 
E111 01nnActuality Durationcoded like OnTime 
E111 1000Fabrication No  
E111 1001Enhanced Identification••  
E111 1010Bus 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 ):



Erweiterte Identifikation (VIF=79h,DIF=07h)
LSB64 Bit IntegerMSB
01234567
Ident.NrMANVersionMedium
4 Bytes2 Bytes1 Byte1 Byte
         
VIF-Codes für spezielle Zwecke
Coding Description Purpose
1111 1011Extension of VIF-codestrue 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.

Codes used with extension indicator FDh
Coding Description
Currency Units
E000 00nnCredit of 10nn-3 of the nominal local legal currency units
E000 01nnDebit of 10nn-3 of the nominal local legal currency units
E000 1000Access Number (transmission count)
Enhanced Identification
E000 1001Medium (as in fixed header)
E000 1010Manufacturer (as in fixed header)
E000 1011Parameter set identification
E000 1100Model / Version
E000 1101Hardware version #
E000 1110Firmware version #
E000 1111Software version #
Implementation of all TC294 WG1 requirements
(improved selection ..)
E001 0000Customer location
E001 0001Customer
E001 0010Access Code User
E001 0011Access Code Operator
E001 0100Access Code System Operator
E001 0101Access Code Developer
E001 0110Password
E001 0111Error flags (binary)
E001 1000Error mask
E001 1001Reserved
 
E001 1010Digital Output (binary)
E001 1011Digital Input (binary)
E001 1100Baudrate [Baud]
E001 1101response delay time [bittimes]
E001 1110Retry
E001 1111Reserved
Enhanced storage management
E010 0000First storage # for cyclic storage
E010 0001Last storage # for cyclic storage
E010 0010Size of storage block
E010 0011Reserved
E010 01nnStorage interval [sec..day]
E010 1000Storage interval month(s)
E010 1001Storage interval year(s)
E010 1010Reserved
E010 1011Reserved
E010 11nnDuration since last readout [sec..days]
Enhanced tariff management
E011 0000Start (date/time) of tariff••
E011 00nnDuration of tariff (nn=01 ..11: min to days)
E011 01nnPeriod of tariff [sec to days]
E011 1000Period of tariff months
E011 1001Period of tariff years
E011 1010dimensionless / no VIF
E011 1011Reserved
E011 11xxReserved
electrical units
E100 nnnn10nnnn-9 Volts
E101 nnnn10nnnn-12 Ampere
 
E110 0000Reset counter
E110 0001Cumulation counter
E110 0010Control signal
E110 0011Day of week
E110 0100Week number
E110 0101Time point of day change
E110 0110State of parameter activation
E110 0111Special supplier information
E110 10ppDuration since last cumulation [hours..years]•••
E110 11ppOperating time battery [hours..years]•••
E111 0000Date 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.

Codes used with extension indicator FBh
CodingDescriptionRange CodingRange
E000 000nEnergy10n-1 MWh0.1MWh to 1MWh
E000 001nReserved  
E000 01nnReserved  
E000 100nEnergy10n-1 GJ0.1GJ to 1GJ
E000 101nReserved  
E000 11nnReserved  
E001 000nVolume10n+2100m³ to 1000m³
E001 001nReserved  
E001 01nnReserved  
E001 100nMass10n+2 t100t to 1000t
E001 1010
....
E010 0000
Reserved  
E010 0001Volume0.1 feet³ 
E010 0010Volume0.1 american gallon 
E010 0011Volume1 american gallon 
E010 0100Volume flow 0.001 american gallon/min 
E010 0101Volume flow1 american gallon/min 
E010 0110Volume flow1 american gallon/h 
E010 0111Reserved  
E010 100nPower10n-1 MW0.1MW to 1MW
E010 101nReserved  
E010 11nnReserved  
E011 000nPower10n-1 GJ/h0.1GJ/h to 1GJ/h
E011 0010
....
E101 0111
Reserved  
E101 10nnFlow Temperature10nn-3 °F0.001°F to 1°F
E101 11nnReturn Temperature10nn-3 °F0.001°F to 1°F
E110 00nnTemperature Difference10nn-3 °F0.001°F to 1°F
E110 01nnExternal Temperature10nn-3 °F0.001°F to 1°F
E110 1nnnReserved  
E111 00nn Cold / Warm Temperature Limit10nn-3 °F0.001°F to 1°F
E111 01nnCold / Warm Temperature Limit10nn-3 °C0.001°C to 1°C
E111 1nnncumul. count max power10nnn-3 W0.001W to 10000W

Codes for Value Information Field Extension (VIFE)

Erweiterung der Bedeutung des VIF

Codes for Value Information Field Extension
VIFE-CodeDescriptionDecimal
E00x xxxxReserved for object actions (master to slave)
or for error codes (slave to master)
0...31
E010 0000per second32
E010 0001per minute33
E010 0010per hour34
E010 0011per day35
E010 0100per week36
E010 0101per month37
E010 0110per year38
E010 0111per revolution / measurement39
E010 100pincrement per input pulse on input channel #p40,41
E010 101pincrement per output pulse on output channel #p42,43
E010 1100per liter44
E010 1101per m³45
E010 1110per kg46
E010 1111per K (Kelvin)47
E011 0000per kWh48
E011 0001per GJ49
E011 0010per kW50
E011 0011per (K*l) (Kelvin*liter)51
E011 0100per V (Volt)52
E011 0101per A (Ampere)53
E011 0110multiplied by sek54
E011 0111multiplied by sek/V55
E011 1000multiplied by sek/A56
E011 1001start date(/time) of57
E011 1010VIF contains uncorrected unit instead of corrected unit58
E011 1011Accumulation only if positive contributions59
E011 1100Accumulation of abs value only if negative contributions60
E011 1101
...
E011 1111
Reserved61...63
E100 0000Lower limit value64
E100 0001# of exceeds of lower limit65
E100 0010Date (/time) of begin of first lower limit exceed66
E100 0011Date (/time) of end of first lower limit exceed67
E100 010xReserved68,69
E100 0110Date (/time) of begin of last lower limit exceed70
E100 0111Date (/time) of end of last lower limit exceed71
E100 1000Upper limit value72
E100 1001# of exceeds of upper limit73
E100 1010Date (/time) of begin of first upper limit exceed74
E100 1011Date (/time) of end of first upper limit exceed75
E101 110xReserved76,77
E100 1110Date (/time) of begin of last upper limit exceed78
E100 1111Date (/time) of end of last upper limit exceed79
E101 00nnDuration of first lower limit exceed [sec...days]80...83
E101 01nnDuration of last lower limit exceed [sec...days]84...87
E101 10nnDuration of first upper limit exceed [sec...days]88...91
E101 11nnDuration of last upper limit exceed [sec...days]92...95
E110 00nnDuration of first [sec...days]96...99
E110 01nnDuration of last [sec...days]100...103
E110 100xReserved104...105
E110 1010Date (/time) of begin of first106
E110 1011Date (/time) of end of first107
E110 110xReserved108,109
E110 1110Date (/time) of begin of last110
E110 1111Date (/time) of end of last111
E111 0nnnMultiplicative correction factor: 10nnn-6112...119
E111 10nnAdditive correction constant: 10nn-3 unit of VIF (offset)120...123
E111 1100Reserved124
E111 1101Multiplicative correction factor: 1000125
E111 1110future value126
E111 1111next VIFE's and data of this block are maufacturer specific127

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-Codes for reports of record errors
VIFE-CodeType of Record Error
 Group: DIF Errors
E000 0000None
E000 0001Too many DIFEs
E000 0010Storage number not implemented
E000 0011Unit number not implemented
E000 0100Tariff number not implemented
E000 0101Function not implemented
E000 0110Data class not implemented
E000 0111Data size not implemented
E000 1000 to
E000 1010
Reserved
 Group: VIF Errors
E000 1011Too many VIFEs
E000 1100Illegal VIF-Group
E000 1101Illegal VIF-Exponent
E000 1110VIF/DIF mismatch
E000 1111Unimplemented action
E001 0000 to
E001 0100
Reserved
 Group: Data Errors
E001 0101No data available (undefined value)
E001 0110Data overflow
E001 0111Data underflow
E001 1000Data error
E001 1001 to
E001 1011
Reserved
 Group: Other Errors
E001 1100Premature end of record
E001 1101 to
E001 1111
Reserved

VIFE-Codes for object actions (master to slave):


VIFE-Codes for object actions
VIFE-CodeActionExplanation
E000 0000Write (Replace)replace old with new data
E000 0001Add Valueadd data to old data
E000 0010Subtract Valuesubtract data from old data
E000 0011OR (Set Bits)data OR old data
E000 0100ANDdata AND old data
E000 0101XOR (Toggle Bits)data XOR old data
E000 0110AND NOT (Clear Bits)NOT data AND old data
E000 0111Clearset data to zero
E000 1000Add Entrycreate a new data record
E000 1001Delete Entrydelete an existing data record
E000 1010Reserved 
E000 1011Freeze Datafreeze data to storage no.
E000 1100Add to Readout-Listadd data record to RSP_UD
E000 1101Delete from Readout-Listdelete data record from RSP_UD
E000 111xReserved 
E001 xxxxReserved 

Bemerkungen:

Die Aktion "write (replace)" (VIFE = E000 0000) ist standard Aktion und gilt auch wenn kein VIFE im Datenrekord vorhanden ist.