From OpenSCADAWiki
< Documents | Release 0.9
Это обновление релиза 0.9 LTS исправляет около 40 ошибок и добавляет некоторые улучшения, которые целиком вы можете почитать в протоколе изменений обновления.
Linux Дистрибутив Автоматизации проекта OpenSCADA
- пакеты "tdelibs" и "tdebase" были удалены из-за применения этих исправлений в главной и стабильной ветви TDE;
- исправленные пакеты "tdemultimedia-trinity", "tdenetwork-trinity" и "tdeutils-trinity" были пересобраны;
- собрано новый исправленный пакет "tde-i18n-uk-trinity";
- перед сборкой пакетов была изменена схема формирования версий пакетов этого дистрибутива из "{+1}:14.0.9-0" на "4:14.0.9-{+1}" с целью предотвращения заморозки этих пакетов в следующих версиях TDE; и главный репозиторий пакетов TDE Живых Дисков переключен на ветвь "r14.0.x" вместо предварительной стабильной, которая также присутствует, но закомментирована;
- перед этим релизом, в TDE Weblate завершен перевод Украинским языком частей-пакетов TDE: tdelibs, tdebase, tdegraphics, tdenetwork, tdemultimedia, tdepim, tdeadmin, tdeaccessibility, tdeutils, krusader, yakuake, basket; и создан исправленный пакет "tde-i18n-uk-trinity" для перевода отличий ветви "r14.0.x" от главной;
- заплатка к "tdeutils" дополнена комбинацией клавиш с удержанием Ctrl для медленного изменения яркости дисплея к KMilo.
OpenSCADA библиотеки и проекты
- FIX:LibsDB.OscadaLibs: Библиотека DevLib дополнена шаблонами "MTP 4D (MTP4D)" и "ModBus база (mbBase)".
- FIX:LibsDB.vcaBase: Шаблонный проект (tmplSO) очищен от лишних мнемосхем управления рецептами и главная страница дополнена таблицей актуальных сигналов-нарушений. Кадр Main.RootPgSo унифицирован уведомителями только в общих атрибутах для СВУ-сервера и уведомителей Vision, WebVision: notify0, notify1 та notify2.
API
!!!!:Изменения:
- Архивы-История: {TMArchivator,TVArchivator,TVArchive}::DB() установлена в квалификатор постоянной.
- Транспорты.{.,*}: Функция установки таймаутов setTimings() выходных транспортов расширена различием типовых таймаутов для различных протоколов, с помощью аргумента "isDef".
Дополнение:
- SYS.,*:
- Ограничения и параметры пространства системы перенесены в пространство конфигурации пользователя (конфигурационный файл) для некоторого разрешённого диапазона. STD_WAIT_DELAY перенесено в prmWait_DL и изменено в 0.1 секунд. Предыдущие определения ограничений и параметров пространства системы оставлены для совместимости внешних модулей!
- TSYS дополнено функцией taskSendSIGALRM() отправки сигнала прерывания "ALARM" задачам OpenSCADA.
- TValFunc: Дополнено состоянием исполнения функции через функцию isCalc().
- Транспорты: Выходные транспорты расширены обозначением Сетевых транспортов, функцией isNetwork(), также в пользовательском API.
Система
- FIX:Сборка:configure.ac: Версию библиотеки ядра увеличено до 3:9:0 и версию программы увеличено до 0.9.3.
- {DAQ,Протокол}.ModBus:
- подтип "_b" — битовый тип, дополнен перемещением номера бита к полю номера регистра вроде "R_b:123.12";
- дополнено флажком "~" для инверсии порядка регистров комплексных подтипов в некоторых регистрах, вроде "_f";
- флажок "rw" разделён на "r" и "w".
- Модульную версию подсистемы "Транспорты" увеличено до 17.
- FIX: Предотвращено аутентификацию в интерфейсе пользователя готовым хешем пароля.
Сбор Данных
- LogicLev,ModBus,Siemens: Дополнено прерыванием продолжительного исполнения шаблонов при исполнении параметра, с использованием новых функций TValFunc::isCalc() и TSYS::taskSendSIGALRM().
- FIX:LogicLev: Удалено блокирование исполнения "calcRes", которое использовано только в блокировании записи в параметр в течении вычисления и что может быть продолжительным.
Архивы-История
- FIX: Полученные текущие значения, в активном режиме архивирования, принудительно установлено в текущее время, что важно для архивирования динамических атрибутов.
- Конфигурационное поле архива значений "Режим формирования ID автоматически создаваемых архивов" расширено элементом выбора "Все ID контроллера, параметра и атрибута", в процессе расширения ограничения на размер ИД архива значений до 50 символов.
- FIX:DBArch: Исправлено только прямое архивирование значений в групповом режиме и когда тип значений может сбрасываться в Целый тип, как типовой. Архивирование значений в групповом режиме дополнено удалением соответствующей колонки таблицы при удалении архива, для горячего удаления колонок сразу после добавления нового архиву, чем предотвращая раннему разростанию таблицы до ограничений БД.
- FIX:FSArch: Адаптация к размеру ИД архива значений больше чем 20 символов, когда дополнительные 14 символов сохраняются в резервной части (переименованной в "archive_add") заголовка и остальное в названии файла.
Транспорты
- FIX: Функция TTransportIn::assTrO() обработки входных инициативных подключений целиком отревизировано чтобы обеспечить обязательным создание новых подключений в виде нового выходного транспорта, чем предотвращая правильному завершению присутствующих закрытых но не освобождённых выходных транспортов.
- Команды транспортов переименовано из "Исполнение" в "Подключение" и статусы переименованы из "Запущено. " в "Получение данных. " и "Подключено. ", из "Остановлено. " в "Отключено. ".
- FIX:{Sockets,SSL}: Типовые таймауты возвращены в "10:1".
Транспортные Протоколы
- HTTP:
- Дополнено динамическим названием печенья (cookies) и Пользовательским пространством ИД, где название печенья "oscd_UID" и использовано Пользовательское пространство ИД при работе с общей таблицей сеансов аутентификации, и название печенья "oscd_UID_{PrjNm}" при работе без этого.
- FIX: POST выходной функции outMess() с множеством частей предотвращён от размещения конечного разделителя и улучшено в формировании "Content-Disposition".
- Улучшено генерацию ИД пользователя генерацией различных ИД для различных процессов, ограниченное в 1e6, и дополнено случайным и конфигурируемым Пользовательским пространством ИД [0...99] * 1e6, использованным в работе с таблицей общих сеансов аутентификации.
- SelfSystem: Специфические таймауты выходного транспорта установлены в "20:2".
- ModBus: Специфические таймауты выходного транспорту установлены в "5:0.1" для Сетевых транспортов — isNetwork() и варианта протокола "RTU".
Интерфейс Пользователя
- FIX: TUIS::docKeyGet() исправлено на предмет утечки пользовательских объектов массивов.
- VCAEngine,WebVision,Vision: Примитив "Media" дополнен типом "Audio" и тип "Полное видео" переименован в "Видео", который также имплементирован в WebVision и Vision.
- QTCfg,Vision: Дополнен функцией подстройки цветов текста к фоновому цвету — colorAdjToBack(), которую использовано в коррекции цветов подсветки синтаксиса, и других динамических цветов, к смене палитры.
- VCAEngine,Vision: Расширено реализацией уведомлений в процессе их внедрения в WebVision, на предмет:
- использования стандартного пути получения уведомлений через активацию соответствующих атрибутов;
- расширение ntfReg() использованием отрицательного типа для обработки всех типов, в основном очистки, и некоторой унификации кода;
- расширение получением типа ресурса;
- дополнение уведомителей флажком "notifyServ" включения уведомления на стороне СВУ-сервера;
- дополнено, на стороне СВУ-сервера, полем "resStatic" прямого определения ресурса (не динамическое);
- дополнение контекста процедуры уведомления двумя переменными "resTp" и "prcID".
- FIX:UI.QTStarter: Дополнено периодическим обновлением диалога запуска в перечне проектов.
- FIX:VCAEngine: Исправлено падение при установке ссылки виджета в "prm". Сервис запроса ресурса "get:/wdg/res", Widget::resourceGet() и {WidgetLib,Project}::mimeDataGet() дополнено запросом частей ресурса, в основном для больших медиа файлов.
- FIX:Vision: Дополнено проигрыванием уведомлений внутренним проигрывателем на Phonon и не в отдельной задаче уведомителя. Вызов saveState() перемещён из деструктора окна разработки в событие закрытия, поскольку была помечена проблема сохранения пустого контекста после проигрывания некоторого медиа.
- FIX:WebVision:
- Имплементация поддержки уведомлений.
- Имплементация загрузки частей ресурсов, для больших медиа, HTTP параметром "Range: bytes=".
- FIX: Исправлено лишнюю очистку кеша страницы на предмет виджетов из страниц с общим названием к странице которая удаляется.
- WebUser: Адаптировано к работе с POST и содержимым в теле.