- 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