Пятнадцатое обновление OpenSCADA 0.8 LTS

Представлено пятнадцатое обновление системы диспетчерского управления и сбора данных OpenSCADA 0.8, предназначенной для сбора, архивирования, визуализации информации, выдачи управляющих воздействий, а также выполнения других операций, характерных для полнофункциональной SCADA-системы.

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

0_1452804661.png

Основные изменения:

  • API:
    • SYS.TModule: Информационные атрибуты m{Name} переименованы в mMod{Name}. Добавлена функция modInfoMainSet (), которая использована во всех модулях для установки основных информационных атрибутов модуля.
    • TProtocolIn, Protocol.UserProtocol, Transport.*, DAQ.{ModBus, OPC_UA}: Установлено сохранение подключенного входного транспорта в протоколе как замкнутого заголовка вместо пути. C целью быстрого доступа, изменены функции 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:
    • Версия библиотеки ядра поднята до 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» для закрытия соединения.
    • Сервер: Пространство имён 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.

© OpenNet