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
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:
- consecutive number 1-8:
- 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:
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. |
Table 2 - I/O tags - raw data from the protocol
Address | Value type | Meaning |
---|---|---|
T=100;I=index;J=index | TxtI | Reading 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
Address | Value type | Meaning |
---|---|---|
T=101;I=index T=102;I=index | Ai, Ci, Di | Reading 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
Address | Value type | Meaning |
---|---|---|
T=103 | Ai, Ci | Worked moto hours - value from range 0-999 999. |
T=104 | Ai, Ci | The 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, Ci | The 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 | TxtI | 3-sign string that defines the type of device:
|
T=107 | Ai, Ao | Setpoint for controlling ozone (O3) in ppm. Also, the writing of value is supported (the protocol function 05h). |
T=108 | Ai, Ao | The threshold for an indication of the O3 level in ppm. Also, the writing of value is supported (the protocol function 05h). |
T=109 | TxtI, TxtO | 16-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, TxtO | 16-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 | TxtO | Writes values to control unit (by protocol function 01h). Supported values:
|
T=122 | TxtI, TxtO | Writes 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
Related pages:
1 Comment
D2000 Dev Team
Although this protocol was implemented, it is not currently part of the D2000 KOM. In case of interest, please contact the D2000 development department.