Русская версия?
Українська версія?
Author: /RomanSavochenko
Translation is in progress...
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.
Разработка подсистемы "Параметры" ничем существенно не отличается от других подсистем системы OpenSCADA, поэтому рассматривать особенности её формирования не будем. Шаблоны параметров и параметры являются интересным вопросом, поэтому рассмотрим особенности их формирования.
Требованиями к шаблону параметров, озвучена необходимость содержания структуры атрибутов, которые будут фигурировать как со стороны конфигурации параметра, так и со стороны результирующих атрибутов. Кроме того, необходимо обеспечить возможность вычисления атрибутов. Хорошим решением будет использования для этих целей объектов функций среды программирования?. Такой подход избавит от необходимости создания механизма добавления атрибутов, поскольку добавляться и формироваться они будут в виде параметров функции. Общую структуру формирования параметра по шаблону представлено на рис. 2.
Архитектура логического уровня получается предельно простая. В виде диаграммы классов её можно изобразить следующим образом (рис 3). Описание классов приведено в таблице 1.
Таблица 1. Классы логического уровня параметров
Класс | Ответственность | Связи |
TParamS | Класс подсистемы "Параметры". Содержит механизм вычисления параметров на шаблонах | Содержит параметры и их шаблоны. |
TParam | Класс параметра. Содержит структуру связей, кадр значений функции и может выполнять вычисления с помощью функции шаблона | Содержится в подсистеме "Параметры". Включает кадр значений объекта функции. |
TPrmTmpl | Класс шаблона параметра. Содержит структуру атрибутов(параметров функции) | Содержится в подсистеме "Параметры". Включает ссылку на объект функции. |
Логику работы логического уровня параметров можно записать следующим образом:
В шаблоне параметра, у атрибута, предусмотрено два свойства: "Атрибут", "Доступ" и "Значение". Свойство "Атрибут" описывает отражения на атрибут параметра. Предусмотрены следующие варианты этого свойства:
Свойство "Доступ" определяет связи этого параметра функции с физическим уровнем. Предусмотрены следующие варианты этого свойства:
Поле "Значение" описывает значение для констант и предпочитаемый атрибут параметра для связей. Описание предпочитаемого атрибута параметра, для связей, используется в целях описания неявного распределения атрибутов параметров. Структура описания следующая: <Описание параметра>|<атрибут>. Где "Описание параметра" используется для объединения параметров и помещения на форму конфигурации, а атрибут для автоматического связывания при назначении параметра.
В процессе реализации были созданы все компоненты, а также сценарии конфигурации, интерфейса управления, для них. Формы конфигурации подсистемы "Параметры" приведены на рис. 4. и рис. 5. Формы конфигурации шаблонов параметров приведены на рис. 6 и рис. 7. Формы конфигурации параметров логического уровня приведены на рис. 8, рис. 9 и рис.10.