- UNIVERSAL
0Read Unique Identifier
2Read Primary Variable Current and Percent of Range
CONFORMANCE CLASS #2
- UNIVERSAL
11Read Unique Identifier Associated with Tag
12Read Message
13Read Tag, Descriptor, Date
14Read Primary Variable Sensor Information
15Read Primary Variable Output Information
16Read Final Assembly Number
CONFORMANCE CLASS #3
- UNIVERSAL
3Read All Dynamic Variables and Current
- COMMON-PRACTICE
33Read Transmitter Variables
48Read Additional Transmitter Status
50Read Dynamic Variable Assignments
60Read Analog Output and Percent of Range
- TRANSMITTER-SPECIFIC
130Read Meter Size
132Read Frequency/Pulse Output Damping Value
134 Read Analog Output Low Flow Cutoff Control and Values
138Read Analog Output Function
140Read Current Output Parameters
142Read Frequency/Pulse Output Parameters
146Read Flow Direction and Primary Head Constant
148Read User Data
153Read Error List
156 Read Device-Specific Units and Enumerators
158Read Transmitter Variable Range Values
CONFORMANCE CLASS #4
- COMMON-PRACTICE
34 Write Primary Variable Damping Value
35Write Primary Variable Range Values
36Set Primary Variable Upper Range Value
38Reset Configura t i on Changed Flag
66Enter/Exit Fixed Analog Output Mode
- TRANSMITTER-SPECIFIC
133Write Frequency/Pulse Output Damping Value
137Reset Totalizers
150Enable/Disable Password Protection
152Quit Errors
159Write Transmitter Variable Range Values
-UNIVERSAL
6Write Polling Address
17Write Message
18Write Tag, Descriptor, Date
19Write Final Assembly Number
- COMMON-PRACTICE
44Write Primary Variable Units
53Write Transmitter Variable Units
59Write Number of Response Preambles
- TRANSMITTER-SPECIFIC
131Write Meter Size
135 Write Analog Output Low Flow Cutoff Control and Values
139Write Analog Output Function
141Write Current Output Parameters
143Write Frequency/Pulse Output Parameters
147Write Flow Direction and Primary Head Parameters
149Write User Data
151Control Zero Calibration
157 Write Device-Specific Units and Enumerators
The Busy Response Code is implemented for
reported if an EEPROM-burning operation was activated (by some preceeding command of Write or Command type),
that is not yet concluded. The burning time cannot exceed 700 msec (the worst case), though normally is carried out
within TT0 interval (256 ms). A confirming response is made before the execution begins (but after validation of a
request data).
every
command despite of its type (Read, Write or Command) and is
4.2Transmitter-Specific Command Error
Response code value 6 for UFC500 implies that device is controllled directly via its keypad and is reserved for further
transmitter revisions. For the present revision this response is overriden by the Busy Response Code: when the
instrument is operated manually, HART application layer doesnít get control.
SECOND BYTE
All the flags that are implemented by transmitter, are listed below.
4.3Configuration Changed
Bit #6
This flag is set whenever any configuration parameter is changed either via bus request or by direct instrument control
via keypad.
4.4More Status Available
Bit #4
The instrument status can be masked while handling this flag. The mask depends of the value of variable
ErrorMessageControl
Note, that the bytes responded on Command #48, are not masked.
(refer to Command #156). Bit #4 is set when the logical ìorî of the status and mask is nonzero.
4.5Primary Variable Analog Output Fixed
Bit #3
This flag is set under two conditions: when the function of current output is switched ìOffî or when fixed current mode
is entered via bus request (Command #66).
5.1Inputs/Outputs And Dynamic/Transmitter Variables
The UFC500 instrument has one current output and one frequency/pulse output.
The UFC500 transmitter handles seven measurement-related variables, hence Transmitter Variablesí set is composed
from variables with indices:
FlowRate
0 -
PositiveTotalizer
1 -
NegativeTotalizer
2 -
Totalizersí Sum
3 -
TransitTime
4 -
Direction/ErrorIndication
5 -
Off.
6 -
Any variable except totalizer-related ones (with indices 1..3) can be mapped onto any of the two outputs. To keep
Primary Variable always meaningful/informative it is set to
ìOffî. Therefore the Primary Variable codes belong to subset {0, 4, 5}, whilst Secondary Variable codes - to subset
{0, 4, 5, 6}. Tertiary and Fourth Variables are mapped onto logical slots (no more outputs) and are fixed to
PositiveTotalizer
NegativeTotalizer
and
correspondingly.
FlowRate
in case the function of current output is switched
5.2 Damping Implementation
The UFC500 transmitter implements the following scheme of analog/digital damping:
•
When the
handled via Command #34, Write Primary Variable Damping Value.
•
When the current output is not related to flowrate measurements, it has no damping. Still the Command #34
immediately affects the
be damped with the same damping as digital variable.
•
TransitTime
•
Totalizer-related Transmitted Variables have all only digital presentation and one and the same damping: either 40
msec or the damping value of
Command #132).
•
When the
flowrate measurements damped with 40 msec, or
FreqPulseDampingControl
FlowRate
Transmitter Variable has no damping. When it is mapped onto any output, the latter is not damped.
FlowRate
Transmitter Variable is a Primary one, both digital/analog dampings are the same and are
FlowRate
variable is a Secondary one (i.e. is mapped onto frequency/pulse output), the output uses either
damping. After the
FlowRate.
variable (refer to Command #132).
It depends on the value of
FlowRate
FlowRate
becomes a Primary variable, the current output will
FreqPulseDampingControl
damping value. It depends on the value of
variable (refer to
5.3 Nonvolatile Memory Data Storage
The Flags Byte of Command #0 will have Bit #1 (Command #39, EEPROM Control) set to 0, indicating that all data
sent to the transmitter will be saved automatically in the device EEPROM upon receipt of the Write command or
Command-type command #36. Command #39, EEPROM Control, is not implemented.
5.4Multidrop Mode
This revision of the UFC500 does not support Multidrop Mode.
5.5Burst Mode
This revision of the UFC500 does not support Burst Mode.
This section contains information pertaining to those commands that require clarification.
6.1Command #0 Read Unique Identifier
Device Identification Number (Data bytes #9..#11 of response packet) is preserved in the instrument as a 10-bytes
ASCII number (Service Fct. 5.1.4, ìSerial Nmbî). Hence only three (low significant) bytes of this number (after it is
transferred to digital value) are ìvisibleî to HARTÆ-requester.
6.2Command #2 Read P.V. Current And Percent Of Range
If the Primary Variable is assigned to
Direction
variable, the Percent of Range value is replied as Not-a-Number
.
6.3 Command #6Write Polling Address
This revision of the transmitter has an active current output and is not conformant with multidrop mode hardware
requirements. Still the command can be used in point-to-point communication. The multidrop software support will not
be changed when the further firmware release meets all specification restrictions.
On entering of multidrop mode shutdown of device current is performed: a fixed range of 4-20 mA is set and the
function of Primary Variable current output is switched ìOffî. Refer to Commands #50, Read Dynamic Variable
Assignments, #138, Read Analog Output Function, and #140, Read Current Output Parameters.
When multidrop mode is exited, all the parameters of the current output are restored.
6.4Command #14 Read Primary Variable Sensor Information
Sensor serial number is not stored within device and therefore is responded as Ñnot applicable to deviceì (zero value).
Sensor parameters depend on the meter diameter and should be reread if the latter is changed.
6.5Command #15 Read Primary Variable Output Information
Upper Range Value depends on the meter diameter. When the latter is changed, Upper Range Value for
be automatically corrected if needed. In the last case bus master will be prompted about compulsory changes in
correlated parameters via Warning-type Response Codes (refer to Command #131, Write Meter Diameter). No such
correction is done when Primary Variable is set to
should be assigned via Command #159, Write Transmitter Variable Range Values.
Write Protect Code variable (Data byte #15 of response packet) depends on the setting made for device variable Entry
Code, Menu 3.5.2. It can be altered via Command #150, Enable/Disable Password Protection.
The UFC500 implements a subset of the Common-Practice Commands. This section contains information pertaining to
those commands that require clarification.
7.1 Command #33 Read Transmitter Variables
Multiple transactions are supported: bus master can request from 1 to 4 Transmitter Variables (with codes 0..7) in
arbitrary set.
7.2 Command #34 Write Primary Variable Damping Value
The UFC500 will accept any IEEE value in the range 0.04 to 3600 seconds for the damping value.
7.3 Command #35 Write Primary Variable Range Values
Despite of the actual Primary Variable assignment (
only
controlled via Commands #158/#159, Read/Write Transmitter Variable Range Values.
Upper Range Value is rejected if it exceeds the Upper Sensor Limit or is below the Lower Sensor Limit (both Limits are
available via Command #14). Rejection reason in these two cases is reported via predefined response codes, namely by
code 11, Upper Range Value too High, or by code 12, Upper Range Value too Lo w. However, it might happe n that a
correct Upper Range Value for a given sensor causes the necessity to update the
that plays the role of Upper Range Value for
frequency/pulse output.
reverse flow can be scaled with its own Upper Range, though it cannot exceed the Primary Variable Upper Range. T o
handle correctly these situations, the predefined set of response codes for Command #35 was augmented by the
following multi-definable warnings:
113,Pulse Value Surpassed Min and Was Corrected
115,Reverse Range Surpassed Min and Was Corrected
Note, that each subsequent correction carried out overrides the reported response code. At first Reverse Range is
checked. Therefore if response codes 114/115 are registered then only the updated Reverse Range should be reread from
device. For response codes 112/113 both Pulse Value and Reverse Range should be reread though the last variable
could remain unchanged.
For additional information refer to Command #142, Read Pulse Output Parameters.
FlowRate
the
112, Pulse Value Exceeded Max and Was Corrected
114, Reverse Range Exceeded Max and Was Corrected
range specifiers for
PulseValue
forward
upper limit is based on the value of Primary Variable Upper Range. Besides, the
FlowRate, TransitTime, Direction
flow. Similar parameters for
PulseValue
FlowRate
measurements, when the latter are mapped onto the
), this command
TransitTime
variable of the instrument
always
and reverse flow are
handles
Lower Range Value is always assumed to be zero for UFC500. Therefore this parameter in request packet is ignored.
Transmitter returns zero value in response telegram without prompting master via special response code.
7.4Command #44 Write Primary Variable Units
Despite of the actual Primary Variable assignment (
command
The Primary Variable Unit Codes accepted by transmitter include all the HCF units for volumetric flow except the ones
for gaseous media, and are listed in Table 9.1.
As soon as transmitter supports incomparably enlarged unitsí set as opposed to the instrumentís display module, the
impact on the device remote/direct control is straightforward and as follows: transmitter units are made completely
independent from the display units and hence are stored separately in the device EEPROM. Hence it is worth noting that
remote user
externally (from the HARTÆ bus).
It must be also noted that PV units are shared with configuration parameters having volumetric flow units (
sensor limits, etc.).
mustnët expect
any changes in data presentation on the device local screen when any units are changed
Full Scale
7.5Command #48 Read Additional Transmitter Status
Reads 2 bytes of status data from the transmitter. Unlike Command #153, Read Error List, this command returns a
combined error list: some of them are actual at response time while the others are no more active but were not still
presented to master since the last ìQuitî action (Command #152).
In designations used Bit #0 corresponds to LSBit, Bit #7 - to MSBit.
Data byte #0:
Bit #7Fuse error
Bit #6Data error in EEPROM 2 (totalizer)
Bit #5Current calibration values in EEPROM 1+2 are different
Bit #4Current output overranged
Bit #3Frequency/p ul s e output overranged
Bit #2US path 2 faulted
Bit #1Empty pipe
Bit #0US path 1 faulted
,
Data byte #1:
Bit #7Checksum error in ROM
Bit #6Checksum error in RAM
Bit #5NVRAM error
Bit #4Calibration data lost
Bit #3Data error in EEPROM 1 (parameters)
Bit #2Irregular flow
Bit #1Counts lost or totalizer overflow
Bit #0Power failure
7.6Command #50 Read Dynamic Variables Assignments
The possible mappings of Transmitter Variables into array of Dynamic Variables are already discussed in section 5.1,
Inputs/Outputs and Dynamic/Transmitter Variables. On startup Dynamic Variables are configured as follows:
Primary Variable Code - depends on the function of the current output and is either of {0, 4, 5}; variable setting. In
case current output is switched ìOffî (on startup or during normal instrument operation),
PV is set to
Secondary Variable Code - depends on the function of the frequency/pulse output and is either of {0, 4, 5, 6}; variable
Output functions are available via Command #138, Read Analog Output Function.
PositiveTotalizer
NegativeTotalizer
FlowRate.
; permanent setting.
; permanent setting.
NOTE: Command #51, Write Dynamic Variables Assignment, is not implemented. Primary/Secondary Variable Codes
are affected by Command #139, Write Analog Output Function. Therefore to provide consistency in device-master data
sets, Command #50
If Transmitter Variable Code equals to ì0î, flowrate units are changed (refer to Command #44). If Transmitter Variable
Code corresponds to any totalizer (refer to section 5.1), the requested unit will affect all of them. The list of valid for
this transmitter totalizersí unit codes is placed into Table 9.2.
Note that for totalizer measurements transmitter supports all the HCF units for volume except the ones for gaseous
media. The device display can make use only of some small subset of corresponding HCF/transmitter units. The impact
of these on the instrument remote/direct control is detailed in section 7.4, ìWrite Primary Variable Unitsî.
7.8 Command #60 Read Analog Output And Percent Of Range
If the requested output currently deals with
Number
.
Direction
Off
or
variable, the Percent of Range value is replied as Not-a-
The output value for the pulse output is responded either in manufacturer specific units ì249î, ìpulses per secondî - for
FlowRate
TransitTime
or
variables, or in ìVoltsî (58) - for
Direction
or
Off
variables.
7.9 Command #66 Enter/Exit Fixed Analog Output Mode
If this command is used to deal with current output, then Analog Output Number Code must be set to ì1î and Analog
Output Units - to ì39î, mA. The instrument will accept any IEEE value in the range 0.0 to 22.0 as a desirable fixed
current level .
While testing pulse output, set Analog Output Number Code to ì2î and Analog Output Units - to ì249î, ìpulses per
secondî. The instrument will accept any IEEE value in the range 0.0 to 10000.0 as a desirable fixed output level.
Without external stimulus the instrument will leave HART-activated fixed output mode in 2 minutes.
the updating of sensor characteristics (returned by Command #14) and
therefore might cause the automatic correction of the Primary Variable Upper Range Value (Menus 1.1.1, 3.1.1) and
PulseValue
(Menu 3.4.3). Master is prompted about corrections carried out via warning responses and
must
reread the
updated data. For additional information refer to Command #35.
REQUEST DATA BYTES
#0#1#2#3
METERMET ER
SIZESIZE
MSBLSB
RESPONSE DATA BYTES
#0#1#2#3
METERMET ER
SIZESIZE
MSBLSB
Data Byte #0-#3Meter size, IEEE 754, in meters. Allowed settings: 0.025 to 4 meters (0.98 to 157.48 inches).
COMMAND-SPECIFIC RESPONSE CODES
0No Command-Specific Errors
1-2Undefined
3Passed Parameter too Large
4Passed Parameter too Small
5Too Few Data Bytes Received
6Local Device User
7 In Write Protect Mode
8-113Undefined
114Range Exceeded Max and Was Corrected
115Range Surpassed Min and Was Corrected
116Both Range and Pulse Value Corrected
117-127 Undefined
8.6Command #135 Write Analog Output Low Flow Cutoff Control And Values
Writes low flow cutoff parameters for any of the two outputs.
REQUEST DATA BYTES
#0#1#2#3
ANALOG CUTOFFCUTOFFCUTOFF
OUTPUTCONTROLONOFF
NUMBERVALUEVALUE
CODE
RESPONSE DATA BYTES
#0#1#2#3
ANALOG CUTOFFCUTOFFCUTOFF
OUTPUTCONTROLONOFF
NUMBERVALUEVALUE
CODE
Data Byte #0Analog Output Number Code, equals ì1î for current output and ì2î - for pulse output.
Data Byte #1Cutoff control variable:
0 - enables cutoff option,
1 - disables cutoff option.
Even when the cutoff option is switched from On to Off, the rest data in request packet is
processed and the On/Off Values will be altered in transmitter EEPROM.
Data Byte #2Cutoff On Value, in % of the Primary Variable Upper Range Value. This byte is meaningful
even if Data Byte #0 = 0. Value must belong to interval 1..19%.
Data Byte #3Cutoff Off Value, in % of the Primary Variable Upper Range Value. This byte is meaningful
even if Data Byte #0 = 0. Value must belong to interval 2..20%.
Refer also to comments for the previous command.
NOTE: Low flow cutoff settings can be altered only when the function of corresponding output is related to flowrate
measurements. Refer to Command #138, Read Analog Output Function.
COMMAND-SPECIFIC RESPONSE CODES
0No Command-Specific Errors
1 Undefined
2Invalid Selection (of Analog Output)
3-4Undefined
5Too Few Data Bytes Received
6Local Device User
7 In Write Protect Mode
8Undefined
9Off Value too High
10Off Value too Low
11On Value too High
12On Value too Low
13On Value not Lower than Off Value
14Undefined
15Invalid Cutoff Control or Output Function
16-127Undefined
Data Byte #0Analog Output Number Code, equals ì1î for current output and ì2î - for pulse output
Data Byte #1Analog Output Function Code, depends on the output type:
For current output:
0 - Off.
1 - Direction indication.
2 - 1 Dir, output traces flowrate measurements only in one (positive) direction.
3 - Forward/reverse flow, the complete flowrate dynamic range (PV Upper Range Value +
Reverse Range) is mapped onto the range of the output current. Refer also to the instrument
Operating Manual and to Commands #140, Read Current Output Parameters, #158, Read
Transmitter Variable Range Values.
4 - 2 Dir, output traces flowrate measurements in both directions, for every direction the
corresponding flowrate dynamic range (PV Upper Range Value for positive direction and
Reverse Range - for negative) is mappe d onto the ra nge of the output c urrent. Refe r also to
the instrument Operating Manual and to Commands #140, Read Current Output Parameters,
#158, Read Transmitter Variable Range Values.
5 - Transit time.
For frequency/p ul s e output:
0 - Off.
1 - Error indication.
2 - 1 Dir, output traces flowrate measurements only in one (positive) direction.
3 - 2 Dir, output traces flowrate measurements in both directions.
4 - Transit time.
COMMAND-SPECIFIC RESPONSE CODES
0No Command-Specific Errors
1Undefined
2Invalid Selection (of Analog Output)
3-4Undefined
5Too Few Data Bytes Received
6Local Device User
7-127Undefined
Data Byte #0Analog Output Number Code, equals ì1î for current output and ì2î - for frequency/pulse
output
Data Byte #1Analog Output Function Code, depends on the output type:
For current output:
0 - Off.
1 - Direction indication.
2 - 1 Dir, output traces flowrate measurements only in one (positive) direction.
3 - Forward/reverse flow, the complete flowrate dynamic range (PV Upper Range Value +
Reverse Range) is mapped onto the range of the output current. Refer also to the instrument
Operating Manual and to Commands #140, Read Current Output Parameters, #158, Read
Transmitter Variable Range Values.
4 - 2 Dir, output traces flowrate measurements in both directions, for every direction the
corresponding flowrate dynamic range (PV Upper Range Value for positive direction and
Reverse Range - for negative) is mappe d onto the ra nge of the output c urrent. Refe r also to
the instrument Operating Manual and to Commands #140, Read Current Output Parameters,
#158, Read Transmitter Variable Range Values.
5 - Transit time.
For frequency/p ul s e output:
0 - Off.
1 - Direction indication.
2 - 1 Dir, output traces flowrate measurements only in one (positive) direction.
3 - 2 Dir, output traces flowrate measurements in both directions.
4 - Transit time.
NOTE: The Output Function Codes are mapped onto Primary/Secondary Variable Codes in a transparent way: flowraterelated values (ì1 Dirî, ìForward/Reverseî, ì2 Dirî) cause the assignment of corresponding Dynamic Variable to
FlowRate
is situation when the current output function is switched ìOffî ñ then PV code is set to
Transmitter Variable (refer to section 5.1), the rest dependencies are straightforward. The only exclusion here
FlowRate
, thus preservi ng the
valuable data to be delivered with Command #1. To maintain actual Dynamic Variablesí configuration, master have to
use Command #139 in a pair with Command #50, Read Dynamic Variable Assignments.
Changes in Primary/Secondary Variable setting are reflected at the outputs after the command is processed.
Several transitions in Analog Output Function settings require some preliminary actions (i.e. reprogramming of
frequency/pulse output) that are not automatically done by the HART transmitter. In these cases master is noticed about
an action to be held via appropriate Response Code. Refer also to the instrument Operating Manual.
0No Command-Specific Errors
1Undefined
2Invalid Selection (of Analog Output)
3Passed Parameter too Large (Analog Output Function Code)
4Undefined
5Too Few Data Bytes Received
6Local Device User
7 In Write Protect Mode
8Undefined
9Disable Low Flow Cutoff for Current Output
10Disable Low Flow Cutoff for Frequency/Pulse Output
11In Multidrop Mode
12Disable Low Flow Cutoff for Frequency/Pulse Output and Set Pulse Rate
13-127Undefined
0 - Variable range,
1 - Fixed range 0 - 20 mA,
2 - Fixed range 4 - 20 mA.
Data Byte #1Maximal possible output current, in mA. For variable range must obey inequality:
I_100%
≤
Imax
≤
22 mA.
Data Byte #2The value of current in mA, that corresponds to 0% flow (percents are related to Primary
Variable Upper Range Value). For variable range must simultaneously obey two inequalities:
≤
0 mA ≤
I_100% - I_0%
I_0%
16 mA,
≥
4 mA.
Data Byte #3T he value of current in mA, that corresponds to 100% flow (percents are related to Primary
Variable Upper Range Value for the forward flow, or to the Reverse Range for the backward
flow). For variable range must simultaneously obey two inequalities:
I_100%
I_100% - I_0%
≤
Imax
,
≥
4 mA.
NOTE: When a fixed range is chozen (Data Byte #0 ≠ 0) all the data in request packet except the first byte is ignored,
and corresponding parameters of current output are set in accordance with the required range:
22 mA, and
always
I_0%
equals to either 0 or 4 mA depending on the value of range indicator. The response data packet
contains the actual data accepted by the instrument.
I_100%
= 20 mA,
Imax
COMMAND-SPECIFIC RESPONSE CODES
0No Command-Specific Errors
1-4Undefined
5Too Few Data Bytes Received
6Local Device User
7 In Write Protect Mode
8Undefined
9I 0% too High
10I 100% too High
11In Multidrop Mode
12I 100% too Low
13I Max too High
14Undefined
15I Max too Low
16-127Undefined
Reads adjustment parameters of the frequency/pulse output:
PulseType, PulseWidth, PulseRate, PulseValue.
REQUEST DATA BYTES
NONE
RESPONSE DATA BYTES
#0#1
PULSEPULSE
TYPEWIDTH
#2#3#4#5
PULSEPULSE
RATERATE
MSBLSB
#6#7#8#9
PULSEPULSE
VALUEVALUE
MSBLSB
Data Byte #0Pulse type, defines how pulses are generated at the output:
0 - ìPulse/Timeî,
1 - ìPulse/Volumeî.
In the first case
PulseRate
represents frequency that will be observed at the output if the
measured flowrate equals to the the Primary Variable Upper Range Value. In the second case
one and the same number of pulses (established by
volume unit.
Writes adjustment parameters of the frequency/pulse output:
REQUEST DATA BYTES
#0#1
PULSEPULSE
TYPEWIDTH
#2#3#4#5
PULSEPULSE
RATERATE
MSBLSB
#6#7#8#9
PULSEPULSE
VALUEVALUE
MSBLSB
RESPONSE DATA BYTES
#0#1
PULSEPULSE
TYPEWIDTH
#2#3#4#5
PULSEPULSE
RATERATE
MSBLSB
PulseType, PulseWidth, PulseRate, PulseValue.
#6#7#8#9
PULSEPULSE
VALUEVALUE
MSBLSB
Data Byte #0Pulse type, defines how pulses are generated at the output:
0 - ìPulse/Timeî,
1 - ìPulse/Volumeî.
In the first case
PulseRate
represents frequency that will be observed at the output if the
measured flowrate equals to the the Primary Variable Upper Range Value. In the second case
one and the same number of pulses (established by
0No Command-Specific Errors
1Undefined
2Invalid Selection (of PulseType)
3-4Undefined
5Too Few Data Bytes Received
6Local Device User
7 In Write Protect Mode
8-10Undefined
11Invalid Pulse Width
12-111Undefined
112 Pulse Rate/Pulse Value Exceeded Max and Was Corrected
113Pulse Rate/Pulse Value Surpassed Min and Was Corrected
8.15Command #147 Write Flow Direction And Primary Head Constant
Writes direction of the forward flow and the primary head constant.
REQUEST DATA BYTES
#0#1#2#3#4
FLOWPRIMARYPRIMARY
DIRHEADHEAD
VALUEVALUE
MSBLSB
RESPONSE DATA BYTES
#0#1#2#3#4
FLOWPRIMARYPRIMARY
DIRHEADHEAD
VALUEVALUE
MSBLSB
Data Byte #0defines direction of the forward flow:
0 - Positive (corresponds to ì+î arrow on primary head),
1 - Negative.
Data Byte #1-#4Primary head constant GK, IEEE 754. See primary head nameplate. Range: 0.5 -14.0.
COMMAND-SPECIFIC RESPONSE CODES
0No Command-Specific Errors
1Undefined
2Invalid Selection (of Flow Direction)
3Passed Parameter too Large (Primary Constant)
4Passed Parameter too Small (Primary Constant)
5Too Few Data Bytes Received
6Local Device User
7 In Write Protect Mode
8-127Undefined
Data Byte #0Language used for text presentation on the local screen of the instrument:
0 - Gr.Britain/USA,
1 - German.
Data Byte #1Defines whether the device outputs are frozen during direct instrument control via keypad, or
not:
0 - ìYesî,
Any other value - ìNoî.
Data Byte #2Totalizersí reset control:
0 - Reset is disabled,
Any other value - Reset is enabled.
Data Byte #3-#8ASCII-text, specifying user-defined volume unit.
Data Byte #9-#11ASCII-text, specifying user-defined time unit.
Data Byte #12-#15Scaling factor for user-defined volume unit, relative to cubic meters, IEEE 754. Refer to
Table 9.3, Factors for Volume.
Data Byte #16-#19Scaling factor for user-defined time unit, relative to seconds, IEEE 754. Refer to Table 9.4,
Factors for Time.
NOTE: For ASCII-strings the following characters are allowed (i.e. will be interpreted by display module): A..Z, a..z,
0..9, ì+î, ì-î and underscore symbol ì_î. Each text-field should be completely filled with acceptable symbols: say, for
ìhoursî time unit ìhr_î-specifier should be used instead of ìhrî.
CAUTION: Scaling factors are not checked by transmitter and
must not
be zeroes!
COMMAND-SPECIFIC RESPONSE CODES
0No Command-Specific Errors
1Undefined
2Invalid Selection (of Language)
3-4Undefined
5Too Few Data Bytes Received
6Local Device User
7 In Write Protect Mode
8-127Undefined
Installs/uninstalls write protection. Two transaction are implemented: Transaction #1 disables write protection, in this
case a correct password must be ìshownî to transmitter. If protection is disabled and device is open for write operations,
any of two transactions can be used to enable
Transaction #1 is ignored. It is
Data Byte #0Write protect control, being a negation of the Write Protect Code (available via Command
#15, Read Primary Variable Output Information):
0 - Password is enabled,
1 - Password is disabled.
Data Byte #1-#5The instrument password. The encoding scheme is as follows: the ìRightî-key of device
keypad is coded by 0x8, ìEnterî-key - by 0x4 and ìUpî-key - by 0x1. Then the nine
keystokes of the password are packed into 5 bytes in a straightforward way: the first
password symbol is placed in the four most significant bits of Data Byte #1, the second
password symbol - in the four least significant bits of Data Byte #1, etc. The last Data Byte
#5 is zero terminated.
For example, so me arbitrary key combination ìRight-Right-Up-Up-Up-Right-Ente r-Up-Upî
will result in a byte sequence 0x88, 0x11, 0x18, 0x41, 0x10.
Unlike Command #43, Set Primary Variable Zero, where an instant measurement is used to correct zero point, this
command performs calibration exactly as if this process was activated via device keypad (Menu 3.3): 255 subsequent
measurements are averaged before zero correction is done. The process lasts 3.5-5.5 sec (best and worse cases).
0 - Exit calibration,
1 - Start calibration,
2 - Store calibration value,
3 - Get calibration status.
Data Byte #1Calibration status:
0 - No ìfreshî calibration data,
1 - Calibration is active or is over.
Refer to the note below.
Data Byte #2-#5Zero value, IEEE 754, in % of Upper Range Value for forward flow.
NOTE: After a
StartCalibration
request is accepted, the device is triggered into a ìBusyî mode, that lasts about 20
seconds. All the telegrams received within this period will be rejected with the ìBusyî Response Code (32). During
calibration process the device can be polled with Command #151 with
CalibrationControl
set to ì3î (Get calibration
status). The first non-singular reply will supply master with calibration re sult. The obtained zer o value is preserved in
RAM until Command #151 will be received with
ExitCalibration, StartCalibration
StoreCalValue
or
value of control
variable.
NOTE: A request to
StoreCalValue
when the
CalibrationStatus
is zero, will not cause any transmitter action.
COMMAND-SPECIFIC RESPONSE CODES
0No Command-Specific Errors
1Undefined
2Invalid Selection (Of Control Variable)
3-4Undefined
5Too Few Data Bytes Received
6Local Device User
7In Write Protect Mode
8-127Undefined
Unlike Command #48, Read Additional Transmitter Status, where status information is ìmixedî, this command returns a
complete list of error messages: the actual errors are being active at response time; errors that become inactive but are
not quitted, are preserved in a list of ìstoredî errors.
Both actual and stored lists have identical structure. Therefore they are considered below together.
Data Byte #0/#2Bit-mapped actual/stored error byte #1 (bit #7 is MS bit):
Bit #7Fuse error
Bit #6Data error in EEPROM 2 (totalizer)
Bit #5Current calibration values in EEPROM 1+2 are different
Bit #4Current output overranged
Bit #3Frequency/pulse output overranged
Bit #2US path 2 faulted
Bit #1Empty pipe
Bit #0US path 1 faulted
Data Byte #1/#3Bit-mapped actual/stored error byte #2 (bit #7 is MS bit):
Bit #7Checksum error in ROM
Bit #6Checksum error in RAM
Bit #5NVRAM error
Bit #4Calibration data lost
Bit #3Data error in EEPROM 1 (parameters)
Bit #2Irregular flow
Bit #1Counts lost or totalizer overflow
Bit #0Power failure
COMMAND-SPECIFIC RESPONSE CODES
0No Command-Specific Errors
1-5Undefined
6Local Device User
7-127Undefined
Data Byte #0Error limit in % of measured value for plausibility statement.
Data Byte #1..#2Limit value for the counter of incorrect measurements.
Data Byte #3W eight factor for correct measurements.
Data Byte #4Pulses per volume units, used
#142, Read Frequency/Pulse Output Parameters) and
only
for scaling of
PulseVolume
do not
affect physical output. For unitsí
par ame te r ( re fe r t o C omma nd
codes refer to Table 9.3.
Data Byte #5Pulse rate units, used
Frequency/Pulse Out put P ar ameter s) and
only
for scaling of
PulseRate
do not
parameter (refer to Command #142, Read
affect physical output. For unitsí codes refer
to Table 9.4.
Data Byte #6Reverse scale control, defines whether the Upper Range Value for reverse flow is the same as
for forward , or different:
0 - Different,
1 - Same as for forward flow.
In the first case the Upper Range Value for reverse flow can be accessed via Command
#158, Read Transmitter Variable Range Values.
Data Byte #7Display totalizer control, affects the local display of the instrument and the one of the HART
Data Byte #8Display errorsí control, affects the local screen of the instrument and defines a mask for
transmitter, that is used while handling a Bit #4, More Status Available, of the Field Device
Status Byte:
0 - "No messages",
1 - "Ultrasonic errors",
2 - "Totalizer errors",
3 - "All errors".
Data Byte #9Transmitter Variable
and the one of the HART communicator HC275:
0 - "No display",
1 - "Display".
COMMAND-SPECIFIC RESPONSE CODES
0No Command-Specific Errors
1-5Undefined
6Local Device User
7-127Undefined
TransitTime
display control, affects the local display of the instrument
Data Byte #0Error limit in % of measured value for plausibility statement. Valid range: 1..99.
Data Byte #1..#2Limit value for the counter of incorrect measurements. Valid range: 0..10000.
Data Byte #3Weight factor for correct measurements. Valid range: 1..50.
Data Byte #4Pulses per volume units, used
#142, Read Frequency/Pulse Output Parameters) and
only
for scaling of
PulseVolume
do not
affect physical output. For unitsí
par ame te r ( re fe r t o C omma nd
codes refer to Table 9.3.
Data Byte #5Pulse rate units, used
Frequency/Pulse Out put P ar ameter s) and
only
for scaling of
PulseRate
do not
parameter (refer to Command #142, Read
affect physical output. For unitsí codes refer
to Table 9.4.
Data Byte #6Reverse scale control, defines whether the Upper Range Value for reverse flow is the same as
for forward , or different:
0 - Different,
1 - Same as for forward flow.
In the first case the Upper Range Value for reverse flow can be accessed via Command
#158, Read Transmitter Variable Range Values.
Data Byte #7Display totalizer control, affects the local display of the instrument and the one of the HART
communicator HC275:
0 - "+Totalizer",
1 - "-Totalizer",
2 - "+/-Totalizers",
3 - "Totalizers' sum",
4 - "All totalizers",
5 - "No display".
Any other value will be truncated and responded back as 5 ("No display").
Data Byte #8Display errorsí control, affects the local screen of the instrument and defines a mask for
transmitter, that is used while handling a Bit #4, More Status Available, of the Field Device
Status Byte:
0 - "No messages",
1 - "Ultrasonic errors",
2 - "Totalizer errors",
3 - "All errors".
Any other value will be truncated and responded back as 3 ("All errors").
Data Byte #9Transmitter Variable
and the one of the HART communicator HC275:
0 - "No display",
1 - "Display".
Any other value will be truncated and responded back as 1 ("Display").
COMMAND-SPECIFIC RESPONSE CODES
0No Command-Specific Errors
1-4Undefined
5Too Few Data Bytes Received
6Local Device User
7In Write Protect Mode
8-27Undefined
28Invalid Units Code (for any of the four units)
29-113Undefined
114Reverse Range Exceeded Max and was Corrected
115Reverse Range Surpassed Min and was Corrected
116-127 Undefined
TransitTime
display control, affects the local display of the instrument
8.24Command #158 Read Transmitter Variable Range Values
Reads the Upper/Lower Range Values of the Transmitter Variable. This command was introduced (instead of the
support of Common-Practice Command #63, Read Analog Output Information) solely to resolve ambiguous situation
when one and the same Transmitter Variable, namely
forward and reverse flow. Therefore Transmitter Variable set (refer to section 5.1) was augmented by a dummy variable
ReverseFlow
with index 10.
REQUEST DATA BYTES
#0
XMTR
VAR
CODE
RESPONSE DATA BYTES
#0#1
XMTRXMTR
VARVAR
CODERANGE
UNITS
#2#3#4#5
XMTRXMTR
VARVAR
URVURV
MSBLSB
FlowRate,
has two pairs of Upper/Lower Range Values - for
#6#7#8#9
XMTRXMTR
VARVAR
LRVLRV
MSBLSB
Data Byte #0Transmitter Variable Code:
FlowRate
0 -
TransitTime
4 -
ReverseFlow.
10 -
ReverseFlow
The
type). The
,
,
assignment is meaningful only for thi s and subseq uent co mmand (of Writ e
FlowRate
value of TV Code will evoke response for forward flow.
Data Byte #1The range units of the corresponding Transmitter Variable. For a set of supported flowrate
units refer to the Table 9.1. Note that the ranges of
FlowRate
ReverseFlow
and
might have
different units .
TransitTime
For
Data Byte #2-#5Transmitter Variable Upper Range Value, IEEE 754, in the
Data Byte #6-#9Transmitter Variable Lower Range Value, IEEE 754, in the
NOTE: For the
ReverseFlow
the Range values are meaningful only when the
Transmitter Variable the manufacturer-specific units are used: 246, ìµsecî.
RangeUnits
RangeUnits
ReverseScaleControl
.
.
(refer to Command
#156) is set to zero (ìDifferentî) and the function of any output is set to either ìForward/reverse flowî or to ì2 Dirî
(refer to Command #138).
0No Command-Specific Errors
1Undefined
2Invalid Selection (of Transmitter Variable)
3-4Undefined
5Too Few Data Bytes Received
6Local Device User
7-127Undefined
8.25Command #159 Write Transmitter Variable Range Values
Write the Upper/Lower Range Values of the selected Transmitter Variable.
REQUEST DATA BYTES
#0#1
XMTRXMTR
VARVAR
CODERANGE
UNITS
#2#3#4#5
XMTRXMTR
VARVAR
URVURV
MSBLSB
#6#7#8#9
XMTRXMTR
VARVAR
LRVLRV
MSBLSB
RESPONSE DATA BYTES
#0#1
XMTRXMTR
VARVAR
CODERANGE
UNITS
#2#3#4#5
XMTRXMTR
VARVAR
URVURV
MSBLSB
#6#7#8#9
XMTRXMTR
VARVAR
LRVLRV
MSBLSB
Data Byte #0Transmitter Variable Code, valid settings:
FlowRate
0 -
TransitTime
4 -
ReverseFlow.
10 -
ReverseFlow
The
comments). The
,
,
assignment is meaningful only for this and previous command (refer to ist
FlowRate
value of TV Code implies request for forward flow.
Data Byte #1The range units of the corresponding Tr ansmitter Variable. Fo r
Range Values can be requested in any allowed flowrate unit (refer to the Table 9.1), the
actual Range Units will not be altered. Transmitter Range Units can be changed via
Command #157. Note that the ranges of
FlowRate
ReverseFlow
and
units.
TransitTime
For
Transmitter Variable range units are fixed to manufacturer-specific ones
(246, ìµsecî) and cannot be altered.
Data Byte #2-#5Transmitter Variable Upper Range Value, IEEE 754, in the
Data Byte #6-#9Transmitter Variable Lower Range Value, IEEE 754, in the
variables is assumed to be zero; hence this variable is ignored by transmitter and sent b ack as
ì0î.
NOTE: For the
instrument only when the
ReverseFlow
ReverseScaleControl
the Upper Range Value is stored in EEPROM (if accepted) but will be actually used by the
(refer to Command #156) is set to zero (ìDifferentî) and the function of
any output is set to either ìForward/reverse flowî or to ì2 Dirî (refer to Command #138).
Refer also to comments for Command #35, Write Primary Variable Range Values.
COMMAND-SPECIFIC RESPONSE CODES
0No Command-Specific Errors
1Undefined
2Invalid Selection (of Transmitter Variable)
3-4Undefined
5Too Few Data Bytes Received
6Local Device User
7In Write Protect Mode
8Undefined
9Lower Range Value too High
10Undefined
11Upper Range Value too High
12Upper Range Value too Low
13-27Undefined
28Invalid Range Units
29-111Undefined
112Pulse Value Exceeded Max and was Corrected
113Pulse Value Surpassed Min and was Corrected
114Reverse Range Exceeded Max and was Corrected
115Reverse Range Surpassed Min and was Corrected
116-127 Undefined
Refer to the Common Tables Document for all references in this section to ìSubset of Tableî.
9.1Primary Variable Unit Codes
Subset of Table II, Unit Codes
15,cubic feet per minute
16,gallons per minute
17,liters per minute
18,imperial gallons per minute
19,cubic meter per hour
22,gallons p er second
23,million gallons per day
24,liters per second
25,million liters per day
26,cubic feet per second
27,cubic feet per day
28,cubic meters per second
29,cubic meters per day
30,imperial gallons per hour
31,imperial gallons per day
130,cubic feet per hour
131,cubic meters per minute
132,barrels per second
133,barrels per minute
134,barrels per hour
135,barrels per day
136,gallons per hour
137,imperial gallons per second
138,liters per hour
235,gallons per day
1,pulses per liter
2,pulses per imperial gallon
3,pulses per cubic meter
4,pulses per barrel
5,pulses per bushel
6,pulses per cubic yard
7,pulses per cubic feet
8,pulses per cubic inch
9,pulses per liquid barrel
10,pulses per hectoliter
11,pulses per user volume unit
9.4Pulse/Time Unit Codes
12,pulses per second
13,pulses per minute
14,pulses per hour
15, pulses per day
16,pulses per user time unit
The new revision of the given document is caused by the upgrade of the instrument transmitter SW. Each change from
the previous revision is marked within the text with a vertical bar to the right of the indent with innovations. The next
indent can serve as example.
Text with any change as compared with the previous revision: addition, removal, replacement, etc.
10.1 Changes from Rev.1 to Rev.2
Section 3; UFC500 Conformance and Command Class Summary
•
Added commands dealing with Universal parameters: Message and Final Assembly Number.
Section 5; General Transmitter Information
•
First paragraph is modified ñ for the new XMTR revision Primary Variable always traces some measurement
process even if the function of the current output is switched ìOffî (automatically, as on entering multidrop mode or
manually, via device keypad).
Added comments on Command #0, Read Unique Identifier ñ the new XMTR revision supports the unique device
ID linked with the newly invented instrument ìSerial Numberî (Ser. 5.1.4)
•
Comments on Commands #16 .. #19 removed ñ all the data is processed as required by HARTÆ by the new XMTR
revision..
Comments on Command #44, Write Primary Variable Units, changed ñ due to extended set of supported units.
•
Comments on Command #53, Write Transmitter Variable Units, changed ñ due to extended set of supported units.
•
Comments on Command #59, Write Number of Response Preambles, removed ñ command is processed as required
by HARTÆ.
Section 8; Transmitter-Specific Commands
•
Command #132, Read Frequency/Pulse Output Damping Control, changed ñ transaction is augmented with the two
new parameters: device firmware identification number and device release date.
•
Comments on Command #139, Write Analog Output Function, changed ñ due to new scheme of PV handling in
case current output is switched ìOffî.
•
Commands #156/#157, Read/Write Device-Specific Units and Enumerators, changed ñ due to the new unitsí
handling scheme (they are all separated from the ones that used by device display ëcause augmented unitsí set is
supported by XMTR); besides, three additional device parameters are involved in transactions.
Section 9; Transmitter-Specific Tables
•
The transmitter variable unitsë tables (9.1, 9.2) are augmented with the new supported units.
•
New unit tables are invented (9.3, 9.4) for Pulse Value.