OpenSCADAWiki: Doc/ OpenSCADA040 ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 

OpenSCADA 0.4.0


Contents

Введение

Данный документ является обработкой(компиляцией) документа <ChangeLog> системы OpenSCADA версии 0.4.0.
Ключевыми особенностями данной версии являются:


Новые и значительно обновленные модули:

Информацию по модулям можно получить из документации на них!


Для более детальной информации о изменениях в текущей версии обращайтесь к <ChangeLog> и исходным текстам системы. Текущий срез системы OpenSCADA всегда можно получить из SVN репозитория: <svn co svn://oscada.org/trunk/OpenSCADA)>

1. Новый уровень динамизации элементов системы.

В процессе реализации динамической архитектуры системы возникли проблемы разделения доступа к потенциально динамическим узлам. Проблема заключалась в исключении вероятности выполнения кода уже отключенного элемента. По началу, проблема решалась путём захвата ресурса на объект, но отсутствие иерархии объектов и большая вероятность не освобождения ресурсов после исключений не решили проблемы полностью. Отсутствие иерархии привело к ситуациям когда удаляемый объект был свободен, но ниже стоящих объект занят и предупреждение об этом через деструктор чаще всего приводило к фатальным последствиям.


В текущей версии эти проблемы полностью решены путём наследования всех динамических объектов от объекта динамического узла TCntrNode. На основе этого объекта реализована иерархия объектов и добавлены служебные виртуальные функции preEnable(), postEnable(), preDisable() и postDisable() призванные предупреждать объект про включение и отключение от узла.


Для предотвращения не освобождения ресурса был создан шаблон AutoHD для хранения ресурса и его освобождения в деструкторе в случае разрушения.


Благодаря этим решениям была достигнута высокая степень стабильности что доказывается прохождением всех модулей теста на периодическое отключение/подключение!

2. Добавлена среда программирования в систему.

В текущую версию добавлена среда программирования. Под средой программирования подразумевается комплекс средств и решений предоставляющих пользовательскую среду программирования в системе OpenSCADA. В состав этих решений вошли:

Подсистема «Функции» предназначена для предоставления централизованного механизма доступа к функциям. Функции в подсистеме хранятся в библиотеках. При этом сама подсистема никаких библиотек и функций не хранит. Все библиотеки функций предоставляются заинтересованными модулями и подсистемы путём регистрации в подсистеме.


Библиотеки функций могут предоставляться модулями и подсистемами. Библиотеки функций могут быть как статическими, так и динамическими. Динамические библиотеки предоставляют пользователю возможность создавать новые библиотеки и функции.


Вычислительные контроллеры предоставляют вычислительное окружение на основе существующих функций, т.е. содержат сами значения.

3. Добавлена поддержка БД SQLite.

Для добавления в систему OpenSCADA возможности удобного хранения локальных данных встраиваемых систем была добавлена поддержка маленькой но мощной локальной БД SQLite. SQLite хранит базу данных в одном компактном файле что существенно для встраиваемых систем.

4. Систематизирован API языка управления системы.

С целью упрощения и систематизации API языка управления системой, а также для будущего отражения языка управления через сетевые протоколы было выполнено сведение всех обращений к одной функции. Кроме того эта функция была наделена возможностью обрабатывать полный путь запроса из любой точки дерева.


В самом языке был пересмотрен интерфейс запроса элементов списков и таблиц с добавлением возможности модификации записей таблиц.

5. Добавлен демонстрационный пакет.

В целях облегчения первоначального старта и изучения системы был создан демонстрационный пакет с базовой конфигурацией всех подсистем и модулей.

6. Удалена прослойка ядер и сформулировано чёткое понятие «Подсистема».

Признана лишней и удалена прослойка ядер в системе OpenSCADA. Также сформулировано понятие подсистемы. Подсистемами являются все объекты непосредственно принадлежащие системе. Каждая подсистема должна наследоваться от объекта TSubSYS (ранее TGRPModule). Подсистема может быть простой и модульной. Модульная подсистема может расширяться посредством модулей.

7. Систематизирован процесс формирования и архивирования сообщений.

В данной версии пересмотрен механизм формирования сообщений. Благодаря покрытию всей системы динамическими узлами включенных в дерево появилась возможность определения адреса узла который однозначно адресует элемент системы. А адрес элемента системы который сгенерировал сообщение важная составляющая для категоризации сообщения а следовательно для управления потоком сообщений.


В настоящей версии принято в качестве категории сообщения указывать его путь. А для повышения гибкости разбора сообщений, на уровне архивирования была добавлена поддержка шаблонов со специальными символами: '*', '?' и '\'.


Данные решения позволяют создавать архивы сообщений для отдельно взятых подсистем!

8. Добавлена поддержка работы в режиме демона.

В текущей версии была добавлена поддержка работы системы OpenSCADA в режиме демона. Данная возможность позволяет запускать OpenSCADA как сервис. Для реализации возможности запуска как сервис был создан скрипт запуска подсистемы OpenSCADA «oscadad». Данный скрипт поставляется вместе с системой.

9. Добавлена возможность работы с единой БД.

С целью облегчения восприятия механизма работы с БД была добавлена возможность использования одного типа и имени БД во всех подсистемах. Данная возможность не исключает варианта указания отдельных БД и при этом позволяет упростить манипуляции с БД. Например скопировать БД всей системы можно поменяв тип и имя БД в одном месте и нажать кнопку «Сохранить систему».

10. Систематизированы команды управления элементами системы.

Для управлением загрузкой, запуском, остановкой и другими процессами системы OpenSCADA использовались различные команды. В данной версии они систематизированы и сведены к четырём командам:

11. Обновлена документация на систему включая API и документацию на модули;

В целях публикации последних изменений в системе и для исправления ранне допущенных ошибок был полностью обновлен проект системы. Кроме этого была обновлена документация всех модулей и добавлена документация на новые модули.

Ссылки

Referring pages: Doc
HomePageEn/Doc
HomePageUk/Doc


 
There are no files on this page.[Display files/form]
There is no comment on this page. [Display comments/form]