Porovnávané verzie

Kľúč

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

...

  • The 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, and only the upper byte is processed (1st in sequence)
    • Ul - Unsigned16 - one register is read, unsigned, and only the lower byte is processed (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 the upper 8 bits of the register value
    • X - Byte unsigned, only the 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 a number is an 8-byte number (4 consecutive registers). It can be used for types L, Ll, S, Sl, F,f, and it is used for configuration of signed/unsigned 8-byte integer as well as an 8-byte float (big-endian <B8>..<B1> and little-endian <B1>..<B8> formats).
    Modifier D indicates that a number is an 8-byte number (4 consecutive registers). It can be used for types Ll, Sl, F and it is used for the configuration of signed/unsigned 8-byte integer as well as an 8-byte float (little-endian format <B2><B1><B4><B3><B6><B5><B8><B7>).Note: when using a modifier d or D, the I/O tag must be of Analog type (Ai), because the Integer type (Ci) in D2000 is implemented as a 4-byte variable, and overflow might occur. Writing of Integer type (Co) as an 8-byte number is supported.
  • Modifier b indicates that the number BCD-coded. 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. The following table shows the values of the 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 the Modbus protocol for 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 the Modbus protocol for data writing. The 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 a 2-register type is written (e.g. Float, Unsigned long, etc.).
      Note: The 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 a 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:  write affects only the value of the particular bit BitNr of the status register. It is usable only for Do value types with the address parameter BitNr.
  • Parameter d activates the function "delayed write". The sending of the value is delayed until the request to write the value of the object without parameter d comes. All accumulated requests waiting to be written are sent. If the function WrFn is set to "Write Multiple Registers", the values are sent in one packet.
  • Parameter Address is a 2-byte address of the 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 a bit's position in a word. The values 0-7 are allowed to be used for binary statuses and inputs, and values 0-15 are allowed to be used for reading bits from 16-bit status or input registers.
    Note: coexistence of an I/O tag withoutBitNr parameter and multiple I/O tags withBitNr parameter having the same Address is possible.
  • Parameter Items indicates the number of objects to read. This parameter is only meaningful if the Destination Column is configured. The parameter specifies the number of objects that will be read and written to the structured variable. If this parameter is not specified, the number of read objects is derived from the size of the structure, so this parameter allows to limit the number of read items (e.g. if values are to be read into the next rows of the structure using another I/O tag).

...

  • 1.10 - the function Read Coils reads the binary status value with address 10.
  • 1.10, 4 - the function Read Coils reads the binary status values with addresses 10-13 to the Destination Column.
  • 3.1 - a signed 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 - an unsigned 16-bit number that is read by the function Read Holding Registers from address 1.
  • I3-6.1000 - signed 16-bit number that is read by the function Read Holding Registers from address 1000 and written by the function Write Single Register (as this function is the default, the address could be also I3.1000).
  • S3.321 - a signed 32-bit number, it is read by the function Read Holding Registers from the registers 321 and 322.
  • B1.20.0 - a bit that is read by the function Read Coils from address 20 as 0-bit in a 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 - an unsigned 16-bit number, is written to the register 456, it is written by Write Single Register, a register reading is not performed.
  • Ld3.3204 - reading the value of a 64-bit unsigned number, it is read by the function Read Holding Registers from addresses 3204 to 3207.


Kotva
extend
extend
Extended format of I/O tag address:

...