В основном, целью данного релиза является исправление ошибок версии 0.4.0. Т.е. это стабилизирующий релиз. Однако планом предусматривались и были внесены некоторые новые функции. Функциями добавленными в версию 0.4.1 являются:
Создан модуль запуска QT GUI расширений(модулей).
Модуль свободных формул перемещён в подсистему "Контроллеры" и наделён функцией непосредственных вычислений. Теперь модуль называется JavaLikeCalc.
Создана центральная таблица и объединены функции загрузки из БД и конфигурационного файла.
Добавлена функция автоопределения активных источников данных и автоматической инициализацию параметров доступных источников в контроллере «
Создан WIKI-ресурс проекта OpenSCADA.
Обновлена БД демонстрационного пакета.
В рамках версии 0.4.1 системы OpenSCADA были выпущены новые версии следующих модулей:
BlockCalc - 0.7.1
JavaLikeCalc - 0.8.0
OperationSystem - 1.0.0
QTStarter - 0.5.0
В версии 0.4.1 были исправлены следующие ошибки версии 0.4.0, а также внесены обновления:
В модуле DiamondBoards обновлен драйвер плат сбора данных фирмы Diamond systems до версии 5.9.
Удалены все прямые ссылки на объекты родители динамических узлов. Теперь используются функции общего базового класса TCntrNode.
Добавлена перекодировка категории сообщений в модуле архивов BaseArh.
Отделена процедура запуска и включения контроллеров. Теперь все контроллеры сначала включаются затем запускаются. Как следствие была исправлена ошибка инициализации нескольких контроллеров модуля BlockCalc.
Имя контроллера разделено на: идентификатор, имя, описание.
Добавлена возможность использования текстовой области для конфигурации контроллеров и параметров, а также для атрибутов параметров.
Добавлены ресурсы на доступ к блокам модуля BlockCalc. Это позволило исключить возможность доступа к блокам на момент обновления структуры связанных с ними функций.
Исправлена ошибка невозможности создания исходящего транспорта.
Добавлена полная поддержка таймаутов в ресурсах.
Исправлена ошибка некорректного удаления элементов значений (атрибутов параметров).
Рассмотрим более подробно новые функции текущей версии:
Создан модуль запуска QT GUI расширений(модулей).
Необходимостью создания отдельного модуля запуска QT GUI расширений послужили планы по созданию среды визуализации на основе QT библиотеки. Вместе с модулем QTCfg это уже второй модуль основанный на библиотеке QT. Как выяснилось, QT-библиотека требует чтобы её компоненты запускались в одном потоке и чтобы инициализацию объекта QApplication выполнял один модуль. В связи с этим и был создан специальный запускающий модуль.
Благодаря ему создан механизм запуска любого количества расширений на библиотеке QT, с возможностью встраивания панели инструментов для вызова всех доступных модулей данного типа.
Модуль свободных формул перемещён в подсистему "Контроллеры" и наделён функцией непосредственных вычислений. Теперь модуль называется JavaLikeCalc.
Планом предусматривалось перемещение модуля создания библиотек функций на основе Java-подобного языка в подсистему "Контроллеры" и наделение его функцией непосредственных вычислений. Данная задача была выполнена. В результате получен модуль JavaLikeCalc позволяющий создавать вычислительные контроллеры непосредственно выполняющие пользовательские вычисления путём ассоциации с доступной или новой функцией этого же модуля.
Создана центральная таблица и объединены функции загрузки из БД и конфига.
С целью централизации предоставления данных, функции получения данных из конфигурационного файла и БД были объединены. Это подразумевает, так же, отражение структуры БД на конфигурационный файл. Т.е. появилась возможность описывать всю конфигурацию системы в конфигурационном файле вообще не используя БД. Алгоритм загрузки данных следующий: сначала проверяется наличие таблицы БД, если таблица существует то данные грузятся из неё иначе данные грузятся из конфигурационного файла. Как можно заметить, алгоритм напоминает методику "По умолчанию", т.е. в конфигурационном файле хранится конфигурация "По умолчанию" которая доступна в случае отсутствия данных в БД.
Кроме централизации доступа к данным была добавлена так называемая "Системная таблица". Цель этой таблицы - хранение общесистемных данных, создание отдельной таблицы для которых нецелесообразно. Такими данными, обычно являются, данные станции, подсистем и отдельные данные модулей. Введение данной таблицы завершило полное покрытие внутренних данных системы OpenSCADA хранилищами как в конфигурационном файле так и БД.
Добавлена функция автоопределения активных источников данных и автоматической инициализацию параметров доступных источников в контроллере «
В модуле "OperationSystem" подсистемы "Контроллеры" была добавлена функция автоматического определения активных источников данных и добавления параметров для них. В результате чего пользователю ненужно угадывать и проверять что включено и доступно для того что бы создать параметр. Кроме этого, внутренняя структура модуля была переработана с целью облегчения процедуры добавления поддержки новых источников данных операционной системы.
Создан WIKI-ресурс проекта OpenSCADA.
С целью систематизации и накопления информации по проекту OpenSCADA, а также для координации работ над проектом был создан WIKI-ресурс проекта системы OpenSCADA http://wiki.oscada.org. Основные функции ресурса:
координация процесса реализации проекта;
создание и поддержка актуальной документации проекта;
ведения личных и групповых todo- и check-листов разработчиков.
Обновлена БД демонстрационного пакета.
Для тестирования и отладки окружения внутренних вычислений была завершена реализация модели узла технологического процесса содержащего семь аппаратов и ПИД-регулятор. Функции реализации моделей аппаратов написаны на Java подобном языке модуля JavaLikeCalc, а соединение аппаратов в одну схему реализовано на языке блочных схем BlockCalc.
Ссылки
Для более детальной информации о изменениях в текущей версии обращайтесь к <ChangeLog> и исходным текстам системы. Текущее состояние системы всегда можно получить из SVN репозитория svn://oscada.org/trunk/OpenSCADA!
Протокол тестирования данной версии можно найти здесь: /Works/Tests/release041