English   Russian  
Universal Industrial Database v1.3

The purpose of UNIDB is the collection and storage of control flow data.

UNIDB allows to efficiently read data from an arbitrary number of OPC Data Access servers and save them to OPC Historical Data Access or OPC Data Access servers.
To optimize data saving, you can specify the set value, boundaries and aperture for every parameter that is being archived. Using UNIDB HDAServer, you can send the data to MS SQL, Firebird or Interbase DBMS. It can be used as part of any SCADA system supporting OPC HDA for efficient archive storage in MS SQL, Firebird or Interbase DBMS.



Using UNIDB HDAServer

UNIDB HDAServer is a standalone OPC Historical Data Access (OPC HDA) server for MS SQL, Interbase and Firebird DBMS.
Using this server allows to unify the process of saving and retrieving technological and other data. The server can be integrated into any information system employing the OPC HDA format.
Setting the database writing criteria for each parameter (OPC tag) allows to optimize system resource usage, reduce the system workload and decrease the database size.
The high performance of UNIDB HDAServer makes it possible to use it for archiving real-time data in large information systems.

Program scope

Supported DBMS

Implemented OPC interfaces

Implemented OPC HDA functions


Server address space
The hierarchical address space of the server tags and the database connection settings are configured using UNIDB HDAServer Config. The top level of the hierarchy is occupied by an arbitrary number of databases. Each of them contains tags, which can be directly read/written by client application, or folders. Folders can contain other folders and tags.
A tag can represent either a discrete or an analog parameter. The tag type (discrete/analog) defines the method of saving it in a database. The values of discrete tags are stored as 4-byte integers and the values of analog tags - as 4-byte floating point numbers. Each tag has a parameter number assigned to it - a number unique at least within the given database. This is necessary for database integrity.
Besides common tags, the UNIDB HDAServer address space can contain tag sequences. A tag sequence is an arbitrary number of tags of the same type (discrete or analog) that has sequentially numbered parameters and names containing the tag parameter number. For instance, tags Tag001, Tag002 and Tag003 with the corresponding parameter numbers 1, 2 and 3 can be joined into a sequence. The names of all tags in a sequence are defined by a formatted string. For the example above the tag names will be defined by the Tag$NNN string.
Sequences allow to quickly add large numbers of single-type tags to the UNIDB HDAServer address space.

Database format
UNIDB HDAServer requires one of the supported DBMS and a database (or several DBMS and databases) to operate. If necessary, HDAServer will create the database tables, which will store the incoming data.
The values of analog tags received during the day are stored in a separate table. The same kind of table is created for discrete tags. This approach helps optimize the database indices and makes database administration easier.
The database names have the following format: TDDMMYYYY,

where T - 'A' for the analog tag values table, 'D' - for the discrete tag values table;
DD - day of month;
MM - month;
YYYY - year.

Table records have the following fields:

  N - tag parameter number;
T - tag time stamp;
V - tag value;
S - status used inside UNIDB;
XS - quality attribute (OPCHDA_QUALITY).

When using Interbase or Firebird DBMS:

Using UNIDB Collector

UNIDB Collector is a service that allows to organize a reliable and efficient data retrieval from OPC DA servers and their archiving to OPC HDA servers or transfer to OPC DA servers. UNIDB HDAServer or any other server can be used as an OPC HDA server. UNIDB Collector "connects" the tags of one OPC server with those of another.

Program scope

Supported OPC interfaces

OPC functions implemented


The UNIDB Collector configuration process is essentially a series of transfers of item arrays.

A "transfer" describes a connection between two OPC servers.

A transfer item describes a connection of a source OPC server tag to a destination OPC server tag. The element type (analog, discrete or general) can be specified for each element - it defines the method of transferring tag values from the source to the destination.

For elements of the general type, the value of the source tag will not be saved in the destination tag until its value or quality changes. The type of data coming from the source tag may by arbitrary (integers or real numbers, boolean values, strings, dates, variables of type Variant, etc.).

The same relates to discrete elements, but the source tag values are interpreted as integers (although the actual data type can different). This peculiarity determines the algorithms of processing the incoming values.

Write aperture, set values and boundaries can be specified for analog elements. The possible criteria of writing a tag to a destination OPC server for analog elements may be:

If a tag in the source OPC server goes out of range, it will not be sent to the destination tag until its value settles within the range of its quality changes.

If the aperture of an analog element has not been set specified, the decision about sending the source values to the destination elements will be based upon set values, boundaries and quality. It is essential for the correct processing of analog values that the values coming from an OPC DA server are integer or real numbers (although the real data type may be arbitrary, for instance a string representing a real number).

To configure UNIDB Collector, use UNIDB Collector Config. <> UNpIDB Collector can work both as a standard Windows application, and as a WindowsNT service. You can choose the UNIDB Collector operational mode and start/stop the program using the UNIDB Collector Manager tool.


Copyright © 2006-2014 "Complex Systems" Research and Development Center