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.
SVA 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.
В процессе работ над данной версией, а также её практической адаптации, было обнаружено и исправлено порядка сотни ошибок. Около половины из них было обнаружено благодаря настойчивому изучению и адаптации Попковым Алексеем. Подавляющее большинство ошибок было обнаружено в компонентах среды визуализации и управления. Немало усилий было направлено и на повышение производительности системы в целом и среды визуализации и управления (СВУ) в частности.
2. Общесистемные расширения и расширения пользовательского API.
В ядро системы OpenSCADA были внесены некоторые изменения расширяющего характера. Перечислим их:
Для расширения функциональных характеристик стандартного атрибута значения, подсистемы "Сбор данных", тип его резервного параметра был изменён с целого на строку. Это позволило модулям подсистемы "Сбор данных" хранить более сложные данные прямо с атрибутом, упрощая внутреннюю обработку.
С целью предоставления механизма унифицированного удаления узлов из динамического дерева объектов системы OpenSCADA, по его полному пути, была добавлена функция TCntrNode::nodeDel().
Для расширения возможностей API пользовательского программирования, функциями работы со строками, в библиотеку системного API пользовательского программирования были добавлены шесть функций работы со строками: strSize(), strSubstr(), strInsert(), strReplace(), strParse(), strParsePath().
Добавлена системная функция округления вещественных значений до указанного знака после запятой TSYS::realRound().
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”.