Annex C DLC3010 Parameters as part of a
Rosemount
Gateway50...............................
™
1410/1420 WirelessHARTr
0418
W7977-2
www.Fisher.com
Product removed from sale April 2022
DLC3010 Digital Level Controller
May 2022
Instruction Manual Supplement
D104329X012
Introduction
Scope
The Fisher DLC3010 digital level controller targeted compliance with HART Protocol Revision 5.2. Additionally, an
effort was made to provide support for the proposed revision 5/6 compatibility rules. This document provides all the
device-specific features and HART communications protocol implementation details. The functionality of this field
device is described sufficiently to allow its proper application in a process and its complete support in HART-capable
host applications.
Purpose of this document
This document provides a description of the field device from a HART Communication perspective. Additional product
information can be found in the DLC3010 product literature, available from your Emerson sales office
Who should use this document
.
The information contained herein is intended for use as a technical reference for HART-capable host application
developers, systems integrators, and knowledgeable end-users. It also provides functional specifications (e.g.,
commands, enumerations, and performance requirements) used during field device development, maintenance, and
testing. Users of this document must be fully trained in HART Protocol requirements and terminology.
Abbreviations and definitions
Additional Device
Status
ByteAn 8bit unsigned integer
Common Table <n>A reference to a table in HCF_SPEC-183 (FCG TS20183) Common Tables Specification
Configuration
Variables
Device Variable
DLCDLC3010 digital level controller product
Dynamic Variable
EnumerationA pre-defined set of values or text
FloatIEEE 754 floating point format
HARTHighway Addressable Remote Transducer
LCDLiquid Crystal Display
Lift-Off Voltage
Status information returned by Command 48
Variables which represent nonvolatile values of manufacturinginitialized data or
userspecified configuration information. These variables cannot be accessed via
Universal or Common Practice Commands.
Uniquely defined data items within a field device, containing process-related
information. They are assigned consecutive code numbers starting with zero.
A Device Variable mapped to a slot in the set of HART commands that support
potential analog channels in the device. Only the first slot is required to have an
associated analog channel.
Minimum supply voltage required at device terminals to guarantee correct behavior,
(including HART communication), during both normal operation and while indicating a
malfunction
2
Instruction Manual Supplement
D104329X012
NVMNon-volatile memory
Packed
RTDResistance Temperature Detector
STO
WordA 16bit unsigned integer
Uint <n>Unsigned integer with bit length n
Packed ASCII, a special form of characters defined by HART in which four 6bit ASCII
characters are packed into three bytes
Slave Time Out. The time allowed for a slave device to begin its transmission, defined in
HCF_SPEC-081 (FCG TS20081) and tested in HCF_TEST-001 section 7.24 DLL024.
Reference Documentation
DLC3010 Digital Level Controller
May 2022
HART Smart Communications Protocol Specification Revision 5.0; a group of documents specifying the HART
Communication Protocol, physical layers, and Data Link Layers as defined by the FieldComm Group
FIELDVUE DLC3010 Digital Level Controller Instruction Manual, D102748X012
FIELDVUE DLC3010 Digital Level Controller Quick Start Guide, D103214X012
Industrial Platinum Resistance Thermometers and Platinum Temperature Sensors, IEC 60751, International
Electrotechnical Commission
Manufacture ID Code19(13 Hex)Device Type Code04(04 Hex)
HART Protocol Revision5.2Device Revision1
Number of Device Variables5 (effectively 3, as variables 0, 1 and 2 cannot coexist)
Physical Layers SupportedFSK (Bell 202 Current)
Physical Device CategoryTransmitter (two-wire), Non-DC-isolated Bus Device
Product Overview
DLC3010 digital level controllers are used with level sensors to measure liquid level, level of the interface between two
liquids, or liquid specific gravity (density). Changes in level or specific gravity exert a buoyant force on a displacer,
which rotates the torque tube shaft. This rotary motion is applied to the digital level controller, transformed to an
electrical signal and digitized. The digital signal is compensated and processed per user configuration requirements,
and converted to a 4-20 mA analog electrical signal. The resulting current output signal is sent to an indicating or final
control element. The name plate is located on the top of the DLC3010 assembly and indicates the model name,
individual product serial number, and any applicable third party approvals.
3
DLC3010 Digital Level Controller
May 2022
Instruction Manual Supplement
D104329X012
Product Interfaces
Process Interface
Primary Variable Sensor Interface
DLC3010 digital level controllers mount on a wide variety of caged and cageless 249 level sensors. Mounting adaptors
are available to allow using them on other manufacturers' displacer type level sensors. The field device is provided with
a lever that carries a set of magnets across a Hall-Effect sensor to transform angular position into voltage. The lever is
coupled to the buoyancy sensor’s pilot shaft by a clamping bolt and nut. Nominal design rotation of the buoyancy
sensor for a full span change of water level at room temperature is 4.4_. To best utilize the accuracy of the transmitter,
the amount of input rotation used should be close to this range. For applications that would develop a very small
proportional band with standard hardware, (e.g., interface level measurements where the difference between the
densities of the two phases is quite small), custom sensor configurations may be specified to improve the mechanical
gain.
The available lever travel in the digital level controller is approximately ±6_ from the neutral or ‘locked’ position. This
allows right- or left-hand-mounted sensors to be used with out mechanical changes to the transmitter. It also allows
the digital level controller to be used with sensors having mechanical gain slightly higher than nominal by physically
coupling at the center of sensor travel instead of at the lowest process condition.
249 LEVEL SENSOR
DLC3010 DIGITAL
LEVEL CONTROLLER
Process Temperature Interface
An external 100 Ohm Platinum RTD of 2-wire or 3-wire configuration may be installed to provide process temperature
instrumentation. The terminals for the RTD are in the lower bank of the instrument terminal box, and are labeled “Rs”,
“R1”, and “R2”, from left to right. “Rs” and “R1” are used for the two wires from the same node of a 3-wire RTD, and
must be shorted with a jumper when a two-wire RTD is employed. Refer to the Instruction Manual for additional
installation details. When the RTD is installed, configured, and calibrated, and a table of density versus temperature is
entered by the user, this input will be used to drive density compensation for the level calibration. If the RTD is not
installed, the compensation tables can also be driven by a manually-entered value of process temperature. To disable
the density temperature-compensation, the compensation table length is reduced to 1 element.
4
Instruction Manual Supplement
D104329X012
DLC3010 Digital Level Controller
May 2022
The process temperature value derived from the RTD may be checked against user-defined alarm thresholds to
indicate when the sensor is operating outside of recommended temperature limits.
Electronics Temperature Interface
An internal temperature sensor mounted near the Hall Sensor is utilized to drive factory-configured temperature
compensation for magnetic flux and Hall-effect sensitivity variations. It may also be checked against user-defined
alarm thresholds to indicate when the transmitter is operating outside of recommended temperature limits.
Host interface
Analog Output: Primary Variable
When available terminal voltage is above the Lift-Off Voltage, the DLC3010 acts as the current source in a twowire
4to20 mA current loop (in pointtopoint mode) or draws 4 mA fixed current (in multidrop mode). This output is
provided in the DLC3010’s terminal box at two terminals marked “+” and “”. Refer to the Quick Start Guide for
connection details. In point-to-point mode, the digital value of the primary variable is mapped to the 4-20 mA signal
by the Range Values.
DirectionValue (% Range)Value (mA or V)
Saturation Limits
Alarm Indication
Maximum Current22.5 mA
Multi-Drop Current Draw4.0 mA
Lift-Off Voltage12 V.
* User must select one or the other of the alarm indication outputs with a hardware jumper. They are
mutually exclusive.
HighPV > +103.13%20.5 mA
LowPV < -1.25%3.8 mA
High*22.5 mA
Low*3.7 mA
HART Digital Interface
When available terminal voltage is above the Lift-Off Voltage, the DLC3010 can communicate digitally via Bell 202 FSK
HART protocol. This interface is available at test clips in the DLC3010’s terminal box on the two terminals marked “+”
and “”, or across any convenient impedance on the loop that is sufficient to meet the HART signaling requirements.
Refer to the Quick Start Guide for connection details.
Local Interfaces, Jumpers, and Switches
Local Displays
A removable Liquid Crystal Display (LCD) assembly is provided. It displays PV %Range on a circular “bar-graph”, and
different combinations of digital information such as PV %Range, PV in engineering units, Process Temperature, etc.
Display symbols or text are provided for:
D Write-lock (key symbol)
D Display numeric field overflow (OFLOW)
D Hardware failure (Hdwr FL)
5
DLC3010 Digital Level Controller
May 2022
Instruction Manual Supplement
D104329X012
Local Jumpers
A fail-mode jumper is provided on the lower face of the LCD assembly (on the upper right quadrant of the electronics
module when the LCD is not used). This jumper is internal to the electronics compartment and may only be accessed
by removing the main cover. It allows the user to select either the High or Low alarm indication documented in the
table above. Only one alarm indication value can be made available during operation. The fault conditions that trigger
the alarm are documented in table 2a.
Device Variables
These variables represent measurements taken by the device (see table 5), and are all in float format. Their values are
not directly exposed by any standard HART command. However, they are the set of internal variables from which the
Dynamic Variables are selected. Only one of the Liquid Level, Interface Level, or Liquid Density measurements may be
computed in a given configuration, so assigning one of these to PV sets up the structure of the measurement
algorithm. Temperature variable selections are permanently allocated to SV and TV slots, so their indices are used
primarily for units processing. Process temperature is only functional as TV if the RTD is installed, otherwise it is a fixed
parameter entered by the user.
Device Variable 0 - Liquid Level
When Liquid Level is assigned as PV, the process value is derived from the measured rotation of the sensor’s torque
tube by using calibration data to convert the change in rotation to a force measurement, then applying displacer
weight, displacer volume, and fluid density configuration data to convert force to liquid level. This variable is not
computed when it is not assigned as PV.
Device Variable 1 - Interface Level
When the Interface Level is assigned as PV, the process value is derived from the measured rotation of the sensor’s
torque tube by using calibration data to convert the change in rotation to a force measurement, then applying
displacer weight, displacer volume, upper fluid density, and lower fluid density configuration data to convert force to
interface level. This variable is not computed when it is not assigned as PV.
Device Variable 2 – Liquid Density
When the Liquid Density is assigned as PV, the process value is derived from the measured rotation of the sensor’s
torque tube by by using calibration data to convert the change in rotation to a force measurement, then applying
weight and volume configuration data to convert force to fluid density. This variable is not computed when it is not
assigned as PV.
Device Variable 3 – Process Temperature
When an RTD installed in the process fluid is wired to the device and assigned as the Process Temperature Source, the
Process Temperature variable is derived from the measured resistance of the RTD via a table related to IEC 60751. A
60-second lag, factory calibration, and user offset adjustments are applied to the signal before reporting.
When “Manual Entry” is assigned as the Process Temperature Source, this variable simply reports a fixed user-entered
value.
Device Variable 4 – Electronics Temperature
This variable is derived from the voltage drop across a semiconductor junction in a chip mounted in the transducer
housing. A 60-second lag and factory or user offset adjustments are applied to the signal before reporting.
6
Instruction Manual Supplement
D104329X012
DLC3010 Digital Level Controller
May 2022
Dynamic Variables
Three Dynamic Variables are implemented. The PV is user-selectable to one of the first three Device Variables via
Command 51.
The Field Device Status Byte (see table 2a) is the only status byte defined in the HART 5 protocol. The order and
meaning of each of the eight bits within the byte are fixed by the protocol. This byte is one of the status bytes included
with each HART response. It is not part of the Command 48 data.
Extended Device Status
This byte was not defined in the HART 5 specification, so it is not supported.
Additional Status Integrity Bytes
Three Additional Status bytes providing details of internal monitor states are returned in the Command 48 response.
Refer to table 2b for definitions of the bits.
7
DLC3010 Digital Level Controller
May 2022
Instruction Manual Supplement
Universal Commands
The following HART 5.0 Universal Commands are implemented in the DLC3010 firmware:
Command 0: Read Unique HART Identifier
Command 1: Read Primary Variable
Command 2: Read PV Current and Percent Range
Command 3: Read Dynamic Variables and PV Current
Command 6: Write Polling Address
Command 11: Read Unique Identifier with Tag
Command 12: Read Message
Command 13: Read Tag, Descriptor, Date
Command 14: Read PV Sensor Info
Command 15: Read PV Output Info
Command 16: Read Final Assembly Number
Command 17: Write Message
Command 18: WriteTag, Descriptor, Date
D104329X012
Note
At HART 5, Commands 38 and 48 were in the Common Practice group.
Any command can return any of the following response codes:
0No command specific errors
5Incorrect Byte Count
8Warning - value written was truncated (write commands only)
32Busy
In addition, some commands may return additional error codes. See the “Command Specific Response Codes” part of
the command description for additional codes. One of the error codes associated with writing data to the instrument
is:
7In Write Protect Mode
A more complete list is available in table 1. All commands will check for the required number of data bytes and return
Incorrect Byte Count if too few bytes are received. If too many bytes are received for the given command, the extra
bytes are ignored. This is the behavior defined by the HART specification, which allows for command expansion with
backward compatibility. If additional bytes are added to any command, an older instrument will still accept the
command with only the original bytes used and will ignore any of the additional bytes.
8
Instruction Manual Supplement
D104329X012
DLC3010 Digital Level Controller
May 2022
Command 0: Read Unique Identifier
Returns identity information about the field device in HART 5 identity format, including: Device Type, revision levels,
and Device ID. This command is implemented by a field device in both Short and Long Frame Formats. Command 0 is
the only command that may respond to a short frame address. The Device Type Code will be returned in the expanded
three-byte format. ("254", Manufacturer Identification Code, Manufacturer's Device Type Code). The combination of
Manufacturer Identification Code, Manufacturer's Device Type Code, and Device Identification Code make up the
Unique Identifier required for the Extended Frame Format of the Data Link Layer.
Number of preambles required for master to slave
request, including those required for message detection
Revision level of the universal command document
implemented by this device. Levels 254 and 255 are
reserved.
Revision level of the device - specific document
implemented. Levels 254 and 255 are reserved
Hardware revision level. Does not necessarily trace
component changes
5
5
1
1
Response
Codes
6
ErrorDevice-Specific Command Error
9
DLC3010 Digital Level Controller
May 2022
Command 1: Read Primary Variable
The Primary Variable is returned along with its Units Code.
ByteFormatDescription
Instruction Manual Supplement
D104329X012
Request Data
Bytes
Response
Data Bytes
Response
Codes
None
0EnumPrimary Variable Units (table 6, DLC3010 Unit Codes)
1-4FloatPrimary Variable
CodeClassDescription
6
8
16
ErrorDevice-Specific Command Error
WarningUpdate Failure
ErrorAccess Restricted
Command 2: Read Loop Current and Percent of Range
The Loop Current should match the current that would be measured by a milliammeter in series with the field device.
The actual implementation reports the commanded value driving the output Digital to Analog converter.
The Percent of Range signal follows the PV as mapped by URV and LRV in normal operation. However, the value
reported by Command 2 in the DLC3010 at firmware 8 is derived from the current command, thus reflecting
saturation limits and alarm values, instead of following PV out to Sensor Limits.
ByteFormatDescriptionReturned Value
Request Data
Bytes
Response
Data Bytes
None
0-3FloatPrimary Variable Loop Current (milliamperes)
4-7FloatPrimary Variable Percent of Range (%)
Response
Codes
10
CodeClassDescription
6
8
Error
Warning
Device-Specific Command Error
Update Failure
Instruction Manual Supplement
D104329X012
DLC3010 Digital Level Controller
May 2022
Command 3: Read Dynamic Variables and Loop Current
The Loop Current should match the current that would be measured by a milliammeter in series with the field device.
The actual implementation reports the commanded value driving the output Digital to Analog converter.
The remaining Response Data include the PV with its Units Code, Process Temperature and Electronics Temperature
with Temperature Units Codes.
This command writes the Polling Address to the field device. The address is used to control the Primary Variable
Analog Output and provide a means of device identification in Multidrop installations.
The Primary Variable Analog Output responds to the applied process only when the Polling Address of the device is set
to 0. When the address assigned to a device is in the range from 1 through 15, the Analog Output is Not Active and
does not respond to the applied process. While the Analog Output is Not Active, the Analog Output is set to its
minimum; the Transmitter Status Bit #3, Primary Variable Analog Output Fixed, is set; and the Upscale/Downscale
Alarm is disabled. If the Polling Address is changed back to 0, the Primary Variable Analog Output will become Active
and respond to the applied process.
In the HART 5 specification, no Read Command was provided for Polling Address. A Device-Specific Command is used
to acquire its value for display in the interface.
ByteFormatDescription
0Uint8Polling Address
Request Data
bytes
Response
Data Bytes
Response
Codes
0Analog Output Active
1 – 15Analog Output Not Active
16 - 255Invalid
0Uint8Polling Address
0Analog Output Active
1 – 15Analog Output Not Active
16 - 255Invalid
CodeClassDescription
2ErrorInvalid Selection
5
6
7
ErrorToo Few Data Bytes Received
ErrorDevice-Specific Command Error
ErrorIn Write-Protect Mode
12
Instruction Manual Supplement
D104329X012
DLC3010 Digital Level Controller
May 2022
Command 11: Read Unique Identifier Associated with Tag
This command returns the Expanded Device Type code, revision levels, and Device Identification Number from a
device containing the requested Tag. This command is unique in that no response will be made unless the Tag
matches that of the device.
The Device Type Code will always be returned in expanded 3-byte format: "254", Manufacturer Identification Code,
Manufacturer's Device Type code.
Number of Preambles required for request from Master to
Slave, including those required for message detect
Revision Level of the Universal Command Specification
implemented by this device
Revision level of the device - specific document
implemented.
Hardware revision level. Does not necessarily trace
component changes
5
5
1
1
13
DLC3010 Digital Level Controller
May 2022
Command 12: Read Message
This command reads a user-defined message contained within the device.
ByteFormatDescription
Instruction Manual Supplement
D104329X012
Request
Data bytes
Response
Data Bytes
Response
Codes
None
023PackedMessage String
CodeClassDescription
6ErrorDevice-Specific Command Error
Command 13: Read Tag, Descriptor, Date
This command reads the tag, descriptor, and date contained within the device.
ByteFormatDescription
Request
Data bytes
Response
Data Bytes
Response
Codes
None
05PackedTag
617PackedDescriptor
1820Uint8[3]Date; Respectively: day, month, year – base year (1900)
CodeClassDescription
6ErrorDevice-Specific Command Error
14
Instruction Manual Supplement
D104329X012
DLC3010 Digital Level Controller
May 2022
Command 14: Read Primary Variable Sensor Information
Reads the Primary Variable Sensor Serial Number, Primary Variable Sensor Limits/Minimum Span Units Code, Primary
Variable Upper Sensor Limit, Primary Variable Lower Sensor Limit, and Primary Variable Minimum Span for the sensor.
The Primary Variable Sensor Limits and Minimum Span Units will be the same as the Primary Variable Units.
Note
The sensor serial number is not applicable to the DLC3010 and is set to “0”.
3 bytes (2^24 = 16,777,216 ) were insufficient to code Fisher serial numbers, which have passed the 17,000,000 mark, and may
also contain non-numeric elements. We have created a device-specific variable to hold the displacer serial number
ByteFormatDescriptionReturned Value
Request Data
bytes
Response
Data Bytes
Response
Codes
None
02Uint24Not used in DLC3010 - Sensor Serial Number000000
3EnumSensor Limits and Minimum Span Units CodeFrom Cmd 44
Level Offset plus 120% of
47FloatUpper Sensor Limit
displacer length, or a density of
1.5 SGU
Level Offset minus 20% of
811FloatLower Sensor Limit
displacer length, or a density of
0.1 SGU
Closest usable spacing
between upper/lower range
1215FloatMinimum Span
values before accuracy issues
need to be considered, 25% of
displacer length or a density
difference of 0.25 SGU.
CodeClassDescription
6ErrorDevice-Specific Command Error
15
DLC3010 Digital Level Controller
May 2022
Instruction Manual Supplement
D104329X012
Command 15: Read Primary Variable Output Information
This command reads the Instrument alarm selection code (condition of the hardware jumper), units code for the PV
range variables, upper and lower range values, PV damping value, and private label distributor code. This command
has the HART 5 structure, 1 byte shorter than the HART 7 version.
ByteFormatDescription
Request Data
None
bytes
0EnumHardware Alarm Selection Code (Ignore)
1Enum
2Enum
PV Transfer Function Code
PV Upper and Lower Range Value Units Code, refer to table 6.
16EnumPrivate Label Distributor Code, refer to table 3
CodeClassDescription
Response
Codes
1. The enumeration assignments for Alarm Selection Code in the DLC3010 do not comply with the definition in HCF_SPEC-183 Common Tables
Specification, Table 6. Therefore, it is not referenced in DD menus, and the associated data item is handled by a device-specific command and variable.
2. The value of Transfer Function Code in the DLC3010 was inadvertently hard-coded to ‘1’ during development. The DD uses a post-read action to reset it
to the correct value of ‘0’, but it must be ignored when accessed outside of the DD.
6ErrorDevice-Specific Command Error
Command 16: Read Final Assembly Number
This command reads a 24-bit user-defined identification number from the device.
Request Data
bytes
Response
Data Bytes
Response
Codes
16
ByteFormatDescription
None
02Uint24Final Assembly Number
CodeClassDescription
6ErrorDevice-Specific Command Error
Instruction Manual Supplement
D104329X012
DLC3010 Digital Level Controller
Command 17: Write Message
This command allows you to write a 24-character informational message into the device.
ByteFormatDescription
May 2022
Request
Data bytes
Response
Data Bytes
Response
Codes
023Packed
023PackedMessage String
CodeClassDescription
5ErrorToo few data bytes
6ErrorDevice Specific command error
7ErrorIn write protect mode
Message string
Command 18: Write Tag, Descriptor, Date
This command writes the tag, descriptor, and date into the device.
ByteFormatDescription
05PackedTag
Request
Data bytes
Response
Data Bytes
Response
Codes
617PackedDescriptor
1820Uint8[3]Date; Respectively: day, month, year – base year (1900)
05PackedTag
617PackedDescriptor
1820Uint8[3]Date; Respectively: day, month, year – base year (1900)
CodeClassDescription
5ErrorToo few data bytes
6ErrorDevice Specific command error
7ErrorIn write protect mode
Command 19: Write Final Assembly Number
This command writes the user-defined final assembly number into the device.
ByteFormatDescription
Request Data
bytes
Response
Data Bytes
Response
Codes
02Uint24Final Assembly Number
02Uint24Final Assembly Number
CodeClassDescription
5ErrorToo few data bytes
6ErrorDevice Specific command error
7ErrorIn write protect mode
17
DLC3010 Digital Level Controller
May 2022
Instruction Manual Supplement
CommonPractice Commands
The DLC3010 field device supports the following common practice commands:
Command 34: Write Primary Variable Damping Value
Command 35: Write Primary Variable Range Values
Command 36: Set Primary Variable Upper Range Value
Command 37: Set Primary Variable Lower Range Value
Command 38: Reset Configuration Change Flag
Command 40: Enter/Exit Fixed Current Mode
Command 41: Perform Transmitter Self Test
Command 42: Perform Master Reset
Command 44: Write PV Units Code
Command 45: Trim PV Current DAC Zero
Command 46: Trim PV Current DAC Gain
Command 48: Read Additional Transmitter Status
Command 50: Read Dynamic Variable Assignments
Command 51: Write Dynamic Variable Assignments
Command 53: Set Device Variable Units
Command 59: Write Number of Response Preambles
D104329X012
Burst Mode
This field device supports Burst Mode and the following commands:
Command 108: Write Burst Mode Command Number
Command 109: Burst Mode Control
Catch Device Variable
This field device does not support Catch Device Variable.
18
Instruction Manual Supplement
D104329X012
DLC3010 Digital Level Controller
May 2022
Command 34: Write Primary Variable Damping Value
Writes the damping value applied to the PV filter, in seconds. This term sets the time constant of the digital filter.
ByteFormatDescriptionAllowable choices
Request Data
Bytes
Response
Data Bytes
Response
Codes
0-3FloatDamping Value for Primary Variable0 to 16 seconds
0-3FloatDamping Value for Primary Variable
CodeClassDescription
3ErrorPassed parameter too large
4ErrorPassed parameter too small
5ErrorToo few data bytes received
7ErrorIn Write Protect mode
8WarningSet to nearest possible value
Command 35: Write Primary Variable Range Values
This command writes the primary variable ranging values with the associated units code. The Upper Range Value may
be set lower than the Lower Range Value to implement reverse action for the analog output. Changing action via
Command 35 is more robust than attempting to use Commands 36 and 37 iteratively for that purpose.
The unit code supplied in this command is not stored in the instrument. The supplied ranges will be converted to
current PV units before being applied. Range values must be validated in the DD to assure that they are within the
allowable limits and are separated by a minimum span. The unit code is checked in the instrument and Invalid
Selection will be returned for a code that is not supported by the device in the current operating mode.
ByteFormatDescription
0Uint8Upper and Lower Range Values Unit Code
Request Data
Bytes
Response
Data Bytes
Response
Codes
1 4FloatPrimary Variable Upper Range Value
5 8FloatPrimary Variable Lower Range Value
0Uint8Upper and Lower Range Values Unit Code
1 4FloatPrimary Variable Upper Range Value
5 8FloatPrimary Variable Lower Range Value
CodeClassDescription
2ErrorInvalid selection
9ErrorLower Range too high
10ErrorLower Range too low
11ErrorUpper Range too high
12ErrorUpper Range too low
14WarningSpan is too small (Data is accepted)
19
DLC3010 Digital Level Controller
May 2022
Instruction Manual Supplement
D104329X012
Command 36: Set Primary Variable Upper Range Value
The value of the process applied to the process variable becomes the primary variable upper range value. The lower
range value remains the same.
ByteFormatDescription
Request Data
Bytes
Response
Data Bytes
Response
Codes
None
None
CodeClassDescription
7ErrorIn Write Protect mode
9ErrorApplied process too high
10ErrorApplied process too low
14WarningSpan is too small (Data is accepted)
Command 37: Set Primary Variable Lower Range Value
The value of the process applied to the process variable becomes the primary variable lower range value. To maintain
the same span, the device will attempt to shift the upper range value by the same amount that the lower range value
changes.
ByteFormatDescription
Request Data
Bytes
Response
Data Bytes
Response
Codes
Note: Response Codes 9 and 10 will take precedence if the new span between LRV and URV is less than the minimum span given by command 15.
None
None
CodeClassDescription
7ErrorIn Write Protect mode
9ErrorApplied process too high
10ErrorApplied process too low
14WarningNew Lower Range Value pushed Upper Range Value over limit. Data is
accepted in instrument. The Upper Range Value will be clamped at the sensor
limit.
20
Instruction Manual Supplement
D104329X012
DLC3010 Digital Level Controller
May 2022
Command 38: Reset Configuration Change Flag
Resets the configuration changed flag associated with the requesting master1 in the device status byte. Masters
should issue this command after the configuration change has been detected and all needed configuration data has
been read from the device.
ByteFormatDescription
Request Data
Bytes
Response
Data Bytes
Response
Codes
1The standard now requires that 2 copies of this flag be maintained, one for each type of master. Both copies must be set for any change that affect
configuration, and each type of master may only reset its own copy. It must be the responsibility of the host to decide when the flag copy can be cleared,
and to make sure it does get cleared.
None
None
CodeClassDescription
None
Note: The HART specification provides response code 7 (In Write protect
mode), but blocking the reset action just because the device is
write-protected would defeat the general principle behind the mechanism
implemented by this command
Command 40: Enter/Exit Fixed PV Current Mode
The device is placed in the Fixed Primary Variable Current Mode with the PV current set to the value received. A
commanded level of ‘0’ forces exit from the Fixed PV Current Mode. This mode is also cleared when power is removed
from the device. Value sent is in mA. Range checking is performed in the instrument (3.7 mA to 22.5 mA). The current
command will be clamped to these limits if the request violates them.
ByteFormatDescription
Request
Data bytes
Response
Data Bytes
Response
Codes
0-3FloatCurrent Value (in mA) requested for Fixed Current Mode
0-3FloatApplied PV Current command (in mA)
CodeClassDescription
14ErrorIn Multi-Drop Mode
Command 41: Perform Transmitter Self Test
This command is reserved for factory testing only.
21
DLC3010 Digital Level Controller
May 2022
Instruction Manual Supplement
D104329X012
Command 42: Perform Master Reset
Respond immediately and then reset the microprocessor. This is equivalent to a power cycle in the DLC3010.
ByteFormatDescription
Request
Data bytes
Response
Data Bytes
Response
Codes
None
None
CodeClassDescription
None
Command 44: Write Primary Variable Units
This command is used to change the units of the Primary Variable. Range checking is performed in the instrument.
ByteFormatDescription
Request Data
Bytes
Response Data
Bytes
Response
Codes
0Uint8Primary Variable Units Code
0Uint8
CodeClassDescription
2ErrorInvalid selection
5ErrorToo few data bytes received
7ErrorIn Write Protect mode
Primary Variable Units Code
Command 45: Trim Primary Variable Current DAC Zero
Trim the zero of the analog output so that the commanded signal current is accurately produced. This trim is typically
performed using the Fixed Current Mode by adjusting the associated DAC output to 4.0 mA as observed on a precision
meter. Reasonableness range checking must be done in the DD.
ByteFormatDescription
Request Data
Bytes
Response Data
Bytes
Response
Codes
0-3FloatExternally measured current level (mA)
0-3Float
CodeClassDescription
3ErrorPassed parameter too large
4ErrorPassed parameter too small
5ErrorToo few data bytes received
7ErrorIn Write Protect mode
9ErrorNot in proper current mode
11ErrorIn Multidrop mode
Instrument current level (mA)
22
Instruction Manual Supplement
D104329X012
DLC3010 Digital Level Controller
May 2022
Command 46: Trim Primary Variable Current DAC Gain
Trim the gain of the analog output so that the commanded signal current is accurately produced. This trim is typically
performed using the Fixed Current Mode by adjusting the associated DAC output to 20.0 mA as observed on a
precision meter. Reasonableness range checking must be done in the DD.
ByteFormatDescription
Request Data
Bytes
Response Data
Bytes
Response
Codes
0-3FloatExternally measured current level (mA)
0-3Float
CodeClassDescription
3ErrorPassed parameter too large
4ErrorPassed parameter too small
5ErrorToo few data bytes received
7ErrorIn Write Protect mode
9ErrorNot in proper current mode
11ErrorIn Multidrop mode
Instrument current level (mA)
Command 48: Read Additional Status
Returns status information which is not included in the response code bytes. The free time alarm bit will be cleared by
this read action. Command 48 returns 3 bytes of data (see table 2b).
ByteFormatDescription
Request
Data bytes
Response
Data Bytes
Response
Codes
None
0Uint8Command 48 Response Byte 0
1Uint8Command 48 Response Byte 1
2Uint8Command 48 Response Byte 2
CodeClassDescription
None
23
DLC3010 Digital Level Controller
May 2022
Instruction Manual Supplement
D104329X012
Command 50: Read Dynamic Variable Assignments
This command command reads the variable assigned to the primary variable, namely: Level, Interface, or Density, plus
the fixed assignments. Number of variables matches the HART spec, even though only three variables are read from
the instrument.
ByteFormatDescription
Request Data
Bytes
Response
Data Bytes
Response
Codes
None
0EnumID of variable returned as the first variable (PV) in Command 3, see table 5
1Enum
2Enum
3EnumCode for Unused (250 decimal)
CodeClassDescription
None
ID of variable returned as the second variable (SV) in Command 3, see table 5
Fixed at Electronics Temperature
ID of variable returned as the third variable (TV) in Command 3, see table 5
Fixed at Process Temperature
Command 51: Write Dynamic Variable Assignments
This command assigns the variable to be used as the primary variable: Level, Interface, or Density. It writes only a
single variable, not the 4 variables defined in the HART specification. The instrument performs validity checking.
Parameters 2, 3, and 4 are not writable and will return what the instrument is using. Note: The instrument may need to
be reconfigured to get valid PV units and upper and lower range values after changing the primary variable. Therefore,
this command should only be issued from a method that takes care of such clean up.
ByteFormatDescription
0EnumDevice variable ID assigned to PV, see table 5
Request Data
Bytes
Response Data
Bytes
Response
Codes
1EnumUnused and Ignored by instrument
2EnumUnused and Ignored by instrument
3EnumUnused and Ignored by instrument
0EnumDevice variable ID assigned to PV
1Enum
2Enum
3EnumCode for Unused (250 decimal)
CodeClassDescription
2ErrorInvalid selection
7ErrorIn Write Protect Mode
Device variable ID assigned to SV
Electronics Temperature code from table 5.
Device variable ID assigned to TV
Process Temperature code from table 5.
24
Instruction Manual Supplement
D104329X012
DLC3010 Digital Level Controller
May 2022
Command 53: Set Device Variable Units
This command writes the units associated with the specified parameter. Range checking is performed in the
instrument. Note: Process temperature and electronics temperature share the same unit code so writing new units to
one will change the units for the other.
ByteFormatDescriptionAllowable choices
Request Data
Bytes
Response Data
Bytes
Response
Codes
0EnumDevice Variable IDSee table 5
1EnumUnits CodeSee table 6
0EnumDevice Variable ID
1EnumUnits Code
CodeClassDescription
5ErrorToo few data bytes received
7ErrorIn Write Protect mode
11ErrorInvalid Variable ID
12ErrorInvalid units code
Command 59: Write Number of Response Preambles
This This is a Data Link Layer Management Command. This command selects the number of preambles to be sent by a
device before the start of a response packet. The instrument range checks this value from 5-20. It stores and reads this
value from NVM, but will use a RAM copy with a minimum value of 5 no matter what it reads from NVM.
ByteFormatDescriptionAllowable choices
Request Data
Bytes
Response Data
Bytes
Response
Codes
0Uint8
0Uint8
CodeClassDescription
3ErrorPassed parameter is too large
4ErrorPassed parameter is too small
5ErrorToo few data bytes received
7ErrorIn Write Protect mode
Number of preambles to be sent prior
to the response message from the
DLC3010 slave to the Master
Number of preambles to be sent prior
to the response message from the
DLC3010 slave to the Master
5-20
25
DLC3010 Digital Level Controller
May 2022
Instruction Manual Supplement
D104329X012
Command 108: Write Burst Command Number
This command is used to select the response command the device transmits while in Burst Mode. HART 5 did not
provide a Read Command for Burst Command Number, so a Device-Specific Command is used to access the value for
display.
ByteFormatDescription
Request Data
Bytes
Response Data
Bytes
0EnumBurstCommand Number (1, 2, or 3)
0EnumBurstCommand Number (1, 2, or 3)
CodeClassDescription
Response Codes
2ErrorInvalid Selection
Command 109: Write Burst Mode Control
This command is used to enter and exit Burst Mode. HART 5 did not provide a Read Command for Burst Mode, so a
Device-Specific Command is used to access the value for display.
ByteFormatDescription
Request Data
Bytes
Response Data
Bytes
Response Codes
0EnumBurst Mode (0 = Off, 1= On)
0EnumBurst Mode
CodeClassDescription
2ErrorInvalid Selection
26
Instruction Manual Supplement
D104329X012
Device-Specific Commands
The DLC3010 field device supports the following DeviceSpecific HART Commands.
Command 128: Read Float Variables with Selectable Units
Command 129: Write Float Variables with Selectable Units
Command 130: Read Float Variables with Fixed Units
Command 131: Write Float Variables with Fixed Units
Command 132: Read Byte Variables
Command 133: Write Byte Variables
Command 134: Read NVM (private)
Command 135: Write NVM (private)
Command 137: Read Word Variables
Command 138: Write Word Variables
Command 139: Read Displacer Serial Number
Command 140: Write Displacer Serial Number
Command 142: Read Table Entry
Command 143: Write Table Entry
Command 144: Read Trend Buffer
Command 145: Read Device Variable Alert Params
Command 146: Write Hi Alert
Command 147: Write Hi Hi Alert
Command 148: Write Lo Alert
Command 149: Write Lo Lo Alert
Command 150: Read NVM Count Remaining
Command 151: Capture Zero Reference Angle
Command 152: Set Write Lock
DLC3010 Digital Level Controller
May 2022
27
DLC3010 Digital Level Controller
May 2022
Instruction Manual Supplement
Command 128: Read Float Variables with Selectable Units
This command is used to read a floating-point variable and its associated units code.
ByteFormatDescription
Request Data
Bytes
Response Data
Bytes
0EnumVariable Index Number from table 7
0EnumVariable Index Number from table 7
1EnumUnits Code. See table 6
2-5FloatValue of Selected Variable in Associated Units
CodeClassDescription
D104329X012
Response Codes
2ErrorInvalid Selection
5ErrorToo few data bytes received
Command 129: Write Float Variables with Selectable Units
This command is used to write the value of a floating-point variable in its associated units code. The instrument will
convert the value from the presented units to standard internal units before storing it in NVM. The unit code is not
stored. Range checking must be performed in the DD.
ByteFormatDescription
Request Data
Bytes
Response Data
Bytes
Response Codes
0EnumVariable Index Number from table 7
1EnumUnits Code, see table 6
2-5FloatValue of Selected Variable in Associated Units
0EnumVariable Index Number
1EnumUnits Code
2-5FloatValue of Selected Variable in Associated Units
CodeClassDescription
2ErrorInvalid Selection (Units Code)
3ErrorPassed parameter is too large
4ErrorPassed parameter is too small
5ErrorToo few data bytes received
7ErrorIn Write Protect mode
28
15ErrorInvalid Index (Variable)
Instruction Manual Supplement
D104329X012
DLC3010 Digital Level Controller
May 2022
Command 130: Read Float Variables with Fixed Units
This command is used to read a floating-point variable without any associated units code. The DD must check for
invalid selections.
ByteFormatDescription
Request Data
Bytes
Response Data
Bytes
0EnumVariable Index Number from table 8
0EnumVariable Index Number from table 8
1-4FloatValue of Selected Variable.
CodeClassDescription
Response Codes
2ErrorInvalid Selection
5ErrorToo few data bytes received
Command 131: Write Float Variables with Fixed Units
This command is used to write the value of a floating-point variable without any associated units code. Range checking
must be performed in the DD.
ByteFormatDescription
Request Data
Bytes
Response Data
Bytes
Response Codes
0EnumVariable Index Number from table 8
1-4FloatValue of Selected Variable
0EnumVariable Index Number from table 8
1-4FloatValue of Selected Variable
CodeClassDescription
2ErrorInvalid Selection
3ErrorPassed parameter is too large
4ErrorPassed parameter is too small
5ErrorToo few data bytes received
7ErrorIn Write Protect mode
Command 132: Read Byte Variables
This command is used to read a byte variable.
ByteFormatDescription
Request Data
Bytes
Response Data
Bytes
Response Codes
0EnumVariable Index Number from table 9
0EnumVariable Index Number from table 9
1EnumValue of Selected Byte Variable
CodeClassDescription
2ErrorInvalid Selection
5ErrorToo few data bytes received
29
DLC3010 Digital Level Controller
May 2022
Instruction Manual Supplement
D104329X012
Command 133: Write Byte Variables
This command is used to write the value of a byte variable. The instrument only provides range checking for the Hall
drive-current setting and the Number of Meter Decimal Places. All other range checking must be performed in the DD.
ByteFormatDescription
Request Data
Bytes
Response Data
Bytes
Response Codes
0EnumVariable Index Number from table 9
1EnumValue of Selected Variable
0EnumVariable Index Number from table 9
1EnumValue of Selected Variable
CodeClassDescription
2ErrorInvalid Selection
5ErrorToo few data bytes received
7ErrorIn Write Protect mode
15
ErrorInvalid Index
Command 134: Read NVM
Command 134 description is included in the proprietary version of this document.
Contact your Emerson sales office
if additional information is required.
Command 135: Write NVM
Command 135 description is included in the proprietary version of this document.
Contact your Emerson sales office
if additional information is required.
Command 137: Read Word Variables
This command is used to read Word-size parameters. Range checking must be done outside the instrument. For
invalid index numbers, the instrument will return 0 for data. (This command was not utilized in the user interface.)
ByteFormatDescription
Request Data
Bytes
Response Data
Bytes
0EnumVariable Index Number from table 10
0EnumVariable Index Number from table 10
1Uint8LS Byte of Word
2Uint8MS Byte of Word
CodeClassDescription
Response Codes
30
2ErrorInvalid Selection
Instruction Manual Supplement
D104329X012
DLC3010 Digital Level Controller
May 2022
Command 138: Write Word Variables
This command is used to write Word-size parameters. Range checking must be done by the DD. For valid writes, the
configuration changed bit will be set. For invalid writes, the bit will not be set. (This command was not utilized in the
user interface.)
ByteFormatDescription
Request Data
Bytes
Response Data
Bytes
Response Codes
0EnumVariable Index Number from table 10
1Uint8LS Byte of Word
2Uint8MS Byte of Word
0EnumVariable Index Number from table 10
1Uint8LS Byte of Word
2Uint8MS Byte of Word
CodeClassDescription
2ErrorInvalid Selection
9ErrorPassed value too high
10ErrorPassed value too low
Command 139: Read Serial Number
This command is used to read the instrument or displacer serial number. If the passed index is invalid, the device sets it
to 1.
ByteFormatDescription
Request Data
Bytes
Response Data
Bytes
Response Codes
0EnumSerial Number Index: (0 = Displacer, 1 = Instrument)
0EnumSerial Number Index
1-16ASCIISerial Number string
CodeClassDescription
None
Command 140: Write Serial Number
This command is used to write the instrument or displacer serial number.
ByteFormatDescription
Request Data
Bytes
Response Data
Bytes
0EnumSerial Number Index: (0 = Displacer, 1 = Instrument)
1-16ASCIISerial Number string
0EnumSerial Number Index
1-16ASCIISerial Number string
CodeClassDescription
Response Codes
5ErrorToo few data bytes received
15ErrorInvalid index
31
DLC3010 Digital Level Controller
May 2022
Instruction Manual Supplement
D104329X012
Command 142: Read Table Entry
This command is used to read an entry from one of the tables in the instrument. The arguments allow selection of the
table, and the row of the table to be read. The instrument returns the pair of data associated with the table entry.
Range checking for proper table index and row number must be done in the DD.
ByteFormatDescription
Request Data
Bytes
Response Data
Bytes
0EnumTable Index from table 12
1Uint8Row Number (0-9)
0EnumTable Index
1Uint8Row Number
2-5FloatTemperature Value
6-9FloatCoefficient Value
CodeClassDescription
Response Codes
2ErrorInvalid selection
5ErrorToo few data bytes received
Command 143: Write Table Entry
This command is used to write an entry into a compensation table in the instrument. Arguments allow selection of the
table, and the row of the table. If the tables are not full, a column 2 (coefficient value) entry of 0.0 will signal the end of
valid data for the table. The DD interface must write the last entry of 0.0 for column 2 to signal the device that the
table is complete and can be used for computations, unless the table has valid data in all 10 rows.
ByteFormatDescription
0EnumTable Index from table 12
Request Data
Bytes
Response Data
Bytes
1Uint8Row Number (0-9)
2-5FloatTemperature Value (Column 1 entry)
6-9FloatCoefficient Value (Column 2 entry)
0EnumTable Index
1Uint8Row Number
2-5FloatTemperature Value
6-9FloatCoefficient Value
CodeClassDescription
2ErrorInvalid selection
Response Codes
32
3ErrorPassed parameter too large
4ErrorPassed parameter too small
5ErrorToo few data bytes received
15ErrorInvalid row number
Instruction Manual Supplement
D104329X012
DLC3010 Digital Level Controller
May 2022
Command 144: Read Trend Buffer
This command is used to read trend data from the instrument. See table 6 for trend variable definitions. The trend
buffer is zeroed after each read. This results in ‘zero’ values being displayed for slots that have not had time to be filled
with samples since the last read of the buffer. The trend buffer is continuously updated at the trend interval whether it
is read or not. (This feature has been removed from the DD in recent revisions, since the available range for trend
interval is quite small.)
10 = Illegal trend variable specified
11 = Gap in data since last read
Response Codes
None
Command 145: Read Device Alert Parameters
This command is used to read the user-configurable alarm thresholds stored in the instrument. It returns all 4 alarm
thresholds for the primary variable, and only the Hi and Lo thresholds for temperature alarms. The Hi-Hi and Lo-Lo
thresholds for temperature will return Not-a-Number. Only a single set of alarm threshold variables exist in firmware
for the Primary Variable, (i.e., there are not separate values maintained for Interface and Density when Level is the
active mode). The values must be edited when the Primary Variable code is changed between (Liquid Level or Interface
Level) and Liquid Density, as the measurement has different dimensions.
This command is used to write the Hi alert threshold for the specified Device Variable. Range checking must be done in
the DD for both range and valid Device Variable code. The Device Variable should be either one of the two
temperatures or the current PV variable code.
ByteFormatDescription
Request Data
Bytes
Response Data
Bytes
Response Codes
0EnumDevice Variable Code, see table 5
1EnumUnits Code
2-5FloatHi Alert Threshold
0EnumDevice Variable Code
1EnumUnits Code
2-5FloatHi Alert Threshold
CodeClassDescription
2ErrorInvalid selection
3ErrorPassed parameter too large
4ErrorPassed parameter too small
5ErrorToo few data bytes received
7ErrorIn Write Protect mode
15ErrorInvalid index
Command 147: Write Hi Hi Alert
This command is used to write the Hi Hi alert threshold for the Primary Variable. Range checking must be done in the
DD for both valid PV code and range. Using a variable code that is not the current PV variable code will result in
corrupting the alarm threshold values. The Device Variable index used in the request should be the current PV variable
code.
ByteFormatDescription
Request Data
Bytes
Response Data
Bytes
Response Codes
0EnumDevice Variable Code, see table 5
1EnumUnits Code
2-5FloatHi Hi Alert Threshold
0EnumDevice Variable Code
1EnumUnits Code
2-5FloatHi Hi Alert Threshold
CodeClassDescription
2ErrorInvalid selection
3ErrorPassed parameter too large
4ErrorPassed parameter too small
5ErrorToo few data bytes received
7ErrorIn Write Protect mode
15ErrorInvalid index
34
Instruction Manual Supplement
D104329X012
DLC3010 Digital Level Controller
May 2022
Command 148: Write Lo Alert
This command is used to write the Lo alert threshold for the specified Device Variable. Range checking must be done
in the DD for both range and valid Device Variable code. The Device Variable should be either one of the two
temperatures or the current PV variable code.
ByteFormatDescription
Request Data
Bytes
Response Data
Bytes
Response Codes
0EnumDevice Variable Code, see table 5
1EnumUnits Code
2-5FloatLo Alert Threshold
0EnumDevice Variable Code
1EnumUnits Code
2-5FloatLo Alert Threshold
CodeClassDescription
2ErrorInvalid selection
3ErrorPassed parameter too large
4ErrorPassed parameter too small
5ErrorToo few data bytes received
7ErrorIn Write Protect mode
15ErrorInvalid index
Command 149: Write Lo Lo Alert
This command is used to write the Lo Lo alert threshold for the Primary Variable. Range checking must be done in the
DD for both valid PV code and range. Using a variable code that is not the current PV variable code will result in
corrupting the alarm threshold values. The Device Variable index used in the request should be the current PV variable
code.
ByteFormatDescription
Request Data
Bytes
Response Data
Bytes
Response Codes
0EnumDevice Variable Code, see table 5
1EnumUnits Code
2-5FloatLo Lo Alert Threshold
0EnumDevice Variable Code
1EnumUnits Code
2-5FloatLo Lo Alert Threshold
CodeClassDescription
2ErrorInvalid selection
3ErrorPassed parameter too large
4ErrorPassed parameter too small
5ErrorToo few data bytes received
7ErrorIn Write Protect mode
15ErrorInvalid index
35
DLC3010 Digital Level Controller
May 2022
Instruction Manual Supplement
D104329X012
Command 150: Read NVM Remaining
This command returns the number of NVM write counts remaining in each of the three NVM sections. Their type is
“unsigned integer”.
ByteFormatDescription
Request Data
Bytes
Response Data
Bytes
None
0-1Uint16NVMWrites Remaining in Microprocessor EEPROM
2-3Uint16NVMWrites Remaining in On-Board NVM
4-5Uint16NVMWrites Remaining in Transducer Board
CodeClassDescription
Response Codes
None
Command 151: Capture Zero Reference Angle
This command is used to mark the current pilot shaft position as the zero (differential) buoyancy reference. The
instrument will read the internal variable representing shaft rotation, and store it for use in all measurement
calculations.
In Level measurement mode, where the SG value represents the differential density between the upper and lower
phase, this command should be issued after the lever assembly has been unlocked, and the displacer is at the lowest
buoyancy process condition.
In Interface or Density measurement mode, the variable being marked must represent true zero buoyancy. Because of
this, it is not possible to use this command effectively with an over-weight displacer in those modes. In this condition,
the sensor linkage is on a travel stop at zero buoyancy and does not reflect the full theoretical deflection. The required
zero-reference value must be back-computed from two calibration data points, and written explicitly with the Write
NVM command.
This command does not check write lock status, although it affects the instrument calibration. It therefore should be
used only inside a method in the instrument DD, where write protect status can be enforced explicitly.
ByteFormatDescription
Request Data
Bytes
Response Data
Bytes
None
None
CodeClassDescription
Response Codes
36
None
Instruction Manual Supplement
D104329X012
DLC3010 Digital Level Controller
May 2022
Command 152: Set Write Lock
This command is used to either set or clear the write lock. This command is also sensitive to Primary/Secondary Master
status in the message. If a primary master sets write lock, then only a primary master can clear write lock, not a
secondary, and vice versa. However, this variable is stored in RAM and will be reset to the OFF condition (writes
enabled) after power-up, providing a work-around if the correct master priority is unavailable.
Write lock status is checked by the following:
Universal commands: 6, 17, 18, 19.
Common Practice commands: 34, 35, 36, 37, 40, 44, 45, 46, 51, 53, 59, 108, 109.
Device-Specific commands: 129, 131, 133, 138, 140, 143, 146, 147, 148, 149, (and 152 with respect to a different
master hierarchy).
ByteFormatDescription
Request Data
Bytes
Response Data
Bytes
Response Codes
0EnumWrite Lock request: (0 = OFF, 1 = ON)
0EnumWrite Lock state
CodeClassDescription
2ErrorInvalid selection
16ErrorAccess Restricted (Another host has possession of the lock)
37
DLC3010 Digital Level Controller
May 2022
Instruction Manual Supplement
D104329X012
Tables
Table 1: DLC3010 HART Response Codes
The following codes represent a sub-set of the HART Response Codes which can be returned by the DLC3010
instrument.
CodeMeaning
0No command specific errors
2Invalid Selection
3Parameter Too Large
4Parameter Too Small
5Incorrect Byte Count
7In Write Protect Mode
8Data Truncated (warning)
Lower Range Too High
9
10
11
12
13
14
15Invalid Index
16Access Restricted
32Busy
64Command Not Implemented
Not in Proper Mode
Process Too High
Zero Range Too High
Lower Range Too Low
Process Too Low
Zero Range Too Low
In MultiDrop Mode
Invalid Variable Code
Span Range Too High
Starting Address Too Low
Upper Range Too High
Starting Address Too High
Upper Range Too Low
Span Lower Out of Limits
Upper/Lower Out of Limits
New LRV Pushed URV Over Limit (Warning)
Span Too Small (Warning)
38
Instruction Manual Supplement
D104329X012
Table 2a: Device Status
BitName of Status BitMeaning
- This bit should be set whenever the firmware detects a serious error or failure
7Field Device Malfunction
6Configuration Changed
that compromises device operation. In DLC3010 firmware 8, the only event that
sets it is a time-out during writes to Description or Message, caused by a
firmware bug involving an improperly initialized timer. Its functional severity
is thus downgraded to advisory.
Two such bits exist internally, one for each HART master. Both copies are set
when any variable, HART message, tag, descriptor or date are changed from
HART. Cleared by command 38, separately for each master. This bit survives
loss of power. A firmware 8 bug prevents it from being returned to the
secondary master.
DLC3010 Digital Level Controller
May 2022
5Cold Start
device power up. Cleared by the first HART command. Two such bits exist
internally, one for each HART master.
4More StatusActive when any bit in command 48 is active.
Set by the firmware whenever a RESET sequence is executed or at initial
Primary Variable Analog
3
Output Fixed
Primary Variable Analog
2
Output Saturated
The analog output for the Primary Variable is being held at a fixed value and is
not responding to process variations.
The analog output for the Primary Variable has reached its upper (or lower)
endpoint limit and cannot increase (or decrease) any further.
A Device Variable not mapped to the Primary Variable is beyond the operating
Non-Primary Variable Out of
1
Limits
limits of the device. The “Read Additional Transmitter Status” Command,
#48, may be required to identify the variable. This bit is the logical OR of the
Middle Status Byte, Bits 3 through 0, (Process Temperature and Electronics
Temperature Alarms).
0Primary Variable Out of Limits Primary Variable is beyond the operating limits of the device.
39
DLC3010 Digital Level Controller
May 2022
Table 2b: Additional Status Bytes
ByteBitName of Status BitMeaning
7Reserved
6Reserved
5Sensor Signal Failed
4Sensor Drive Failed
0
3Reference Voltage Failed
2NVM Write Limit Exceeded
1Free Time Limit Exceeded
Process Temperature Sensor
0
Failed
The torque tube position reading has exceeded the hard-coded
limits, either above or below.
The Hall sensor drive current read-back has exceeded the
hard-coded limit.
The reference voltage for the A/D has exceeded the hard-coded
limits, either above or below.
The total number of writes to NVM has exceeded the hard-coded
limit. This bit is an OR of all the NVM write limit flags.
There is insufficient free time remaining in the execution period to
complete the scheduled tasks.
The apparent resistance measured at the RTD terminals is less than
10 ohms or greater than 320 ohms.
7PV Hi Limit ExceededActive when user-configured threshold is violated.
6PV HiHi Limit ExceededActive when user-configured threshold is violated.
5PV Lo Limit ExceededActive when user-configured threshold is violated.
4PV LoLo Limit ExceededActive when user-configured threshold is violated.
Process Temperature Hi Limit
3
1
Exceeded
Process Temperature Lo Limit
2
Exceeded
Electronics Temperature Hi
1
Limit Exceeded
Electronics Temperature Lo
0
Limit Exceeded
Active when user-configured threshold is violated.
Active when user-configured threshold is violated.
Active when user-configured threshold is violated.
Active when user-configured threshold is violated.
2AllReserved
"Reserved" bits are always set to 0
Instruction Manual Supplement
D104329X012
Table 3: Manufacturer Identification Code
Code
Meaning
19Fisher Controls
Table 4: Physical Signaling Codes
Code
Meaning
0Bell 202 Current Mode
1Bell 202 Voltage Mode
40
Instruction Manual Supplement
D104329X012
DLC3010 Digital Level Controller
Table 5: DLC3010 Device Variable Codes
(Index for commands 50, 51, 145, 146, 147, 148, 149)
0x80Reserved
0x40Reserved
0x20Reserved
0x10Reserved
0x08PV Hi
0x04PV HiHi
0x02PV Lo
0x01PV LoLo
Temperature Alert Enable Bits
(1=enabled, 0 = disabled)
Bit Mask
0x80Reserved
0x40Reserved
0x20Reserved
0x10Reserved
0x08Process Temperature Hi
0x04Process Temperature Lo
0x02Electronics Temperature Hi
0x01Electronics Temperature Lo
Monitor
Monitor
D104329X012
Table 7: DLC3010 Floating Point Variables with Selectable Units
(boot code and working copy of transducer
characterization data)
44
Instruction Manual Supplement
D104329X012
Table 12: DLC3010 Coefficient Tables
(index for commands 142 and 143)
Code
Table 13: DLC3010 Microprocessor RAM and EEPROM Addresses
DLC3010 Microprocessor RAM and EEPROM addresses are defined in the proprietary version of this document.
Contact your Emerson sales office
Table Name
0Temperature Coefficient for Specific Gravity of Upper Fluid
1Temperature Coefficient for Specific Gravity of Lower Fluid
2Temperature Coefficient for Torque Rate
if additional information is required.
DLC3010 Digital Level Controller
May 2022
Performance
Refer to the DLC3010 Digital Level Controller Instruction Manual (D102748X012) and Product Bulletin 62.1: DLC3010
for details on DLC3010 performance.
Sampling Rates
The DLC3010 Primary Variable (Level|Interface|Density) is normally updated every 100 milliseconds (10 samples per
second).
A Secondary or Tertiary variable sample occurs every 500 milliseconds, but the two are alternated. The sample rate for
Temperature variables is therefore 1 per second.
When the output current is below about 4.3 mA, the primary variable sample is skipped when one of the Temperature
variables is being sampled that cycle. Therefore, at very low current output, the primary variable sample structure is: 4
samples with 100 millisecond separation, followed by a gap of 200 milliseconds.
The output alarm logic is executed every 200 milliseconds.
The PV alarm logic is executed every 500 milliseconds.
The Temperature alarm logic is executed once a second.
The LCD display is updated every second when displaying one variable, and every two seconds when it is displaying
alternating variables.
The analog input filtering has a double pole at about 320 Hz.
The Analog to Digital conversion uses a Sigma/Delta device that runs at a bit rate of 28.8 KHz. The first notch of the
decimation filter is at 100 Hz for a theoretical update every 10 milliseconds, but the firmware initiates the conversion
only once per 100-millisecond interrupt-driven cycle. The settling time for the Sigma-Delta A/D converter in this mode
is 30 milliseconds.
Maximum Delay Time estimate for the primary variable: ∼ 250 milliseconds.
45
DLC3010 Digital Level Controller
May 2022
Instruction Manual Supplement
D104329X012
Power-Up
There is a short inrush current transient expected when power is connected to the device. PV processing begins within
5 seconds. It takes about 1 second for the analog output to settle to 98% of it's commanded value once PV processing
has begun. This does not include the input dynamics.
The device does not respond to HART commands until the start-up processing is complete.
Reset
The effect of Command 42 on the the device firmware processing is the same as a power cycle. A reset removes write
protection.
Self-Test
No user-discernible effect on processing results from issuing Command 41.
Background self-test functions include:
D Serial EEPROM check sum validation
D Write-count-remaining tracking for each NVM region
D Free time tracking for microprocessor cycle
D Primary Sensor drive current monitoring
D Primary sensor A/D self-calibration
D Primary Sensor input measurement conversion range monitoring
D Primary Value output range monitoring (when enabled)
D RTD resistance measurement conversion range monitoring (when installed)
D Electronics and/or Process temperature range monitoring (when enabled)
Command Response Delay
The device responds to a master request in less than 256 milliseconds (STO @ 1200 bps), as it passed the predecessor
of data link layer test DLL024.
Busy and Delayed-Response
In rare instances the device may respond with the code ‘Busy’ if a write command is still being processed while
receiving a new command. Delayed Response mechanisms are not supported by this device.
Long Messages
Device-Specific Commands for NVM access will permit up to 24 byte payloads in addition to the response code /
device status bytes. Some legacy HART multiplexers have been known to truncate command packets that exceed 24
bytes.
46
Instruction Manual Supplement
D104329X012
DLC3010 Digital Level Controller
May 2022
Non-Volatile Memory
There are three sections of non-volatile memory in the device. They utilize serial EEPROM technology. One is
embedded in the microprocessor and stores the configuration and calibration constants for the process algorithm.
Another is located on the transducer board and contains characterization data for the Hall Sensor and magnet. The
final section is a buffer on the main board used only for firmware loading.
Modes
The device does not support any alternative operating modes other than “Fixed Current” mode, which is used during
alarm condition, for multi-drop operation, or for maintenance on the analog output circuit. However, since selection
of the PV via command 51 restructures the process measurement algorithm, the device can be said to have 3 different
“Measurement” Modes: Liquid Level, Interface Level, or Density.
Write Protection
There are two Write Protection states for the DLC3010: Not Write Protected or Write Protected. ‘Protected’ prevents
configuration and calibration changes to the instrument. The default setting is ‘Not Protected'.
Protection is under software control. The method used for rudimentary write protection is a volatile variable written by
command 152. Write Protection states can be applied remotely, but to remove protection, the same priority master
must be used. If the primary master sets write lock, then only the primary master can clear write lock, not the
secondary. A power cycle or device reset will also remove write protection. Write lock status is checked by the
following:
Universal commands:6, 17, 18, 19
Common Practice commands:34, 35, 36, 37, 40, 44, 45, 46, 51, 53, 59, 108, 109
(and 152 with respect to a different master hierarchy)
Damping
There are two digital filters in the signal path that can be modified by the user. Time Constant can be set between 0
and 16 seconds for each. The PV Damping is applied to the entire PV signal after compensation. The Sensor Damping
(Input Filter Time Constant, see code 9 in table 8) is applied only to the Torque Tube signal. It is advisable to use only
one of these filters at a time. Selection should be based on the noise level in each signal path.
The breakpoint of the analog output filter following the D/A converter is at about 25 Hz.
47
DLC3010 Digital Level Controller
May 2022
Instruction Manual Supplement
D104329X012
Annex A: Compatibility Checklist
Manufacturer, Model, and RevisionFisher Controls DLC3010 Device Revision1
Device typeTransmitter, two-wire: Liquid level, Interface Level, or Density
HART Protocol revision5.2
Device Description Available?Yes
3: Mechanical / magnetic field for buoyancy sensor,
Number and type of process connections
Number and type of host connections1: 4-20 mA output, Bell 202 FSK
Number of Device VariablesNone exposed, 3 mapped to Dynamic, 5 potential
Number of Dynamic Variables3
Mappable Dynamic Variables?Yes. (PV is mappable. SV and TV are fixed.)
Number of Supported Common Practice
Commands
Number of Device-Specific Commands24
Bits of additional device status14
Burst-Mode?Yes
Capture Device Variables?No
Write protection?Yes
18
Internal sensor for electronics temperature,
2 or 3 wire RTD connection for process temperature.
Annex B: Default Configuration
VariableDefault Value
Weight Unitpound
Volume Unitinch
Length Unitinch
Torque Rate Unitlbf*in/degree
Temperature Unitdegree C
Displacer Weight4.75 (pounds)
Displacer Volume99. 0 (inch3)
Displacer Length14. 0 (inch)
Driver Rod Length8.0 (inch)
Torque Rate8.67 (lbf*inch/degree)
Sensor Mountingright of displacer
Zero Reference Angle0.0 (degree)
Density of Upper Fluid0.0 (SGU)
Density of Lower fluid1.0 (SGU)
PV assignmentLiquid Level
PV Unitinch
Level Offset0. 0 (inch)
Upper Range Value14.0 (inch)
Lower Range Value0. 0 (inch)
3
48
Instruction Manual Supplement
D104329X012
DLC3010 Digital Level Controller
VariableDefault Value
PV Damping0.2 (second)
Input Filter Time Constant0.0 (second)
PV Hi Hi Alert Threshold14. 0 (inch)
PV Hi Alert Threshold13. 3 (inch)
PV Lo Alert Threshold0. 7 (inch)
PV Lo Lo Alert Threshold0. 0 (inch)
PV Alert Deadband0. 0 (inch)
Electronics Temperature Alert Hi Threshold80.0 (degree C)
Electronics Temperature Alert Lo Threshold-40.0 (degree C)
Process Temperature Alert Hi Threshold232.2 (degree C)
Process Temperature Alert Lo Threshold-200.0 (degree C)
Temperature Alert Deadband1.0 (degree C)
PV AlertsAll disabled
Temperature AlertsAll disabled
Write ProtectionNot Protected
LCD Meter InstalledYes
LCD Meter Decimal Point1 digit after decimal point
LCD Meter Display ModeAlternate: PV, Percent Range
RTD TypeNo RTD Installed
RTD Wire Resistance0.0 (Ohms)
Final Assembly Number0
Instrument Serial Number(nameplate value)
Displacer Serial Number(Nameplate value if mounted to sensor, blank otherwise)
Tag(blank, or as specified on requisition)
Descriptor(blank, or as specified on requisition)
Date(Production Date)
Message(blank, or as specified on requisition)
Number of Response Preambles5
Number of Request Preambles5
Polling Address0
Burst ModeOff
Burst Command Number3
May 2022
49
DLC3010 Digital Level Controller
May 2022
Instruction Manual Supplement
D104329X012
Annex C DLC3010 Parameters as part of a Rosemount
1410 / 1420 WirelessHART Gateway
A FIELDVUE DLC3010 can join a wireless network through the addition of a Rosemount 775 THUM WirelessHART
adapter. The wireless adapter acts both as a HART modem for communications coming to the DLC3010 from
application software and as an independent master issuing commands periodically to the wired device pertaining to
it’s status. This independently gathered status information is relayed back to the Rosemount 1410 or 1420 Wireless
Gateway and is made available to the user either through viewing the HTML interface or via mapping as “Published
Data” parameters via the Gateway’s MODBUS or OPC outputs.
The PV, SV, and TV variables and Additional Status bytes can be published by using the following steps.
Configure the THUM as follows:
Navigate to Configure > Manual Setup
Under the Wired Device tab select Configure HART Polling
Wired Device tab
Select Yes if changes are required
FOR PRIMARY DEVICE INFORMATION:
Select PV, SV, TV, and QV
FOR SECONDARY DEVICE INFORMATION:
Select Device Status
50
Instruction Manual Supplement
D104329X012
DLC3010 Digital Level Controller
The FIELDVUE instrument is defined on the Gateway by “Tag” (read from the device’s “Message” field).
For each Tag, the Gateway provides updated values for:
D Process Variables
D Additional Status
D Published Data
May 2022
Published Data, used for the Gateway’s OPC and Modbus outputs, falls into the following categories:
Field Device Identification Values:
Values that define the identity of the DLC3010. These include:
D MANUFACTURER (for “Fisher Controls” the value is “19”)
D DEVICE_TYPE (for a DLC3010 the value is “4”)
D DEVICE_REVISION
D HARDWARE_REVISION
D SOFTWARE_REVISION
D DEVICE_ID
D UNIVERSAL_REVISION (HART version)
D REQUEST_PREAMBLES
D RESPONSE PREAMBLES
51
DLC3010 Digital Level Controller
May 2022
Instruction Manual Supplement
D104329X012
Variable information:
The Gateway receives updates concerning the DLC3010’s configured Dynamic Variables. The information for any
given variable is displayed by Dynamic Variable indicator (“PV”, “SV”, “TV”, etc.).
Designation
PV
SV4Electronics Temperature
TV3Process Temperature
CURRENT245Loop Current
QV249(Not Used)
Any of these choices of Dynamic Variable number or designation above can be substituted for the “#” sign in the
Variable Identifier fields below.
Variable IdentifierComments / Explanation
#See any of the variable identifiers in the table immediately above
#_CLASSAlways “0” (No Class assigned)
#_CODEThe “Device Variable ID” number in the table immediately above
#_HEALTHYA “true” or “false” indication of the health of the sensor providing this value
#_STATUS
#_UNITSDecimal “Variable Units Code” number from the “Units Codes” sections of table 6
Variable IDAssignment
0Liquid Level
1Interface Level
2Density
Always “192”. (Device Variable Status is not defined at HART 5)
Device Status:
The eight standard status conditions (present in ANY HART field device) are all represented by a Boolean “true” or
“false” state. These eight conditions, discussed in table 2a, are:
D DEVICE_MALFUNCTION
D CONFIGURATION_CHANGED
D COLD_START
D MORE_STATUS_AVAILABLE
D LOOP_CURRENT_FIXED
D LOOP_CURRENT_SATURATED
D NONPRIMARY_VALUE_OUT_OF_LIMITS
D PRIMARY_VALUE_OUT_OF_LIMITS
52
Instruction Manual Supplement
D104329X012
DLC3010 Digital Level Controller
May 2022
Detailed Device Alerts:
The Alert Groupings are:
D ADDITIONAL_STATUS_0
D ADDITIONAL_STATUS_1
D ADDITIONAL_STATUS_2
Each of these status bytes represent eight individual bits with values that range from “00” to “255”. To determine
which of the eight bits are active requires converting a decimal value to its binary equivalent value. Refer to Command
48 and table 2b for details on the individual alert bits inside of each Additional Status Byte.
53
DLC3010 Digital Level Controller
May 2022
Instruction Manual Supplement
D104329X012
Neither Emerson, Emerson Automation Solutions, nor any of their affiliated entities assumes responsibility for the selection, use or maintenance
of any product. Responsibility for proper selection, use, and maintenance of any product remains solely with the purchaser and end user.
Fisher, FIELDVUE, and Rosemount are marks owned by one of the companies in the Emerson Automation Solutions business unit of Emerson Electric Co.
Emerson Automation Solutions, Emerson, and the Emerson logo are trademarks and service marks of Emerson Electric Co. HART and WirelessHART are
registered trademarks of FieldComm Group. All other marks are the property of their respective owners.
The contents of this publication are presented for informational purposes only, and while every effort has been made to ensure their accuracy, they are not
to be construed as warranties or guarantees, express or implied, regarding the products or services described herein or their use or applicability. All sales are
governed by our terms and conditions, which are available upon request. We reserve the right to modify or improve the designs or specifications of such
products at any time without notice.
Emerson Automation Solutions
Marshalltown, Iowa 50158 USA
Sorocaba, 18087 Brazil
Cernay, 68700 France
Dubai, United Arab Emirates
Singapore 128461 Singapore
www.Fisher.com
54
E 2017, 2022 Fisher Controls International LLC. All rights reserved.
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.