Supported device types and versions
Communication line configuration
Communication station configuration
I/O tag configuration
Literature
Changes and modifications
Document revisions

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

KeywordFull nameDescriptionUnitDefault value
DBGI
Debug InputValue 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 OutputValue 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 WriteIf 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

AddressValue typeMeaning

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:

TypeDescription
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, DiReading 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, CiReading 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, CiReading 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, CiReading 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.

Table 2 - I/O tags - raw data from the protocol

AddressValue typeMeaning
T=100;I=index;J=index
TxtIReading the raw data from the protocol header into the text I/O tag. "I" and "J" indicates the beginning and end byte (1-128), and this condition must be valid: I<=J.
For example I/O tag with address T=100;I=113;J=128 (bytes 113-128 from header) contains a comment from printer (it is the same as I/O tag T=110).
For example I/O tag with address T=100;I=27;J=29 (bytes 27-29 from the header) contains the type of device (it is the same as I/O tag T=106
).

Note: These I/O tags are intended for specialists and for future extension of the protocol.

Table 3 - I/O tags relating to fault conditions of desoster

AddressValue typeMeaning
T=101;I=index
T=102;I=index
Ai, Ci, DiReading of signalization of device failure with an index that is connected to concentrator No. 1 (if T=101) or concentrator No. 2 (if T=102).
If the index is from the range 1..10, the I/O tag value will contain the information about the failure on a particular desoster (according to the value 0/1, False/True).
If index=0, the I/O tag will contain the information about all 10 desosters as integer (status of desoster 1 in 1. bit up to desoster 10 in 10. bit)
Example of address: T=101;I=2 - the I/O tag will read the failure signal of desoster 2 that connected with concentrator 1.
Note: If the information in the protocol contains a bit, which signalizes "concentrator is not connected", the value of the I/O tag will be Invalid.

Table 4 - I/O tags without indexes

AddressValue typeMeaning
T=103
Ai, CiWorked moto hours - value from range 0-999 999.
T=104
Ai, CiThe number of connected sensors - value from range 0-8. The channels with connected scanners have valid values (I/O tags of types 1 to 19 - see table 1), other channels have invalid values.
T=105
Ai, CiThe control unit number (equal to the station address). It is used to detect the real address of the station if the station address will be 0 (broadcast).
T=106
TxtI3-sign string that defines the type of device:
  • HDL - Hivus Data Logger
  • RJB - control unit without a fan
  • RJV - control unit with fan
T=107
Ai, AoSetpoint for controlling ozone (O3) in ppm. Also, the writing of value is supported (the protocol function 05h).
T=108
Ai, AoThe threshold for an indication of the O3 level in ppm. Also, the writing of value is supported (the protocol function 05h).
T=109
TxtI, TxtO16-sign string - upper and lower limits for the printer. Also, the writing of value is supported (the protocol function 05h).
Note: Presently, this string contains only a protocol-encoded setpoint for controlling ozone and threshold of ozone indication, therefore it is recommended to read and write values by I/O tags T=107 and T=108.
T=110
TxtI, TxtO16-sign string - comment of print. Also, the writing of value is supported (the protocol function 05h).
Note: This I/O tag is also used to set a control band, blocking sensor, signalization, language, to switch manual/automatic mode, to set parameters of modes, etc. For more information, see the documentation for communication protocol.
T=121
TxtOWrites values to control unit (by protocol function 01h). Supported values:
  • time - format of value: Thhmmss (hh-hour, mm-minute, ss-second), e.g. T142030 means a time 14:20:30
  • date - format of value Dddmmyyw (dd-day, mm-month, yy-year, w-weekday: Monday=1 .. Sunday=7), e.g. D2304153 means date 23.4.2015, Wednesday
T=122TxtI, TxtOWrites 32-bytes of limit values into the control unit (by the protocol function 05h).
Note: The first 16 bytes is equal to the I/O tag with address 109, the other 16 bytes are equal to the I/O tag with address 110. It is recommended to read and write values by I/O tags T=107, T=108, and T=110.

Literature


-

Changes and modifications


-

Document revisions


  • Ver. 1.0 - April 23, 2015 - creating the document

1 Comment

  1. Although this protocol was implemented, it is not currently part of the D2000 KOM. In case of interest, please contact the D2000 development department.

Write a comment...