Author: Roman Savochenko
Open SCADA system OpenSCADA belongs to the class of SCADA (Supervisory Control and Data Aquisition) systems. Systems of this class are used as an element of technological processes automation systems (ACS TP).
OpenSCADA system is constructed as a modular and highly scalable system. Hence the internal structure of the system must meet the high demands of flexibility.
To get data from outside the OpenSCADA system provides so-called "Data sources". All data sources are contained in the subsystem of the same name and grouped by type of data sources, defining the module of subsystem of data sources (DAQ). The module is the separate component of the OpenSCADA system, which for the "DAQ" subsystem's modules contains the controllers with parameters of the predetermined structure. Under the structure of the parameter it is meant the number of its attributes.
The nature of the data source can range from "raw" to the full. The "raw" means the source that provides only the basic signal (integer, float, boolean). The full one means the source, which in the parameter contains the attributes of additional values, covering virtually all diagnostic tasks, ie parameter is a complete object, not requiring additional information.
Given this variation, the situation may cause when information in the object of the parameter is not enough to describe the object as a whole and the derived object is needed on the higher level of abstraction. The solution of this situation may be the formation of complementary parameters, which is not convenient and confusing. The better solution is to create layer, so-called "Logic level", which serves as the flexible formation of parameters/objects with necessary structure, including post-processing.
Functionally, the development is intended to provide the OpenSCADA system with the mechanism of freely formation of parameters' objects of required structure.
Operating purpose of the development is:
Architecturally logical level must meet the following requirements:
On the basis of architectural considerations it can be formed the requirements for individual components.
Requirements for the subsystem "Perameters":
Requirements for objects "Prameters templates":
Requirements for the objects of "Parameters":
Based on the above requirements we will develop the logic level of the parameters. The overall structure of the Logical level, in the context of its interaction with the physical one, is shown in Fig. 1.
Development of the "Parameters" subsystem does not substantially different from other subsystems of OpenSCADA, therefore, we'll not stop on the features of its formation. Templates of parameters and parameters are an interesting question, therefore, lets examine the features of their formation.
The requirements to the template of the parameters voiced the necessity to store the structure of attributes, that will featured on the part of the configuration of the parameter, and on the side of the resulting attributes. In addition, there must be possible to compute the attributes. The good solution would be to use for these purposes the objects of functions of programming area. Such an approach would obviate the need for the mechanism of addition the attributes because they will be added and formed in the form of the function's parameters. The overall structure of the formation of the parameter with the help of the template is shown in Fig. 2 .
The architecture of the logic level is obtained the extremely simple. The class diagram of it is shown in Figure 3. Description of the classes is given in Table 1.
Table 1. Classes of the logic level of parameters
|TParamS||Class of the "Parameters" subsystem. Provides the mechanism of calculating the parameters on the templates||Contains the parameters and their templates.|
|TParam||Class of the parameter. Contains the links structure, the frame of the function's values and can perform calculations using the template's function||It is contained in the "Parameters" subsystem. It includes the frame of the values of the function's object.|
|TPrmTmpl||The class of the parameter's template. It contains the structure of attributes (function's parameters)||It is contained in the "Parameters" subsystem. It includes the link to the function's object.|
The logic of the logic level of the parameters can be written as follows:
In the parameter's template the attribute has two properties: "Attribute", "Access" and "Value". The "Attribute" property describes the reflections on the attribute of the parameter. The following options for this property are provided:
The "Access" property defines the links between this parameter of function with the physical layer. The following options for this property are provided:
The field "Value" describes the value for the constants and the the preferred attribute of the parameter for the links. Description of the preferred attribute of the parameter for links is used to describe the implicit distribution of attributes of the parameters. The structure of the description is as follows: <Parameters description>|<attribute>. Where "Parameters description" is used to combine the parameters and place on the configuration form, and the "attribute" for the automatic linkage at the time of the parameter's appointment.
In the process of implementation the all components were created, as well as scripts(scenarios) of configuration and control interface for them. Configuration forms of the parameter's templates are shown in Fig. 4 and Fig. 5. Configuration forms of the logic level parameters are shown in Fig. 5, Fig. 7 and Fig.8.