...
Parameter | Meaning | Unit | Default value | ||||||
---|---|---|---|---|---|---|---|---|---|
| Maximum count of call retry. If no reply returns after calls had been sent, station will be in status of communication error. | s | 2 | ||||||
| Timeout before retry of call if no reply had not received. | s | 0.1 | ||||||
| Delay after sending the request before reading the response. | s | 0.1 | ||||||
| Timeout between reading the reply. | s | 0.1 | ||||||
| Maximum count of retry of the reply reading. | - | 20 | ||||||
| "Start silent interval" before begin of the transmission in RTU mode. | ms | 50 | ||||||
| "Stop silent interval" after ending of the transmission in RTU mode. | ms | 50 | ||||||
| Special byte mode of transmission in which the values of registers have length of 1 byte and not 2 bytes as it is defined in Modbus protocol specification. | YES/NO | NO | ||||||
| Special variable mode of transmission in which the values of registers have variable length. Setting of Variable mode: Note 1: Variable and byte mode are incompatible and only one of them can be enabled. | OFF Little endian Big endian | OFF | ||||||
| Log of another debug information about communication on line. | YES/NO | NO | ||||||
| Protocol mode: RTU or ASCII. Note: In case of "MODBUS over TCP/IP", the parameter value is ignored and Protocol Mode=RTU is used. | RTU ASCII | RTU | ||||||
| Sets an address model of MODBUS protocol: MODBUS PDU data are addressed from 0 up to 65535. MODBUS data Model data are addressed from 1 up to 65536. Note: MODBUS PDU is a default value. If MODBUS data Model is set, the object with the address X is addressed as X-1 in MODBUS PDU. After you change this parameter, restart a proper communication process. | MODBUS PDU MODBUS data Model | MODBUS PDU | ||||||
| Select a variant of protocol in case of TCP/IP communication: "MODBUS TCP" is a variant of communication without control checksum. Safeguarding is done by underlying TCP protocol. "MODBUS over TCP" is a variant where a payload is MODBUS RTU data containing a checksum. | "MODBUS TCP" "MODBUS over TCP" | "MODBUS TCP" | ||||||
| Maximum count of registers that are required in one call. | - | 100 | ||||||
| Maximum count of bytes that are required in one call (only in "Byte mode"). | - | 100 | ||||||
| To require the values from addresses that are not configured, is not allowed. Description and example: | YES/NO | NO | ||||||
| If this parameter is set to YES, then an extra check is performed when receiving a response to a read request: the length of received data is checked whether it matches amount of registers in a read request:
| YES/NO | NO |
...
An independent address space of 2 byte, i.e. addresses from 0 up to 65535 (so called MODBUS PDU addressing model), is in each address space of given type of register. Some of devices work with address space starting with 1 (so called MODBUS data Model). In this case it is necessary to deduct -1 in address at configuration I/O tags in D2000 system or change the setting of parameter Addressing model to MODBUS data Model.
I/O tag address can acquire 17280090 basic or extended format (for a variable mode).
...
- First character defines a type of I/O tag:
- I - Integer16 (default) - one register is read, signed
- U - Unsigned16 - one register is read, unsigned
- Uu - Unsigned16 - one register is read, unsigned, only upper byte is considered (1st in sequence)
- Ul - Unsigned16 - one register is read, unsigned, only lower byte is considered (2nd in sequence)
- f - Float (4 bytes = 2 registers) - two registers with Address and Address+1 are read and transmitted as big-endian (see Note).
- F - Float (4 bytes = 2 registers) - two registers with Address and Address+1 are read and transmitted as little-endian (so-called Modicon format), (see Note)
- L - Unsigned long (4 bytes = 2 registers) - two registers with Address and Address+1 are read, unsigned and transmitted as big-endian (see Note)
- Ll - Unsigned long (4 bytes = 2 registers) - two registers with Address and Address+1 are read and transmitted as little-endian, unsigned (see Note)
- S - Signed long (4 bytes = 2 registers) - two registers with Address and Address+1 are read, signed and transmitted as big-endian (see Note)
- Sl - Signed long (4 bytes = 2 registers) - two registers with Address and Address+1 are read and transmitted as little-endian, signed (see Note)
- B - Byte unsigned, only upper 8 bits of the register value
- X - Byte unsigned, only lower 8 bits of the register value.
- sn. - Text string with the length of n characters, one register is one character, n registers with Address up to Address+n-1 are read
- an. - Text string with the length of 2*n characters, one register is two ASCII characters, characters are transmitted in the same order as they appear in the string, n registers with Address up to Address+n-1 are read
- An. - Text string with the length of 2*n characters, one register is two ASCII characters, characters are transmitted in big-endian order (i.e. "1234" is transmitted as "2143"), n registers with Address up to Address+n-1 are read
- Modifier d indicates that the number is an 8-byte number (4 consecutive registers). It can be used for types L, Ll, S, Sl, F,f and it allows configuration of 8 byte integer with/without a sign as well as an 8-byte float (variants big endian and little endian).
Note: when using a modifier d, I/O tag must be of Analog type (Ai), because Integer type (Ci) in D2000 is implemented as a 4-byte variable and overflow might occur. - Modifier b indicates that figure is coded by BCD. It can be used for I/O tags of I, U, B, L, Ll types.
Modifier s indicates that a status register (Unsigned16) located on address Address is followed by a big endian Float value located on address Address+1 .. Address+2. This indicator is used for type f and it is implemented for calorimeter Endress+Hauser RMS621. Following table shows values of status register and their mapping to D2000 attributes.
Status register D2000 attributes 0 : Invalid value Weak 1 : Measured value valid Valid 2 : Overflow warning
3 : Overflow error
4 : Underflow warning
5 : Underflow error
6 : Saturated steam alarm
7 : Error in differential pressure calculation
8 : Wrong medium for DP calculation
9 : Wrong value range - DP calculation inaccurate
10 : Differential pressure - general error
11 : Range overshoot (Tsat > 350 etc.) on
12 : Change in state of aggregation
26 : Differential pressure --> general error
99 : No measured value is assigned to the register in the setup of the ModBusWeak - Parameter RdFn is a function of Modbus protocol for a data reading. The following functions are implemented:
- 1 - Read Coils: binary status reading
- 2 - Read Discrete Inputs: binary input reading
- 3 - Read Holding Registers: status register reading (Integer16/Unsigned16 and Float32 - reads two successive registers)
- 4 - Read Input Registers: input register reading (Integer16/Unsigned16 and Float32 - reads two successive registers)
- 0 - A value is not read, it is only written. The function for writing (WrFn) must be set.
- Parameter WrFn is the function of Modbus protocol for a data writing. Following functions are implemented:
- 5 - Write Single Coil: binary status writing (default for Read Coils)
- 6 - Write Single Register: status register writing (default for Read Holding Registers)
- 16 - Write Multiple registers: multiple registers writing, it must be used when 2-register type is written (e.g. Float, Unsigned long, etc.).
Note: function can be used to write more than two registers at once if a text string is used. Example:
if we have an I/O tag with address a3.0-16.#8A00 (i.e. text string covering 3 registers, having length of 6 characters) and we write a string '123456', then hexadecimal values 0x3132, 0x3334 and 0x3536 (ASCII code for '1' is 0x31, for '2' is 0x32 etc) will be written to registers 0x8A00, 0x8A01 and 0x8A02. - 22 - Mask Write Register: it influences only value of the particular bit BitNr of status register. Usable only for Do types with the address parameter BitNr.
- Parameter d activates the function "delayed write". Sending of the value is delayed until the request to write value of the object without parameter d comes. All accumulated request waiting to be written are sent. If the function WrFn is set on "Write Multiple Registers", the values are sent in one packet.
- Parameter Address is 2-byte address of register (0-65536). See also the protocol parameter Addressing model.
Note: address can be specified as a hexadecimal number using a number sign (#), e.g. #50CE - Parameter BitNr is number of bit in a word. The values 0-7 are allowed to be used for binary statuses and inputs, values 0-15 are allowed to be used for reading of bit from 16-bit status or input registers.
...
See the example of configuration in next section.
Kotva | ||||
---|---|---|---|---|
|
...