This operating manual is addressed to the system manufacturer with adequate
technical background and PC related knowledge.
Please read this operating manual prior to commissioning the device. Keep
the manual in a place accessible to all users at all times. Your comments are
appreciated and may assist us in improving this manual.
All necessary settings are described in this operating manual. Should
problems be encountered during commissioning, please refrain from carrying
out any manipulations that are not described in the manual. Any such
intervention will jeopardize your warranty rights. Please contact the nearest
subsidiary or the head office.
1.2Typographical conventions
Warning signs:
1 Introduction
Caution
Note
Reference
This symbol is used when there may be damage to equipment or
data if the instructions are ignored or not followed correctly!
Note signs:
This symbol is used when your special attention is drawn to a
remark.
This symbol refers to further information in other manuals,
chapters or sections.
Number types:
Hexadecimal
number
0x0010A hexadecimal number is identified by „0x“ preceding the actual
number (here: 16 decimal).
5
1 Introduction
6
2.1Master-Slave principle
Master
Slave 1Slave 2Slave n
Communication between a master (e.g. PC) and a slave (e.g. measuring and
control system) using Modbus takes place according to the master-slave
principle, in the form of data request/instruction - response.
The master controls the data exchange, the slaves only have a response
function. They are identified by their device address.
2.2Transmission mode (RTU)
The transmission mode used is the RTU mode (Remote Terminal Unit). Data is
transmitted in binary format (hexadecimal) with 8 bits. The LSB (least
significant bit) is transmitted first. The ASCII operating mode is not supported.
2 Protocol description
Data formatThe data format describes the structure of a character transmitted. The
following data format options are available:
Data wordParity bitStop bit
1/2 bit
8 bits—19
8 bitseven110
8 bitsodd110
8 bits—210
Number of
bits
7
2 Protocol description
2.3Device address
The device address of the slave can be set between 0 and 254. Device
address 0 is reserved.
A maximum of 31 slaves can be addressed via the RS485 interface.
There are two different forms of data exchange:
QueryData request/instruction by the master to a slave via the corresponding device
address.
The slave addressed responds.
BroadcastInstruction by the master to all slaves via the device address 0 (e.g. to transmit
a specific value to all slaves).
The connected slaves do not respond. In such a case, the correct acceptance
of the value by the slaves should be checked by a subsequent readout at each
individual slave.
Data request with the device address 0 is meaningless.
2.4Timing of the communication
Start and end of a data block are marked by transmission pauses. The
maximum permitted interval between two consecutive characters is three
times the transmission time required for a single character.
The character transmission time (time required to transmit one single
character) depends on the baud rate and the data format used (stop bits and
parity bit).
For a data format of 8 data bits, no parity bit and one stop bit, this is:
character transmission time [ms] = 1000 * 9 bit/baud rate
For the other data formats, this is:
character transmission time [ms]
= 1000 * (8 bits+parity bit+stop bit(s)) bit/baud rate
8
2 Protocol description
Timing
transmission time = n characters * 1000 * x bit/baud rate
Processing of data request by the slave ( 250ms)
transmission time = n characters * 1000 * x bit/baud rate
Data request from master
Marker for end of data request
3 characters * 1000 * x bit/baud rate
Response of the slave
Marker for end of response
3 characters * 1000 * x bit/baud rate
ExampleMarker for end of data request or end of response for a 10/9 bit data format
Baud rate [baud]Data format [bit]Waiting time [ms]
(3 characters)
38400100.79
90.71
19200101.57
91.41
9600103.13
92.82
9
2 Protocol description
Master
Slave
Data request
Response
t
Data request
t
0
t
1
t
2
t
0
Timing
scheme
A data request runs according to the following timing scheme:
t
End marker = 3 characters
0
(time depending on the baud rate)
This time depends on the internal processing.
t
1
The maximum processing time is 250 ms.
A minimum response time can be set in the device under the menu
point item „Interface“. This preset time is the minimum waiting time
before an answer is transmitted (0…500 ms). If a smaller value is set,
then the response time may be longer than the preset value (internal
processing takes longer), the device answers as soon as internal
processing is completed. The preset time of 0 ms means that the
device responds at the maximum possible speed.
The minimum response time, which can be set is required by the RS485
interface in the master, to be able to switch over the interface drivers from
transmit to receive.
t
This time is needed by the slave to change from transmit back to receive.
2
The master has to observe this waiting time before presenting a new data
request. This time must always be observed, even when the new data
request is directed to another device.
RS485 interface: t
No data requests from the master are permitted during t
the slave response time. Data requests made during t
= 10ms
2
and t2 and during
1
and t2 are ignored by
1
the slave. Data requests during the response time will result in the invalidation
of all data currently on the bus.
10
2.5 Structure of the data blocks
All data blocks have the same structure:
2 Protocol description
Data structure
Slave
address
1 byte1 bytex byte2 bytes
Each data block contains four fields:
Slave addressdevice address of a specific slave
Function codefunction selection (read, write words)
Data fieldcontains the following information:
Checksumdetection of transmission errors
Function
code
- word address
- number of words
- word value(s)
Data fieldChecksum
CRC16
11
2 Protocol description
v
2.6 Function codes
The functions described in the following are available for the readout of
measured values, device and process data as well as to write specific data.
Functionoverview
Function
number
0x03 or 0x04Read n wordsmax. 32 words (64 bytes)
0x06Write one wordmax. 1 word (2 bytes)
0x10Write n wordsmax. 32 words (64 bytes)
2.6.1Read n words
This function is used to read n (n 32) words starting from a specific address.
Data request
Slave
address
1 byte1 byte2 byte2 byte2 byte
FunctionLimitation
Please refer to Chapter 2.9 Error processing, Page 18 if the device
does not react to these functions or emits an error code.
Function
x03 or 0x04
Address
first word
Number of
words
(max. 32)
Checksum
CRC16
Response
Slave
address
1 byte1 byte1 bytex byte2 byte
Function
0x03 or 0x04
Number of
bytes read
Word
value(s)
ExampleReading the W1 and W2 set point values (2 words each)
Address of first word = 0x3100 (W1 set point value)
Data request:
0103310000044AF5
Response (values in the Modbus float format):
010308000041C8000041204A9E
Set point value
W1
(25.0)
Set point value
W2
(10.0)
Checksum
CRC16
12
2.6.2Write one word
For the Write Word function, the data blocks for instruction and response are
identical.
2 Protocol description
Instruction
Response
Slave
address
1 byte1 byte2 byte2 bytes2 byte
Slave
address
1 byte1 byte2 byte2 byte2 byte
Function
0x06
Function
0x06
Word addressWord valueChecksum
Word addressWord valueChecksum
ExampleWrite the limit value AL of limit comparator 1 = 275.0
(Value = 0x80004389 in the Modbus float format)
Word address = 0x0057
Instruction: Write the first part of the value
01060057800059DA
Response (as instruction):
01060057800059DA
CRC16
CRC16
Instruction: Write the second part of the value (next word address)
010600584389F88F
Response (as instruction):
010600584389F88F
13
2 Protocol description
2.6.3Write n words
This function is used to write n (n 32) words starting from a specific address.
Instruction
Response
Slave
address
1 byte1 byte2 byte2 byte1 bytex byte2 byte
Slave
address
Function
0x10
Function
0x10
Address
first word
Number
of words
(max. 32)
Address
first word
Number
of
bytes
Number of
words
1 byte1 byte2 byte2 byte2 byte
ExampleWriting the W1 and W2 set point values (2 words each)
Word address = 0x3100 (W1 set point value)
Instruction:
01103100000408000041C8000041202A42
Set point value
W1
(25.0)
Response:
Word
value(s)
ChecksumC
RC16
Checksum
CRC16
Set point value
W2
(10.0)
011031000004CF36
14
2 Protocol description
2.7 Transmission format (integer, float and text values)
Integer valuesInteger values are transmitted via the Modbus in the following format:
The high byte first, followed by the low byte.
ExampleRequest of the integer value of address 0x0021, if value "4" (word value
0x0004) is written under this address.
Request: 01 03 0021 0001 (+ 2 bytes CRC16)
Response: 01 03 02 0004 (+ 2 bytes CRC16)
Float valuesIn the case of float values, the Modbus operates with the IEEE-754 standard
format (32bits), the only difference being that byte 1 and 2 are changed over
with byte 3 and 4.
Single-float format (32bit) as per IEEE 754standard
SEEEEEEEEMMMMMMMMMMMMMMMMMMMMMMM
Byte 1Byte 2Byte 3Byte 4
S - sign bit
E - exponent (two's complement)
M - 23bits normalized mantissa
Modbus float format
Modbus address xModbus address x+1
MMMMMMMMMMMMMMMMSEEEEEEEEMMMMMMM
Byte 3Byte 4Byte 1Byte 2
ExampleRequest of the float value of address 0x0035, if value "550.0" (0x44098000 in
IEEE-754 format) is written under this address.
Request: 01 03 0035 0002 (+ 2 bytes CRC16)
Response: 01 03 04 8000 4409 (+ 2 bytes CRC16)
Once transmission from the device is completed, the bytes of the float value
need to be changed over accordingly.
A large number of compilers (e.g. Microsoft Visual C++) store the float
values in the following order:
Float value
Address xAddress x+1Address x+2Address x+3
MMMMMMMMMMMMMMMMEMMMMMMMSEEEEEEE
Byte 4Byte 3Byte 2Byte 1
Please find out the way float values are stored in your application.
After the request, it might be necessary to change the bytes over in
the interface program you are using.
15
2 Protocol description
Character
strings
(texts)
Example for
data type
TEXT4
Character strings (texts) are transmitted in the ASCII format.
To mark the end, the last character to be transmitted can be a "\0"
(ASCII code 0x00). Characters after this mark are without
significance.
The address tables show the max. possible number of characters in a
data type, e.g. "TEXT24" (24 characters). When an end mark is used,
then only 23 readable characters are available for the text in this
example.
If no end mark is used, the use of the maximum number of characters
(e.g. TEXT8 = 8 characters) indicated in the data type is required. This
prevents characters still contained in the memory from being
appended to the text.
Knowing that the transmission of texts takes place word by word (16
bits), 0x00 is additionally appended where an odd number of
characters is used (incl. "\0").
Read the text (here: "AbC ") under address 0x0067 (a max. of 4 characters can
be saved)
ASCII code for "AbC " (with one space at the end):
0x41, 0x62, 0x43, 0x20
Request: 01 03 0067 0002 (+ 2 byte CRC16)
Slave address = 01
Function = 03, i.e. read n words
Address = 0067
Number of words to be read = 0002, because of the maximum of 4
characters
Response: 01 03 04 41 62 43 20 (+ 2 byte CRC16)
Slave address = 01
Function = 03, i.e. read n words
Number of bytes read = 04
Variant:
ASCII code for "Ab" (without a space at the end):
0x41, 0x62, 0x00
ASCII 0x00 ("\0") marks the end of the character string.
During transmission, 0x00 is additionally appended to obtain an even number
of characters.
Response in this case: 01 03 04 41 62 00 00 (+ 2 byte CRC16)
16
2.8 Checksum (CRC16)
The checksum (CRC16) serves to recognize transmission errors. If an error is
identified during evaluation, the device concerned does not respond.
Calculation
scheme
CRC = 0xFFFF
CRC = CRC XOR ByteOfMessage
For (1 to 8)
while (not all ByteOfMessage processed);
2 Protocol description
CRC = SHR(CRC)
if (flag shifted right = 1)
thenelse
CRC = CRC XOR
0xA001
The low byte of the check sum is the first to be transmitted, then the
high byte.
ExampleData request: Read two words, starting at address 0x00CE
(CRC16 = 0x92A5)
070300CE0002A592
CRC16
Response: (CRC16 = 0xF5AD)
070304000041C8ADF5
Wo rd 1W o rd 2C R C 16
17
2 Protocol description
2.9 Error processing
Error codesThe following error codes exist:
1invalid function
2invalid parameter address or too many words
are to be read or written
8write access to parameter denied
Response in
the
Slave
address
Function
XX OR 80h
Error codeChecksum
CRC16
event of an
error
1 byte1 byte1 byte2 bytes
0x80 is used to set the function code to its OR status, i.e. the MSB (most
significant bit) is set to 1.
ExampleData request:
010340000004CRC16
Response (with error code 2):
018302CRC16
Special casesThe slave not responding can have the following causes:
- the baud rate and/or data format of Master and Slave are not compatible
- the device address used does not coincide with that of the slave address
- the checksum (CRC16) is not correct
- the instruction from the Master is incomplete or over-defined
18
- The number of words to be read is zero.
In these cases the data request should be transmitted again once the timeout
time (2 s) has elapsed.
3.1Connection diagram
v
1
2
5
6
N(L-)
L1(L+)
14
13
17
20
21
22
23
RxD/TxD
19
18
24
(1)
-
+
This device can be ordered with an RS485 interface as an option.
Please refer to the Operating and Installation manual INSTALL-148
for the type designation.
3 RS485 interface
(1) RS485 interface
Connect the interface line shielding to earth on one side in the
switch cabinet.
19
3 RS485 interface
v
3.2 Configuration
The following table shows the possible Modbus interface settings to be
carried out in the configuration level (ConF
➔ IntF) and/or in the setup program.
For more detailed information about configuration, please refer to
the Operating and Installation manual INSTALL-148.
Baud rate
Data format
Device address
Minimum
response time
SymbolValue/
Selection
bdrt
dFt
Adr
(Setup)0… 500 ms Minimum time period that elapses between the
0…1 …255 Address in data network
Factory settings are shown bold.
Description
9600 bps
0
19200 bps
1
38400 bps
2
8 data bits, 1 stop bit, no parity
0
8 data bits, 1 stop bit, odd parity
1
8 data bits, 1 stop bit, even parity
2
8 data bits, 2 stop bits, no parity
3
Addresses 0 and 255 are reserved for specific
purposes and should not be used here.
request of a device in the data network and the
response of the controller (can only be adjusted
via the setup program).
20
When the communication takes place via the setup interface, the
RS485 interface is inactive.
4 Modbus addresses
Data type,
type of access
The following tables contain specifications of all process and device data
including their addresses, data type and type of access.
Meaning:
R/ORead only access
W/OWrite only access
R/WRead/write access
INTInteger (8 or 16 bit)
Bit xBit No. x (bit 0 is always the bit with the lowest value)
LONGLong integer (4 byte)
FLOATFloat value (4 bytes) as per IEEE 754
TEXT4Text 4 characters
Write operations to R/W parameters result in them being saved to
A
the EEPROM. These memory modules only have a limited number
of write cycles (approx. 100000). For this reason, this function can
be switched off in the case of frequent programming. The
parameter values are then only saved in the volatile memory (RAM)
and will be lost after a supply failure.
v
Setup program (undocumented parameters -> Bit parameters
-> Set parameter 2)
4.1Process data
AddressData type/
bit number
0x001FINTR/OInternal binary values
Bit 12Binary value L1 (= 0x1000)
Bit 13Binary value L2 (= 0x2000)
0x0020INTR/OController status
Bit 12Manual mode active (=0x1000)
Bit 15Self-optimization active (=0x8000)
0x0021INTR/OBinary outputs 1...4
Bit 0Output K1: Relay (= 0x0001)
Bit 1Output K2: Relay (= 0x0002)
Bit 2Output K3: Logic (= 0x0004)
Bit 3Output K4: Relay (= 0x0008)
0x0023INTR/OBinary inputs 1 and 2
Bit 0Input 1 (= 0x0001)
Bit 1Input 2 (= 0x0002)
AccessSignal designation
(Switching states 0 = off / 1 = on)
(Switching states 0 = open / 1 = closed)
21
4 Modbus addresses
AddressData type/
AccessSignal designation
bit number
0x0024INTR/OLimit comparators 1...2
Bit 0Limit comparator 1 (= 0x0001)
Bit 1Limit comparator 2 (= 0x0002)
0x0025INTR/WControl of the binary outputs (individual)
Bit 0 + Bit 8Output K1 (= 0x0101)
Bit 1 + Bit 9Output K2 (= 0x0202)
Bit 2 + Bit 10Output K3 (= 0x0404)
Bit 3 + Bit 11Output K4 (= 0x0808)
0x0026FLOATR/OAnalog input [mV]
0x0028FLOATR/OInternal Pt100 [Ohm]
0x002AINTR/OSampling cycle time
0x002BFLOATR/OAnalog input [displayed value]
0x002DFLOATR/OInternal analog value 1
0x002FFLOATR/OInternal analog value 2
0x0031FLOATR/OController, ramp limit value
0x0033FLOATR/OController, actual value, FILTERED
0x0035FLOATR/OController, actual value, UNFILTERED
0x0037FLOATR/WController set point value
0x0039FLOATR/OController, output value display
0x003BFLOATR/OController, output value, HEATING
0x003DFLOATR/OController, output value, COOLING
0x003FFLOATR/OController, control difference
0x0041FLOATR/OController, control deviation
0x0043INTR/OController, switching state, HEATING
0x0044INTR/OController, switching state, COOLING
0x0046INTR/OOutput value, manual mode
0x0047LONGR/OTimer run time
0x0049LONGR/OResidual timer time
0x004BINTR/OTimer status
Bit 1Timer stopped (= 0x0002)
Bit 5Timer runs (= 0x0020)
Bit 6Timer end (= 0x0040)
Bit 15Timer signal (= 0x8000)
4.2Set point values
AddressData type/
bit number
0x3100FLOATR/WSet point value W1
0x3102FLOATR/WSet point value W2
0x0053FLOATR/WRamp function, ramp rate
0x0055FLOATR/WFilter time constant (digital filter)
0x0057FLOATR/WLimit comparator 1 Alarm value AL
0x0059FLOATR/WLimit comparator 1 Hysteresis
0x005DFLOATR/WLimit comparator 2 Alarm value AL
0x005FFLOATR/WLimit comparator 2 Hysteresis
0x0063LONGR/WTimer value
0x0065LONGR/WService limit value
0x0067TEXT4R/WAlarm text
0x0069LONGR/WService counter
AccessSignal designation
23
4 Modbus addresses
4.5 Commands
AddressData type/
AccessSignal designation
bit number
0x004DINTW/OBinary functions CONTROLLER
Bit 0Self-optimization start (=0x0001)
Bit 1Self-optimization abort (=0x0002)
Bit 2Manual operation (= 0x0004)
Bit 3Automatic operation (= 0x0008)
Bit 4Controller off (= 0x0010)
Bit 5Manual mode inhibit (= 0x0020)
Bit 6Ramp stop (= 0x0040)
Bit 7Ramp abort (= 0x0080)
Bit 8Ramp restart (= 0x0100)
Bit 9Timer start (= 0x0200)
Bit 10Timer abort (= 0x0400)
Bit 11Timer stop (= 0x0800)
0x004EINTW/OBinary functions OPERATION
Bit 0Keyboard inhibit (= 0x0001)
Bit 1Configuration and parameter level inhibit
(= 0x0002)
Bit 3Display OFF (= 0x0008)
Bit 5Text display (= 0x0020)
0x004FINTW/OBinary functions TIMER
Bit 9Timer start (= 0x0200)
Bit 10Timer abort (= 0x0400)
Bit 11Timer stop (= 0x0800)
0x0050INTR/WSet point value toggling
Bit 0Set point value 1 (= 0x0001)
Bit 1Set point value 2 (= 0x0002)
24
Loading...
+ 56 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.