From OpenSCADAWiki
Jump to: navigation, search
This page is a translated version of the page Documents/Release 0.8.0/Update15 and the translation is 100% complete.

Other languages:
English • ‎mRussian • ‎Українська

Это обновление релиза 0.8 LTS исправляет около 20 ошибок и добавляет некоторые улучшения, которые целиком вы можете почитать в протоколе изменений обновления.

API
!!!!:Изменения:

  • SYS.TModule: Информационные атрибуты вроде m{Name} переименованы в mMod{Name}. Добавлено функцию modInfoMainSet() и использовано во всех модулях для установки основных информационных атрибутов модуля.
  • TProtocolIn, Protocol.UserProtocol, Transport.*, DAQ.{ModBus,OPC_UA}: Установлено сохранение подключенного входного транспорта в протоколе как замкнутого заголовка вместо пути, с целью быстрого доступа, изменено функции API: open(), srcTr(), setSrcTr().

Дополнения:

  • SYS: Добавлено объект ResMtx для объединения всех платформо-специфических реализаций мютекса. Добавлено функцию TSYS::taskUtilizTm() для получения использованного времени указанного задания. TElem: Ресурс элементов mResEl изменено с Res на pthread_mutex_t, и разрешено для публичного доступа. Добавлено реализации Функций конвертации специфического для аппаратной платформы порядка байтов, а именно: i16_LE(), i32_LE(), i64_LE(), i16_BE(), i32_BE(), i64_BE(), floatBE(), floatBErev(), doubleBE(), doubleBErev().
  • DAQ.{LogicLev,ModBus}: Добавлено функции API пользователя, объекта параметра: attrAdd() и attrDel() для свободного управления атрибутами.
  • Transports: Добавлено функцию API пользователя {TrOut}.start() для быстрого контроля состояния выходного транспорта.
  • Protocol.{*,UserProtocol},Transport.{Sockets,SSL}: Добавлено функцию Protocol::waitReqTm() для контроля режима пула входного протокола.

SYS

  • FIX:TVarObj: Предотвращено возможность двойного освобождения объекта. Исправлено EVAL результат функции TVarObj::propGet().
  • Версию библиотеки ядра поднято до 2:3:0. Версию типа подсистем DB, DAQ, Archive, Protocol, Special, Transports, UI поднято до 7.
  • Archive.FSArch,DB.DBF,DAQ.{Comedi,SMH2Gi}: Использование readdir_r() переписано для прямого выделения памяти структуры "dirent" и предупреждения проблем на других ОС, вроде QNX.

Сбор данных

  • FIX:OPC_UA:
    • FIX:libOPC_UA: Все ошибочные пустые строки (-1) заменены на пустой массив (0). FIX: Исправлено зацикливание на пустом перечне сервиса "Read". FIX: Исправлено обработку аутентификации для клиента на предмет сохранения текущего описания конечной точки, с целью дальнейшего получения "policyId" и использования в сервисе аутентификации. К части сервера добавлено новые типовые пространства имен: 2-"http://opcfoundation.org/UA/DI/, 3-"http://PLCopen.org/OpcUa/IEC61131-3/". Добавлено независимый контроль версии libOPC_UA. Добавлено специфичные типы значений OpcUa_IntAuto и OpcUa_UIntAuto для адаптивного выбора типа целого, значительным образом для предоставления целого не исключительно фиксированным int32 (int64). К части клиента, для контроля подключения, добавлено виртуальную функцию connect(), использовано в сервисе "CloseSecureChannel" для закрытия соединения.
    • FIX:Клиент: Исправлено отображение кодов статусов для атрибутов контроллеров. Дополнение информации через: applicationUri(), productUri(), applicationName(). Для пустого "browseName", узлом обзора установлено использование "displayName". Исходные тексты тестового клиента несколько очищены и расширены.
    • Сервер: Пространство имён OpenSCADA DAQ установлено в индекс 4.
  • Siemens: Добавлено и проверено собственную реализацию ISO-TCP, значительным образом благодаря запросу Proviron Holding NV. Добавлено таймаут восстановления. Выполнено значительный пересмотр исходного кода на предмет захвата ресурсов, сообщений про ошибки и другого.

Транспорт

  • FIX:{Sockets,Serial,SSL}: Исправлено захват ресурса исходящего транспорта в messIO(), реально захват не удерживался. Реализовано режим пулинга входного протокола. Добавлено поддержку режима не запроса и все модули адаптированы для этого, путём установки аргумента time в значение меньше нуля у функции {TrOut}.messIO().
  • Serial: Отключение (остановка транспорта) добавлено для выходного порта в случае результата чтения <= 0, что указывает обычно на потерю устройства.

Протокол

  • UserProtocol: Расширено входные запросы попыткой включения, значительным образом для обеспечения использования статических функций в процедурах протокола.

Интерфейс Пользователя

  • FIX:UI.{Vision,WebVision}: Исправлено падение во время загрузки данных тренда в случае отсутствия значений (time = 0).
  • QTCfg: Прогресбар занятости адаптировано на предмет первичной установки диапазона и его обновления на предмет максимума к текущему.
  • Vision: Адаптировано для сборки с libphonon4qt5 и Qt5. Разрешено использование устаревших функций Phonon и Qt5.