The release of open SCADA (Supervisory control and data acquisition) system of version 0.6.1 is the first stabilizing release of a branch 0.6.0. Within the limits of this version big work on stabilization and adaptation to practical tasks is done. As the result, a way to formation of base library of patterns of traditional SCADA system has been passed and the demonstration interface of the user is constructed. The demonstration interface contains the staff with full-value mimic panel, the stereotyped frames of groups of graphs, groups of contours and survey frames. As a result of the done work the task of construction of complex interfaces of the user of SCADA-system already became practicable.
The given document is processing (compilation) of the document <ChangeLog> of OpenSCADA system versions 0.6.1 which is called to cover briefly and obviously new opportunities of OpenSCADA system. In details to familiarize with changes in OpenSCADA system it is possible in the file ChangeLog from the distribution kit of system or here: http://diyaorg.dp.ua/oscadawiki/Works/ChangeLog.
Key features of the given version are:
Increasing of stability, durability and productivity of system.
General-system expansions and expansions of user API.
The mechanism of construction of graphs is reconsidered and improved.
EVM is improved and stabilized .
Expansion of the list of files of resources and building system.
The part of modules of a subsystem "Data acquisition" is improved.
The part of modules of a subsystem "DB" is improved.
The new and updated modules:
Archive.FSArch (0.9.6) -- Stabilization.
Archive.DBArch (0.6.0) -- Optimization and stabilization.
DB.MySQL (1.3.1) -- Stabilization.
DB.SQLite (1.3.1) -- The opportunity of administration of amount of queries in transaction is added.
DB.FireBird (0.7.0) -- Support of unification of transaction for commands of modification is added.
DAQ.BlockCalc (1.0.1) -- The mechanism of the link of parameters of the controller is changed to attributes of blocks.
DAQ.DiamondBoards (1.0.1) -- Stabilization.
DAQ.JavaLikeCalc (1.0.1) -- Stabilization and addition of support of special symbols ('\n' and '\t').
DAQ.SNMP (0.3.1) -- Stabilization.
DAQ.ModBus (0.8.0) -- Addition of support of protocols RTU and ASCII, and also of the block mechanism of acquisition.
DAQ.Transporter (0.3.1) -- Stabilization.
DAQ.System (1.6.0) -- Addition of data acquisition of sensors through library libsensors. Stabilization.
Transport.Sockets (1.3.1) -- Stabilization.
Protocol.HTTP (1.3.1) -- Stabilization.
Special.FLibComplex1 (1.0.1) -- Stabilization.
Special.FLibSYS (0.6.0) -- Addition of functions for work with strings.
UI.QTCfg (1.5.1) -- Small improvements.
UI.VCAEngine (0.6.0) -- Significant stabilization and expansion of functional.
UI.Vision (0.6.0) -- Significant stabilization and expansion of functional.
UI.WebVision (0.3.0) -- Stabilization and expansion of functional.
1. Increasing of stability, durability and productivity of system.
During works under the given version, and also under its practical adaptation, it was revealed and corrected something about hundred errors. About half from them it was revealed owing to persevering studying and adaptation of Popkov Alexey. The overwhelming majority of errors was revealed in components of the environment of visualization and management. Many efforts have been directed on increasing of productivity of system as a whole and of environment of visualization and management (EVM) in particular.
2. General-system expansions and expansions of user API.
To the kernel of OpenSCADA system some changes of expanding character have been made . We will list them:
For expansion of functional characteristics of standard attribute of value of the subsystem "Data acquisition", the type of its reserve parameter has been changed from the integer to a string. It has allowed modules of the subsystem "Data acquisition" to store more complex data directly with attribute, simplifying internal processing.
With the purpose of granting of the mechanism of the unified deletion of units from a dynamic tree of objects of OpenSCADA system on its full way the function TCntrNode:: nodeDel () has been added.
For expansion of opportunities of API of the user programming by functions of working with strings in library of system API of the user programming had been added six functions of working with strings: strSize (), strSubstr (), strInsert (), strReplace (), strParse (), strParsePath ().
System function of a rounding off of real values up to the specified sign after comma TSYS:: realRound () is added.
3. Пересмотрен и усовершенствован механизм построения графиков.
В целях повышения читабельности, а также в виду обнаружения ряда проблем в механизмах построения графиков разных узлов системы OpenSCADA была выполнена унификация механизма построения графиков для всех механизмов, а именно: в построителе графиков значений подсистемы "Архивы" (QTCfg), визуализаторе трендов примитива "Diagram" модулей Vision и WebVision.
В процессе этих мероприятий построитель графиков значений подсистемы "Архивы" был дополнен следующими возможностями:
указание размеров окна построения графика;
указание нужной шкалы значений параметра;
ограничение верхнего предела времени текущим временем, а также слежение за текущим временем.
4. Усовершенствована и стабилизирована среда визуализации и управления (СВУ).
Наиболее значимые изменения были выполнены в рамках среды визуализации и управления (СВУ), а именно в модулях движка СВУ VCAEngine, визуализатора на основе библиотеки QT Vision и визуализаторе на основе WEB-технологий WebVision. Внесённые изменения были направленны на стабилизацию и улучшение пользовательских свойств СВУ.
Рассмотрим подробнее общие изменения для модулей СВУ:
В процессе практической адаптации были выявлены серьёзные ограничения в механизме обработки событий интерфейса. Эти ограничения не позволяли создавать сценарии обработки событий вложенных виджетов. Данное ограничение было устранено путём добавления адреса источника события в само событие.
С целью предоставления возможности идентификации качества входных значений, а также наличия связей, и в последствии для возможности анализа этих значений в скриптах интерфейса, была реализована полная поддержка ошибочного значения - EVAL. Это позволило принимать решение о скрытии или отображении элементов интерфейса в универсальных кадрах/образах параметров подсистемы "Сбор данных", а также в кадрах другого назначения.
Изменён механизм указания заливки замкнутого контура примитива "ElFigure". Теперь заливка указывается координатами точки внутри замкнутого контура. Выполнено с целью унификации механизмов представления для QT и WEB технологий.
С целью приведения текстов на страницах СВУ к единому виду на различных визуализаторах была добавлена возможность указания шрифта текстов примитива "FormEl", а единица измерения размера шрифтов всех элементов указывается в пикселах.
Добавлена поддержка механизма динамической линковки страниц. Данный механизм очень удобен при формировании страниц, обслуживающих множество параметров подсистемы "Сбор данных" или дополняющих группу однотипных страниц всего одним кадром в дереве проекта.
Унифицирован механизм загрузки Mime-данных из БД. Также, добавлена функция хранения Mime-данных в БД по проекту.
Добавлена поддержка пользовательских атрибутов во вложенных, на кадр, виджетах.
Непосредственно в модуль визуализации на библиотеке QT (Vision) были внесены следующие значимые изменения:
Для расширения спектра поддерживаемых стилей бордюров в примитивы, формирующие бордюры, был добавлен атрибут стиля, соответствующий стандартным стилям WEB-интерфейсов.
Для предоставления возможности указания активных областей на изображениях, с возможностью формирования событий по их активации при исполнении проекта, был добавлен механизм формирования активных областей (карты) изображений.
С целью адекватной обработки свойства масштабирования тип атрибутов геометрии был изменён на вещественный. Атрибуты координат точек примитива "ElFigure", по той же причине, были изменены на вещественный.
Добавлена поддержка представления слайдеров и полос прокрутки в примитив "FormEl".
Добавлена поддержка атрибутов масштаба, а также и реального масштабирования содержимого примитива "ElFigure".
Добавлена поддержка фокуса и отработка смены фокуса активных элементов. Реализована, также, возможность указания порядка получения клавиатурного фокуса.
В редактор СВУ модуля визуализации на библиотеке QT (Vision) были внесены следующие значимые изменения:
Добавлена поддержка изменения размера и масштаба виджетов с клавиатуры.
Добавлено контекстное меню к элементам кадров, с поддержкой собственного меню для разных типов виджетов, включая и режим редактирования виджетов на кадре.
Добавлена функция копирования/перемещения визуальных элементов.
Оптимизированы операции вставки, обновления и удаления над дочерними виджетами кадров.
Добавлен генератор идентификаторов для вновь создаваемых виджетов, исходя из идентификатора виджета-основы и уже присутствующих виджетов.
Переписана и значительно улучшена функция группового изменения размеров выделенных виджетов.
Добавлена возможность выделения группы виджетов путём рисования визуального прямоугольника.
Добавлена поддержка множества комбинаций клавиш быстрого вызова функций.
Непосредственно в модуль визуализации на технологии Web (WebVision) были внесены следующие значимые изменения:
Добавлена поддержка WEB-браузера MS Internet Explorer.
Добавлена поддержка примитива “Diagram”. Т.е. в рамках Web-интерфейса могут формироваться графики.
Добавлена первая реализация поддержки примитива "ElFigure".
Добавлена поддержка масштабирования елементов интерфейса.
5. Расширение перечня файлов ресурсов и сборочной системы.
Для обеспечения сборки проекта на дистрибутиве Mandriva 2008 была добавлена, в сценарий конфигурации сборочной системы, обработка особого расположения библиотеки QT4 в этом дистрибутиве.
В дерево проекта были добавлены новые файлы комплекта основной документации. В число этих файлов включены переводы основного комплекта документации на Украинский и Английский языки: FAQ.pdf, AboutOpenSCADA.pdf, release_0.6.0_uk.pdf, release_0.6.0.pdf и FAQ_uk.pdf.
Для предоставления возможности запуска системы из меню рабочего стола в дерево проекта были добавлены соответствующие конфигурационные файлы и иконки.
6. Усовершенствована часть модулей подсистемы "Сбор данных".
Часть модулей подсистемы "Сбор данных" были значительно обновлены:
В модуль сбора данных посредством протокола ModBus (/DAQ/ModBus) была добавлена поддержка протоколов ModBus/RTU и ModBus/ASCII. Также была реализована поддержка блочного режима сбора данных.
В модуле сбора системных данных (/DAQ/System) была реализована поддержка библиотеки сенсоров системных плат - libsensors.
В модуле параметров логического уровня (/DAQ/LogicLev) обеспечена установка значений атрибутов, связи которых разрушены, в EVAL.
В модуле блочного вычислителя (/DAQ/BlockCalc) изменён механизм адресации отражённых атрибутов параметров на атрибуты блоков.
7. Усовершенствована часть модулей подсистемы БД.
Основные изменения связаны с усовершенствованием модуля поддержки СУБД "FireBird". Из наиболее значительных изменений нужно отметить добавление управления транзакциями и как следствие некоторое повышена производительности. В целях повышения производительности работы с СУБД "FireBird" в модуле архивации на БД (/Archive/DBArch) была пересмотрена процедура сброса блока данных в БД.
В модуле поддержки БД SQLite добавлена возможность указания количества запросов, через которые нужно закрывать транзакцию.
10 Планы дальнейшего развития
К релизу следующей версии запланированы решения таких задач:
Создание форума проекта OpenSCADA.
Разработка и реализация концепции специализированного уведомления и сигнализации.
Доработка модуля визуализации СВУ WebVision до уровня полноценной функциональности, в рамках базовых элементов модуля Vision.
Наращивание функций системы OpenSCADA: Реализация модуля опроса контроллеров Siemens посредством библиотеки Libnodave; Реализация контроля прав доступа в СВК.
Проверка функционирования компонентов системы OpenSCADA программой “Valgrind”.