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 • ‎российский • ‎українська

Це оновлення релізу 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.