Porovnávané verzie

Kľúč

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

...

Supported device types and versions
Communication line configuration
Line protocol parameters
Station configuration
I/O tag configuration
Note to on FloBoss 103 device
Note to on Honeywell
Literature
Changes and modifications
Document revisions

...

Forced disconnection: If all stations on the TCP/IP-TCP or TCP/IP-TCP Redundant line are in the simulation mode or the communication is stopped for them, the line will be disconnected (the communication socket will be closed). If the simulation is disabled for at least one station and the communication is not stopped for it (the Parameters tab of Station type object), the line will be connected again.

...

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|D][b][s]RdFn[-WrFn[d]].Address[.BitNr]  [,Items]  in which:

  • 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, only the upper byte is processed (1st in sequence)
    • Ul - Unsigned16 - one register is read, unsigned, 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 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 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. 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". Sending 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, values 0-15 are allowed to be used for reading of bit bits from 16-bit status or input registers.
    Note: coexistence of an I/O tag without  BitNr parameter and multiple I/O tags with  BitNr 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).

Note on writing: if only a part of the register (lower/higher byte or selected bit) is written and the I/O tag also has RdFn (function for a data reading) configured, then when writing, the value of the entire register is read first, and then the relevant part of the register is modified and the entire register is written.

...

Address format is [xN].[I|U|F|B|C|T][b]RdFn[-WrFn].Address[.BitNr] [,Items] in which:

  • xN indicates the number of bytes that read or write. Valid values for N are 1, 2, 4, 8 (in combination with I, U, F), 6 for T type, and an arbitrary number for C type.
  • A letter defines the type of I/O tag. Besides standard I, U, F, B, two extra types have been added:
    • C - text string of fixed length (e.g. x10.C3.1001 is a 10-character string on address 1001)
    • T - time stamp with length of 6 bytes (ss:mi:hh dd:mm:yy)
  • The meaning of other parameters is in compliance with the standard mode.

See the example of the configuration in the next section.

Kotva
floboss103
floboss103
Note

...

on FloBoss 103 device

...


  • configuration software ROCLINK800
  • default login LOI, password 1000
  • logging in FloBoss 103: click on DirectConnect (connection through COM1, on the side of FloBoss 103 it is connected to LOI-local interface)
  • menu Configure->Modbus->Configuration
    set the parameter "Variable Mode" on station in D2000 according to setting "Byte Order":
    • if "Least Significant Byte first" then "Little endian"
    • if "Most Significant Byte first" then "Big endian"
  • I/O tags are configured through menu Configure -> Modbus -> Registers on FloBoss 103
  • following types are supported (n means 16-bit address):
    • Binary input:
      • address in D2000: 1.n, e.g. 1.1001, variable of Di/Dout type
      • address in FloBoss 103: variable of BIN type
        Function: 1
        Starting/ending register: n
    • Binary output:
      • address in D2000: 1.n, e.g. 1.1001, variable of Dout type
      • address in FloBoss 103: variable of BIN r/w
        Function: 1 (for reading)
        Starting/ending register: n
        Function: 5 (for reading)
        Starting/ending register: n
    • Unsigned Int 8 bits input:
      • address in D2000: x1.B3.n, e.g. x1.B3.1003, variable of Ci/Co type
      • address in FloBoss 103: variable of UINT8 type
        Function: 3A or 3B
        Starting/ending register: n
    • Unsigned Int 8 bits output:
      • address in D2000: x1.B3.n, e.g. x1.B3.1003, variable of Co type
      • address in FloBoss 103: variable of UINT8 r/w type
        Function: 3A or 3B
        Starting/ending register: n
        Function: 6
        Starting/ending register: n
    • Unsigned Int 16 bits input:
      • address in D2000: x2.U3.n, e.g. x2.U3.1004, variable of Ci/Co type
      • address in FloBoss 103: variable of UINT16 type
        Function: 3A or 3B
        Starting/ending register: n
    • Unsigned Int 16 bits output:
      • address in D2000: x2.U3.n, e.g. x2.U3.1004, variable of Co type
      • address in FloBoss 103: variable of UINT16 r/w type
        Function: 3A or 3B
        Starting/ending register: n
        Function: 6
        Starting/ending register: n
    • Signed Int 16 bits input:
      • address in D2000: x2.I3.n, e.g. x2.I3.1005, variable of Ci/Co type
      • address in FloBoss 103: variable INT16 type
        Function: 3A or 3B
        Starting/ending register: n
    • Signed Int 16 bits output:
      • address in D2000: x2.I3.n, e.g. x2.I3.1005, variable of Co type
      • address in FloBoss 103: variable of INT16 r/w type
        Function: 3A or 3B
        Starting/ending register: n
        Function: 6
        Starting/ending register: n
    • Unsigned Int 32 bits input:
      • address in D2000: x4.U3.n, e.g. x4.U3.1006, variable of Ci/Co type
      • address in FloBoss 103: variable of UINT32 type
        Function: 3A or 3B
        Starting/ending register: n
    • Unsigned Int 32 bits output:
      • address in D2000: x4.U3.n, e.g. x4.U3.1006, variable of Co type
      • address in FloBoss 103: variable of UINT32 r/w type
        Function: 3A or 3B
        Starting/ending register: n
        Function: 6
        Starting/ending register: n
    • Float 32 bits input:
      • address in D2000: x4.F3.n, e.g. x4.F3.1008, variable of Ai/Ao type
      • address in FloBoss 103: variable of FL type
        Function: 3A or 3B
        Starting/ending register: n
    • Float 32 bits output:
      • address in D2000: x4.F3.n, e.g. x4.F3.1008, variable of Co type
      • address in FloBoss 103: variable of FL r/w type
        Function: 3A or 3B
        Starting/ending register: n
        Function: 6
        Starting/ending register: n
    • String (N bytes) input:
      • address in D2000: x1N.C3.n, e.g. x10.C3.1010, variable of TxtI/TxtO type
      • address in FloBoss 103: variable of ACm(AC10,AC12,AC20,AC30,AC40) type
        Function: 3A or 3B
        Starting/ending register: n
    • String (N bytes) output:
      • address in D2000: xN.C3.n, e.g. x10.C3.1010, variable of Co type
      • address in FloBoss 103: variable of ACN r/w type (AC10,AC12,AC20,AC30,AC40)
        Function: 3A or 3B
        Starting/ending register: n
        Function: 6
        Starting/ending register: n
    • Time and date 6 bytes input:
      • address in D2000: x6.T3.n, e.g. x6.T3.1010, variable of TiA/TxtI type
      • address in FloBoss 103: variable of DT6 type
        Function: 3A or 3B
        Starting/ending register: n
      • Note 1: FloBoss 103 supports local and monotonous time - that is why the configuration of station in D2000 must correspond to configuration of FloBoss.
      • Note 2: It is possible to set time and date but it requires configuring extra I/O tags for a second, minute, hour, day, month, and year as Unsigned Int 8 bits and after that to write into them.

...

  • Ver. 1.0 - November 27th, 2006 - document creating.
  • Ver. 1.1 - November 21st, 2007 - document update.
  • Ver. 1.2 - April 24th, 2009 - document update.
  • Ver. 1.3 - November 3rd, 2010 - document update.
  • Ver. 1.4 - December 6th, 2010 - document update.
  • Ver. 1.5 - September 5th, 2022 - document update (support for 8-byte values in the extended format).
  • Ver. 1.6 - September 7th, 2022 - document update (added parameter "Dummy Request Mode").
  • Ver. 1.7 - February 2, 2024 - document update (added destination column support).


Info
titleRelated pages:

Communication protocols

...