Hivus communication protocol

Hivus communication protocol

Supported device types and versions


The Hivus communication protocol supports communication with control units (RJ) and dataloggers (HDL) produced by Hivus. The communication was implemented and tested with the RJ-05e control unit. The control unit is used to time control of performance and regulation of desoster devices (air ozonizers).

Communication line configuration


  • Category of communication line: Serial, MOXA IP Serial Library

  • Parameters of the serial line:

    • Baud rate: 19200 Baud

    • Parity: optional
      Note: Parity MARK (sending the device address) and SPACE (all others) are set during transmission, so the parity setting is not important.

    • Handshaking: none

Note: communication on the Serial line was tested on computer serial port, virtual serial port corresponding to MOXA NPort device, and virtual serial port corresponding to Serial/USB converter USB-COM GemBird.
Communication on MOXA IP Serial Library line was tested through the use of MOXA NPort 5450I.

Communication station configuration


  • Communication protocol: Hivus Controller

  • Station address: 1 Byte.
    Address 0 is "broadcast" (each device responses to it, but only on reading by 02h function). I/O tag - type 105 (logger number) is used to detect the real address of the device.
    Addresses 1-255 represents the common addresses of devices (04h function is used to read data).

  • Time parameters - recommended polling period is 1 min (to avoid overloading the processor of the control unit by very frequent communication).

Station protocol parameters

Configuration dialog window - Communication station - field "Protocol parameters".
These parameters influence some optional parameters of the protocol. The following parameters can be used:

Tab. č. 1

Keyword

Full name

Description

Unit

Default value

DBGI

Debug Input

Value 1 activates the listing of information about received values of I/O tags in the trace file of the line in the format:
In I/Otag_name = value

-

2

DBGO

Debug Output

Value 1 activates the listing of information about written values of I/O tags in the trace file of the line in the format:
Out I/Otag_name = value

-

2

RAW

Read After Write

If the parameter is True, the writing of value (by 05h function) is followed by reading.
Note: Reading does not relate to date and time settings that are done by the protocol function 01h (see I/O tag 121).

-

False

I/O tag configuration


Possible value types of I/O tag: Ai, Ao, Ci, Di, TxtO, TxtI.

I/O tag address is written in the format:

  • T=type - I/O tags without index

  • T=type;I=index - I/O tags with index (channels and signalization of failures on desoster)

  • T=type;I=index;J=index; - I/O tag contains raw data of protocol with address 100

The header, which is read from the control unit by the KOM process, contains the information that is mapped into I/O tags without an index (e.g. moto hours worked, number of engaged channels, type of control unit), information about channels and signalization of failures on desosters.
There can be configured 0 up to 8 channels. Each channel is defined by characteristics (1-15, see table below), value, upper/lower limit (something like upper/lower limit in D2000). The channels can be addressed in two ways:

  1. consecutive number 1-8:

    • instantaneous value is addressed by T=16, I=1..8 in I/O tag,

    • type is addressed by T=17, I=1..8 in I/O tag

    • upper limit is addressed by T=18, I=1..8 in I/O tag

    • lower limit is addressed by T=19, I=1..8 in I/O tag

  2. order within channels with particular characteristics. Instantaneous value of i-th measurements with characteristic t is addressed by T=t, I=i.
    For example, instantaneous value of third measurement of type 1 [temperature] is defined by T=1, I=3 no matter on which channel this temperature occurs.

Signalization of failures on desoster enables to read the statuses of desoster 1..10 that are connected to concentrator 1 (T=101) or concentrator 2 (T=102).

These I/O tags can be configured:

Table 1 - I/O tags for channels

Address

Value type

Meaning

T=type;I=index

Ai, Ci, Di

Reading of instantaneous value of measurement of typ type, which is index-th in order.
Index can be from range 1..8.
Type can be from range 1..15 according to table below:

Type

Description

1

Temperature (°C)

2

Relative humidity (%)

3

Ozone concentration (ppm - parts per million)

4

Pressure (kPa)

5

Flow (m3/hour)

6

Air quality (ppm)

7

VOC - Volatile organic compounds (ppm - parts per million)

8

Flow velocity (m/s)

9

Toxicity (%)

10

Intensity (%)

11

NH3 concentration (ppm - parts per million)

12

CO concentration (ppm - parts per million)

13

State of blocking sensor (0/1)

14

Dew point (%)

15

State of the fan (0/1)


Example of address: T=8;I=1 - I/O tag will contain the instantaneous value of flow velocity that is first in order. If type 8 (flow velocity) is not configured on any of channels 1..8, I/O tag value will be invalid.

Note: Instantaneous value of the channel can have a flag indicating the unconnected sensor. This flag is mapped to an attribute of "WEAK" value in D2000. If the instantaneous value from the example mentioned above should have a flag indicating the unconnected sensor, it should be probably 0 with an attribute "WEAK".

T=16;I=index

Ai, Ci, Di

Reading of instantaneous value of channel with index. The index can be from range 1..8.
Example of address: T=16;I=2 - I/O tag will contain the instantaneous value of channel 2.

Note: Instantaneous value of the channel can have a flag indicating the unconnected sensor. This flag is mapped to an attribute of "WEAK" value in D2000. If the instantaneous value from the example mentioned above should have a flag indicating the unconnected sensor, it should be probably 0 with an attribute "WEAK".

T=17;I=index

Ai, Ci

Reading of channel characteristics with index. The index can be from range 1..8.
Example of address: T=17;I=2 - I/O tag will contain the characteristics of channel 2.

Note: The characteristics can be from range 1..15 with the meaning stated in the table or invalid if no sensor is connected to the channel.

T=18;I=index

Ai, Ci

Reading of upper limit of the channel with index. The index can be from interval 1..8.
Example of address: T=18;I=2 - I/O tag will contain the upper limit of channel 2.

Note: The value is invalid if no sensor is connected to the channel.

T=19;I=index

Ai, Ci

Reading of lower limit of the channel with index. The index can be from interval 1..8.
Example of address: T=19;I=2 - I/O tag will contain the lower limit of channel 2.

Note: The value is invalid if no sensor is connected to the channel.

Comments