Porovnávané verzie

Kľúč

  • Tento riadok sa pridal
  • Riadok je odstránený.
  • Formátovanie sa zmenilo.

...

Kotva
basic
basic
Basic format of I/O tag address:
Address format is [I|U|Uu|Ul|f|F|L|Ll|S|Sl|B|X|sn.|an.|An.][d][b][s]RdFn[-WrFn[d]].Address[.BitNr] in which:

  • 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 registerD2000 attributes
    0 : Invalid valueWeak
    1 : Measured value validValid
    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 ModBus
    Weak


  • 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.

...

  • 1.10 - the function Read Coils reads the binary status value with address 10.
  • 3.1 - 16-bit number, it is read by the function Read Holding Registers from the address 1 (it can be also in the form I3.1).
  • U3.1 - 16-bit number without sign that is read by the function Read Holding Registers from address 1.
  • I3-6.1000 - 16-bit number with sign that is read by the function Read Holding Registers from address 1000 and written by the function Write Single Register (as this function is default, address could be also I3.1000).
  • S3.321 - 32-bit number with sign, it is read by the function Read Holding Registers from the registers 321 and 322.
  • B1.20.0 - bit that is read by function Read Coils from address 20 as 0-bit in byte.
  • s10.3.123 - a text string, length 10 characters (2 bytes per character), it is read by the function Read Holding Registers from the address 123.
  • a5.3.123 - a text string, length 10 characters (1 byte per character), it is read by the function Read Holding Registers from the address 123.
  • U0-6.456 - 16-bit number, unsigned, is written to the register 456, it is written by Write Single Register, a register reading is not executed.

...