User Manual: Temperature Transducer EDT 101
User Manual: Temperature Transducer EDT 101
User manual
Rev. 6
December 2019
1
This document provides functional description, installation, configuration and operating
instructions for ELGAS EDT 101 temperature transducer with Modbus protocol. The
information in this document covers software revision 3.11.
Information in this document is subject to change without notice and does not represent a
commitment on the part of ELGAS, s.r.o. Improvements and/or changes in this manual or the
product may be made at any time. These changes will be made periodically to correct technical
inaccuracies or typographical errors.
2
Contents
1 Introduction ........................................................................................................................ 6
2 Device overview.................................................................................................................. 7
2.1 Available versions ................................................... Chyba! Záložka není definována.
2.2 Technical Description ................................................................................................. 7
2.3 Device specification .................................................................................................... 8
3 Installation ........................................................................................................................ 11
3.1 Mechanical Installation ............................................................................................ 11
3.2 Electrical installation ................................................................................................ 11
3.3 Cabling, grounding .................................................................................................... 12
3.4 Power Supply Requirements .................................................................................... 13
4 Modbus Communication Protocol ................................................................................... 15
4.1 Modbus Protocol Overview ...................................................................................... 15
4.1.1 Physical Communication Layer ............................................................................. 15
4.1.2 Transactions on Modbus networks ...................................................................... 15
4.2 Device Specific Features ........................................................................................... 16
4.2.1 Service Address..................................................................................................... 16
4.2.2 Communication Buffer Length ............................................................................. 16
4.2.3 Response Time...................................................................................................... 16
4.3 Holding Registers Map.............................................................................................. 17
4.3.1 Holding Registers Map Overview ......................................................................... 17
4.3.2 Factory configuration section ............................................................................... 19
4.3.3 Service Configuration Section .............................................................................. 20
4.3.4 User configuration section ................................................................................... 20
4.3.5 Miscellaneous ....................................................................................................... 20
4.3.6 Measured variables .............................................................................................. 20
4.3.7 Datalogger section ................................................................................................ 22
4.3.8 Data types ............................................................................................................. 23
4.4 Discrete outputs map ............................................................................................... 24
4.4.1 Overview of the discrete outputs map ................................................................. 24
4.4.2 Reset ..................................................................................................................... 24
4.4.3 Write EEPROM ...................................................................................................... 24
3
4.4.4 Read EEPROM ...................................................................................................... 24
4.4.5 Stop measurement............................................................................................... 25
4.4.6 Start single measurement. ................................................................................... 25
4.4.7 Start continuous measurement. .......................................................................... 25
4.4.8 Unlock user configuration section ....................................................................... 26
4.4.9 Unlock service configuration section ................................................................... 26
4.4.10 Change password ............................................................................................. 26
4.5 Modbus function codes ........................................................................................... 28
4.5.1 Read multiple registers (03h)............................................................................... 28
4.5.2 Force single coil (05h) .......................................................................................... 29
4.5.3 Write multiple registers (10h).............................................................................. 30
4.5.4 Start measurement with mask (45h) ................................................................... 31
4.5.5 Synchronize datalogging (46h) ............................................................................. 32
4.5.6 Erase data (47h) ................................................................................................... 33
4.5.7 Set slave address (48h) ........................................................................................ 34
4.6 Exception responses ................................................................................................ 36
5 Related Publications......................................................................................................... 38
4
Abbreviations and terms
5
1 Introduction
Temperature transducer EDT 101 (hereinafter “transducer”) is a miniature precision device
intended for temperature measurement in applications which require a high precision and
ultra-low power consumption. The transducer has RS 485 digital interface, which makes it
ideal for use in modern digital systems.
The transducer is dedicated to connect with data loggers, gas-volume correction devices and
telemetric systems.
Regarding safety, the transducer is designed to comply with the EN 60079-11 as an intrinsically
safe device and is approved for potentially explosive atmospheres. The transducer is
manufactured and delivered in compliance with the following guidelines of the European
Parliament:
2014/34/EU relating to equipment and protective systems intended for use in potentially
explosive atmospheres
2014/30/EU relating to electromagnetic compatibility
Basic features
Ranges -25 .. +70°C or -40 .. +70°C
RS 485 digital interface, Modbus communication protocol
Ultra-low power consumption: 3 μA standby, 1 mA active, supply voltage from 2.8V
High accuracy: 0.2°C
Small size, rugged housing
Certified as explosion-proof with type of protection II1G Ex ia IIC T4 Ga
6
2 Device overview
2.1 Technical Description
Chyba! Nenalezen zdroj odkazů. shows functional diagram of the transducer. Temperature is
measured by platinum resistive sensor. The signal from the sensor is converted by a high-
resolution analog-to-digital converter into digital form and processed by the microcontroller.
Microcontroller digitally compensates the non-linearity of the sensor using calibration data.
The calibration data is stored in non-volatile EEPROM memory during transducer
manufacturing.
Temperature readout as well as all control functions are accessible via RS 485 interface. The
transducer is capable to measure the temperature on request or continuously in preset time
intervals and store values in its internal memory for later retrieval.
Regulated Voltage
Uref Power Supply Regulator Power
Supply
Rn
EEPROM
Memory
Physically, the transducer consists of the temperature sensor mounted in stainless-steel stem
50 mm long and the cable. A cylindrical plastic case with electronics is integrated into the
cable.
200 64
50
17
5.7
7
2.2 Device specification
Measurement ranges
Standard range: -25°C to +70°C
Extended range: -40°C to +70°C
Temperature sensor
Platinum resistive element Pt 1000 mounted in ANSI 316L stainless-steel stem, stem diameter:
5.7 mm, stem length: 50 mm standard
Measured media
Liquids and gases, chemically compatible with stainless-steel ANSI 316L
Accuracy
0.2°C within the full measurement range
Includes non-linearity, repeatability and long-term stability.
Electrical connection
Integral shielded cable 4 x 0.25 mm2 length 2.6 m with external diameter between 5 to 7 mm.
Other lengths of cable on request. Cable shielding is not connected to the stainless-steel stem.
Power supply
The transducer requires external DC power supply. Transducer terminal voltage must be
between 2.8 to 5.0 V
Power consumption
Standby: 3 μA typical / 10 μA maximum
Measurement and communication: 0.8 mA typical / 4 mA maximum
Power consumption is not dependent on the supply voltage. Power consumption during the
communication depends on the bus impedance.
Start-up time
The transducer is ready to operate 20 ms after power supply is applied.
Communication interface
RS 485, 2-wire, half-duplex, minimum bus impedance 1.5 kΩ. Unterminated bus is
recommended for low-power consumption. Maximum wiring length is 100 m.
Communication protocol
8
Modbus RTU, speed 38400 bit/s, 1 start bit, 8 data bits, no parity, 1 stop bit. Standard functions
supported: Read holding registers (code 03h), Force single coil (code 05h) and Write holding
registers (code 10h). Non-standard functions with codes 45h, 46h, 47h, 48h are implemented.
Datalogging
The transducer is able to measure temprature automatically in regular intervals and store the
measured values in the memory to be retrieved from later on.
Measurement period: adjustable 125 ms to 512 s
Data memory capacity: 80 values
Time base accuracy: 100 ppm
Electric insulation
Resistance between the stem/cable shielding and signal or power supply wires is greater than
10 MΩ at 500 V AC.
Physical specifications
Dimensions: see chapter 2.1
Weight: 100 – 150 g (depending on mechanical version)
Environmental specifications
Operating temperature: -40°C to +70°C as sandard
Storage temperature: -40°C to +85°C
Humidity: 0% to 95% relative, without condensation
Protection: IP 65
Electromagnetic compatibility
Complies with immunity requirements for industrial environments EN 61000-6-2 [2]
Explosion-proof design
9
Equipment with the “i” protection type (intrinsically safe equipment) in compliance with
EN 60079-0 [4] and EN 60079-11 [5]. The certificate registered under No. FTZÚ 18 ATEX 0142X
at the Physical-Technical Testing Institute Ostrava-Radvanice, notified body No. 1026.
Environment classification: Zone 1, 2 according to the EN 60079-14 [6]
Protection class: II1G Ex ia IIC T4 Ga
Safety descriptions:
Ui = 9.9 V
Ci = 2.65 μF
Li = 0 μH
Pi = 1.10 W for Ta<70°C
10
3 Installation
3.1 Mechanical Installation
Temperature transducer is intended for mounting into a thermowell on piping. Operating
position of the transducer is arbitrary. The depth of the thermowell must be 50 mm minimum.
The transducer stem must be inserted to the very bottom of the thermowell and secured by
the fastening nut against pulling-out. It is recommended to fill the space around the stem
inside the thermowell with silicone oil.
To operate the transducer, apply DC voltage 2.8 to 5.0 V across PWR and GND terminals and
connect the DATA+, DATA- signals with the corresponding terminals on the host RS 485 port.
The transducer does not provide electrical insulation between the RS 485 bus and the
transducer power supply.
Fig. 3 shows connection of the transducers into the data network. In the RS 485 network, up
to 32 units can be connected at the same time while every unit must have a unique slave
address set.
11
RS 485 DATA+
Host
DATA-
Power +
Suppl -
DATA+
DATA+
DATA+
DATA-
DATA-
DATA-
PWR
PWR
PWR
GND
GND
GND
....
Transducer Transducer Transducer
Transducer Host
12
3.4 Power Supply Requirements
The transducer is optimized for very low-power applications. It operates from unregulated
single supply voltage in range 2.8 V to 5.0 V. The supply current is independent from the supply
voltage.
The transducer uses an advanced algorithm to maintain the power consumption at a minimum
level. Only the modules of the transducer which are necessary for the requested function are
powered on. Due to the power consumption management, the supply current varies
significantly depending on the function being performed. Figure 5 shows an example of the
supply current profile. The first part shows a supply current waveform, when a simple query
is received, processed and responded back on the RS 485 bus by the transducer. The second
part shows a supply current waveform during measurement.
Mesurement
Standby
Transmitting response
Receiving query
Standby
13
The following table summarizes transducer’s typical average supply current for various
measurement periods. The values include power consumption during the measurement and
during necessary communication with the host to initiate the measurement and read
measured values.
14
4 Modbus Communication Protocol
The following text describes implementation of the Modbus communication protocol in the
transducer. In order to assure a complete understanding of the operation of the device, the
user should familiarize himself with the Modbus protocol in detail in the reference
literature [1].
Numeric values are given in decimal representation by default. If hexadecimal representation
is used, suffix “h” or “hex” is added.
15
Address field
In a query frame, the address field contains a slave address. In a response frame, the address
field contains the address of the responding slave device.
Valid slave addresses are in the range of 1 – 247 decimal. Address 0 is reserved for broadcast
messages. Any query message with a slave address of 0 is a broadcast message which all slave
devices process but they do not generate any response.
Function field
In a query frame or a broadcast frame, the function field contains a function code, which
indicates the command to be performed. In a response frame, the function field contains a
copy of the function code received in the query. If the most significant bit in the function field
is set, an error occurred during the query processing. In this case the data field contains an
exception code that explains the particular error.
Data field
The data field contains information that is specific to each individual function.
CRC field
The CRC field contains a 16 bit CRC error check value that is used to verify the integrity of the
message frame.
16
4.3 Holding Registers Map
The transducer’s memory is mapped into Modbus holding registers address space
(4xxxx reference). This address space can be read by the Read multiple registers (03h)
command and written by the Write multiple registers (10h) command. The commands are
described in chapter Chyba! Nenalezen zdroj odkazů.. All registers are 16-bit long.
Register numbers shown in the text are in the 4xxxx format which follows the Modicon
protocol specification for data item addressing. The actual register address sent in the Modbus
message frame is the register number shown in the text minus 40001. In other words, the
leading "4" is omitted, and the remaining 4-digit number is decremented by 1.
17
Holding register map overview - 2nd part
Section Register Register name Data Access Stored in
name number type control EEPROM
40055 – 40056 Offset trim float SP Y
Service
config.
Memory locations marked in column “Stored in EEPROM” as “Y” can be stored into the
transducer’s non-volatile EEPROM memory using Write EEPROM function (see paragraph
4.4.3). The stored configuration is recalled after power-up or using Read EEPROM function
(see paragraph Chyba! Nenalezen zdroj odkazů.).
Memory locations marked in column “Access control” as “N” can be read and written with no
restrictions. Memory locations marked as “FP” (Factory password), “SP” (Service password)
and “UP" (User password) can be read without restriction, but can be written only when the
particular section is unlocked using a password. The unlocking procedure is described in
paragraphs Chyba! Nenalezen zdroj odkazů. and Chyba! Nenalezen zdroj odkazů..
18
4.3.2 Factory configuration section
This section contains a basic information about the transducer and calibration data. The
parameters are entered during manufacturing and calibration procedures and cannot be
changed by the user.
Hardware revision number identifies a version of the transducer’s hardware.
Software revision number identifies a version of the transducer’s software. MSB indicates a
main revision number, LSB sub-revision number.
Serial number identifies each transducer individually.
Sensor type. Information about the type of the sensor. Code 10h is used for the temperature
sensor.
Units. Information about physical units used for Measurement and Operation range limits
representation. Code 20h is used for °C.
Measurement range lower and upper limit provide the range of input temperature in which
the transducer is calibrated and in which measures with the specified accuracy.
Operation range lower and upper limit provide the range of input temperature which is
correctly handled by the analog-to-digital converter and numerical calculation. If the
temperature value is outside the measurement range but inside the operation range, the
measurements are still performed but the accuracy is undefined.
Standard values of the limits of the measurement and operation range are shown in the
following table:
Transducer range Measurement range [°C] Operation range [°C]
(information on label) Lower limit Upper limit Lower limit Upper limit
-25°C to +70°C -25 70 -50 100
-40°C to +70°C -40 70 -50 100
Primary channel offset and gain provide an offset and gain of the analog-to-digital converter
when primary channel (temperature) is measured. The offset is stored in the MSB of the
register, the gain in the LSB.
Auxiliary channel offset and gain provide an offset and gain of the analog-to-digital converter
when auxiliary channel is measured. The offset is stored in the MSB of the register, the gain in
the LSB.
Calibration coefficients are used to calculate actual temperature using values obtained from
the analog-to-digital converter for the primary and auxiliary channel.
Coefficient format specifies a layout of the coefficients and algorithm for calculation.
19
4.3.3 Service Configuration Section
Parameters in the Service configuration section allows to adjust the offset and span of the
transducer. The default parameters are entered during calibration procedure and can be
changed only by an authorized person using Service password.
Offset trim is an additive constant which defines the shift of the transducer characteristics
relative to the factory calibration data. When the transducer is factory calibrated, the Offset
trim is set to 0.0000. During the field calibration the value can be changed to compensate for
possible characteristics deviation.
Span trim is a multiplicative constant which defines the change of the slope of the transducer
characteristics relative to the factory calibration data. When the transducer is factory
calibrated, the Span trim is set to 1.0000. During the field calibration the value can be changed
to compensate for possible characteristics deviation.
4.3.5 Miscellaneous
This section contains registers used for password manipulation. The password protects write
access to the configuration sections.
Password. After writing correct value to the password registers, desired section can be
unlocked for writing by Unlock section function (see paragraphs Chyba! Nenalezen zdroj
odkazů. a Chyba! Nenalezen zdroj odkazů. ).
20
Primary channel direct readout store value measured directly by the analog-to-digital
converter for the primary channel. The value is presented for factory purposes and it is not
significant for user.
Auxiliary channel direct readout store value measured directly by the analog-to-digital
converter for the auxiliary channel (not used for temperature measurement). The value is
presented for factory purposes and it is not significant for user.
Temperature stores actual measured temperature. The value stored as unsigned integer with
range from 0 to 65535. 0 corresponds to the Operating range lower limit and 65535
corresponds to the Operating range upper limit. Temperature in the physical units can be
calculated using formula
t = Temperature / 65535 * (Operation range upper limit - Operation range lower limit) +
+ Operation range lower limit
where Temperature is the value read form the register 40082, Operation range lower limit is
the value read from registers 40008 – 40009 and Operation range upper limit is the value read
from registers 40010 – 40011.
21
Status register stores information about transducer’s status. Description of the particular bits
is given in the following table:
Bit Name Description
15 EEPROM error The bit is set if the internally generated EEPROM
checksum does not match the stored value. Possible
malfunction of the transducer may be expected in this
case (see sections 4.4.3 and 4.4.4)
14 Sensor error The bit is set if sensor or AD converter failure is detected.
Temperature readout cannot be considered as reliable in
this case (see section 4.4.6)
13 Out of range The bit is set if the measured temperature is outside the
measurement range. The measurement accuracy is lower
compared to the specified.
12 Timing error The bit is set when timing error during datalogging is
detected. Measurement period is shorter the time
required to complete one measurement (see section
4.5.5)
11 Data memory overflow The bit is set when the data memory overflows. This can
happen when the datalogging is in progress and master
fails to read and erase the stored data quickly enough
(see sections 4.5.5 and 4.5.6)
4 - 10 Not used
3 Continuous mode The bit is set when the transducer is in continuous
measurement mode (see section 4.4.7)
2 Start command received The bit is set after receiving the Start measurement
command. Master can test this bit to determine whether
Start command transmitted as broadcast was accepted
by the transducer. The bit is reset after the first Read
multiple registers command (see section 4.4.6)
1 Datalogging in progress The bit is set as long as the datalogging is in progress (see
section 4.5.5)
0 Measurement in progress The bit is set as long as the temperature measurement is
in progress. The master can poll this bit to determine end
of the measurement (see section 4.4.6)
22
Delay stores copy of the Delay parameter passed by the Synchronize Datalogging command.
Period stores copy of the Period parameter passed by the Synchronize Datalogging command.
Number of samples gives the actual number of samples stored in the Data memory.
Data registers store temperature samples measured during datalogging. The registers are
being filled starting with register 40088 and continuing towards higher register numbers.
The oldest sample can be found in the register 40088, the most recent one in the register
Most recent sample register no. = 40088 + Number of samples - 1.
Each sample is represented as unsigned integer which can be converted to temperature in
physical units using formula given in paragraph 4.3.6.
23
4.4 Discrete outputs map
Discrete outputs (coils) can be set by the Force single coil (05h) command. Discrete outputs
address space is accessible only for writing. Reading is not supported.
Physically, the transducer does not have any discrete outputs. Discrete outputs address space
is implemented to allow access to several functions. Forcing a particular discrete output into
ON state starts the assigned function (starts a single measurement, for example).
4.4.2 Reset
Forcing the Master reset coil ON performs a software reset of the transducer. This is similar
to shutting off the power and then reapplying power. The Master reset takes approximately
20 milliseconds to complete. The force master reset coil ON query is not responded.
24
4.4.5 Stop measurement.
Forcing the Stop measurement coil ON stops the single measurement, continuous
measurement or datalogging if this is in progress, otherwise the function has no effect.
time
25
4.4.8 Unlock user configuration section
Forcing the Unlock user configuration section coil ON when the correct value is written in the
Password registers unlocks the user configuration section of registers 40062 – 40066 for write
operation.
To unlock and write into the User configuration section, the following procedure has to be
executed:
1. Write correct password into registers 40067 – 40068 using the Write multiple registers
command
2. Force coil 0017 (Unlock user configuration section) ON. If the password is correct, the
normal response is returned and the desired section is unlocked. If the password is
incorrect, the exception response 03 – Illegal data is returned and the section remains
locked.
3. Write memory locations in the User configuration section by the Write multiple registers
command.
The section is then unlocked only for one Write multiple registers command. After the Write
command is complete, the section is locked automatically. If another write to the protected
section is required, the steps 1 to 3 must be repeated.
26
To change user password, the following procedure has to be executed:
1. Write the old password into registers 40067 – 40068 using the Write multiple registers
command.
2. Force coil 0017 (Unlock user configuration section) ON. If the password is correct, the
normal response is returned and the change password function is enabled. If the password
is incorrect, the exception response 03 – Illegal data is returned and change password
function is disabled.
4. Write the new password into registers 40067 – 40068 by the Write multiple registers
command.
5. Force coil 0025 (Change user password) ON. If the change password function has been
enabled in step 2, the password is changed and immediately stored into EEPROM together
with a copy of the holding registers 40003 – 40066.
If the change password function has been disabled in step 2, the exception response
03 - Illegal data is returned and change password is not performed. The old password
remains valid.
Setting the user or service password to 0 unlocks the particular section permanently. In this
case no unlocking procedure is required before writing into the section. Normal operation is
restored as soon as the password is changed to any non-zero value.
User and service passwords are both set to 0 when the transducer is shipped from factory.
27
4.5 Modbus function codes
Three standard function codes are implemented to access the transducer’s memory and
simple functions:
Function code (hex) Function
03 Read multiple registers
05 Force single coil
10 Write multiple registers
Four non-standard function codes are implemented to allow easy and efficient access to
special functions of the transducer:
Function code (hex) Function
45 Start measurement with mask
46 Synchronize datalogging
47 Erase data
48 Set slave address
The implemented functions are described in the following paragraphs including example
queries and responses. Normal responses are shown. If an error is found during the query
processing, an exception response is generated by the transducer as described in section
Chyba! Nenalezen zdroj odkazů..
28
The response contains data read from the specified registers. The register data in the response
message are packed as two bytes per register. For each register, the first byte contains the
most significant byte and the second contains the least significant byte. An example of the
response to the query:
Byte no. Field name Example (hex)
1 Slave Address 11
2 Function Code 03
3 Number of Data Bytes 06
4 Contents of register 30h – MSB 00
5 Contents of register 30h – LSB 01
6 Contents of register 31h – MSB C8
7 Contents of register 31h – LSB 00
8 Contents of register 32h – MSB F3
9 Contents of register 32h – LSB 15
10 CRC (Lo) xx
11 CRC (Hi) xx
29
The normal response is an echo of the query. Here is an example of the response to the query
shown above:
Byte no. Field name Example (hex)
1 Slave address 11
2 Function code 05
3 Coil address (Hi) 00
4 Coil address (Lo) 01
5 Force data (Hi) FF
6 Force data (Lo) 00
7 CRC (Lo) xx
8 CRC (Hi) xx
30
The normal response returns the slave address, function code, starting address, and number
of registers written. Here is an example of the response to the query shown above:
Byte no. Field name Example (hex)
1 Slave address 11
2 Function code 10
3 Starting register (Hi) 00
4 Starting register (Lo) 42
5 Number of registers (Hi) 00
6 Number of registers (Lo) 02
7 CRC (Lo) xx
8 CRC (Hi) xx
31
4.5.5 Synchronize datalogging (46h)
The transducer is able to automatically measure temperature in preset time intervals and
store the values into the registers 40088 - 40167 (datalogging). Synchronize Datalogging
command can be used to start or re-synchronize the datalogging.
The query specifies Period parameter which describe measurement timing. If no datalogging
is in progress, the Synchronize Datalogging command starts it. The first temperature
measurement is initiated immediately after receiving the query. The next measurements are
then initiated in regular intervals defined by the Period value.
If datalogging is already in progress, the Synchronize Datalogging command re-synchronize
the internal time base. The oncoming measurement is expedited in order to start immediately
after receiving the query. The next measurements are again initiated in regular intervals
defined by Period value. Figure 7 illustrates using of the Synchronize Datalogging command.
Synchronize Synchronize
datalogging datalogging
time
Figure 7. Using of Synchronize datalogging command.
Bit 1 (Datalogging in progress) in the Status register is set during datalogging. When the data
memory is full, measurement continues, but no values are stored, bit 11 (Data memory
overflow) in the Status register is set. Datalogging resumes after the memory is erased by the
Erase data command (see paragraph Chyba! Nenalezen zdroj odkazů.) If the Period parameter
is set too short with respect to the time of measurement, the measurements are initiated as
fast as possible and bit 12 (Timing error) in the Status register is set to indicate error.
Value of the Period parameters can be calculated using formula:
Period = 128.t-1,
where t is time of the period in seconds.
The period value can be also set anywhere from 1/128 s to 512 s (0000h to FFFFh) with
resolution of 1/128 s, but the period should be longer than time of the measurement 125 ms.
Datalogging can be stopped at any moment by Stop measurement function, see chapter 4.4.5.
32
Here is an example of the request to start / synchronize datalogging for the transducer with
slave address 11h. The measurement period is 1 s.
Byte no. Field name Example (hex)
1 Slave address 11
2 Function code 46
3 not used 00
4 not used 00
5 Period (Hi) 00
6 Period (Lo) 80
7 CRC (Lo) xx
8 CRC (Hi) xx
33
Response to the query:
Byte no. Field name Example (hex)
1 Slave address 11
2 Function code 47
3 Number of remaining samples 03
4 CRC (Lo) xx
5 CRC (Hi) xx
Generated response. The new slave address is transmitted in the address field of the response:
Byte no. Field name Example (hex)
1 Slave address 07
2 Function code 48
4 CRC (LSB) xx
5 CRC (MSB) xx
34
35
4.6 Exception responses
When a master device sends a query to a slave device it expects a normal response. One of
four possible events can occur from the master’s query:
If the slave device receives the query without a communication error and can handle the
query normally, it returns a normal response.
If the slave does not receive the query due to a communication error, no response is
returned. The master program will eventually process a timeout condition for the query.
If the slave receives the query, but detects a checksum error (CRC), no response is
returned. The master program will eventually process a timeout condition for the query.
If the slave receives the query without a communication error, but cannot handle it (for
example, if the non-supported function is requested), the slave will return an exception
response informing the master about the nature of the error.
The exception response message has two fields that differentiate it from a normal response:
Function code field
In a normal response, the slave echoes the function code of the original query in the function
code field of the response. All function codes have a most–significant bit (MSB) of 0 (their
values are all below 80 hexadecimal). In an exception response, the slave sets the MSB of the
function code to 1. This makes the function code value in an exception response exactly 80 hex
higher than the value would be for a normal response.
With the function code’s MSB set, the master’s application program can recognize the
exception response and can examine the data field for the exception code.
Data field
In a normal response, the slave may return data or statistics in the data field (any information
that was requested in the query). In an exception response, the slave returns an exception
code in the data field. This defines the slave condition that caused the exception.
An example of the master query and slave exception response is shown below. In this example,
the master addresses a query to slave device 11h. The function code 01h is for a Read coil
status operation.
Byte no. Field name Example (Hex)
1 Slave address 11
2 Function code 01
3 Starting address (Hi) 00
4 Starting address (Lo) 20
5 Number of coils (Hi) 00
6 Number of coils (Lo) 01
7 CRC (Lo) xx
8 CRC (Hi) xx
36
Function 01h (Read coil status) is not supported by the transducer. The transducer will return
the exception response with the exception code Illegal function (01).
Byte no. Field name Example (Hex)
1 Slave address 11
2 Function code 81
3 Exception code 01
4 CRC (Lo) xx
5 CRC (Hi) xx
37
5 Related Publications
[1] Modicon Modbus Protocol Reference Guide, Modicon Inc., Industrial Automation
Systems, 1996
[2] ČSN EN 61000-6-2 ed.3: 2006, Electromagnetic compatibility (EMC) – Part 6-2: Generic
standards – Immunity for industrial environments
[3] ČSN EN 60068-2-6 ed.2: 2008, Environmental testing - Part 2-6: Tests - Test Fc: Vibration
(sinusoidal)
[4] ČSN EN 60079-0 ed.4: 2013 + A1:2014+Rev.2:2014, Explosive atmospheres - Part 0:
Equipment - General requirements
[5] ČSN EN 60079-11 ed.2: 2012, Explosive atmospheres - Part 11: Equipment protection by
intrinsic safety "i"
[6] ČSN EN 60079-14 ed.4:2014 + Cor.1:2016, Explosive atmospheres - Part 14: Electrical
installations design, selection and erection.
38
Temperature Transducer EDT 101
Author: Jan Věříš
published: ELGAS, s.r.o. tel.: +420 466 414 500, 511
Ohrazenice 211 fax: +420 466 411 190
533 53 Pardubice [Link]
Czech Republic e-mail: sales@[Link]
Date: December 2019
Edition: 6
H101AN_201912_EDT101
H101AN_201912_EDT101