From OpenSCADAWiki
Jump to: navigation, search
 
Line 24: Line 24:
 
* Siemens: Додано та перевірено власну імплементацію ISO-TCP, значним чином завдяки запиту Proviron Holding NV. Додано таймаут відновлення. Виконано значний перегляд вихідного коду на предмет захоплення ресурсів, повідомлень про помилки та іншого.
 
* Siemens: Додано та перевірено власну імплементацію ISO-TCP, значним чином завдяки запиту Proviron Holding NV. Додано таймаут відновлення. Виконано значний перегляд вихідного коду на предмет захоплення ресурсів, повідомлень про помилки та іншого.
  
{{CntHdr|Transport}}
+
{{CntHdr|Транспорт}}
* FIX:{Sockets,Serial,SSL}: Resource of output transport lock into messIO() fixed, by no real a lock hold. Polling mode of the input protocol support is implemented. No request mode support is added and all modules adapted to it, in way of time argument less to zero set into the {TrOut}.messIO() function.
+
* FIX:{Sockets,Serial,SSL}: Виправлено захоплення ресурсу вихідного транспорту у messIO(), реально захоплення не утримувалося. Реалізовано режим пулінгу вхідного протоколу. Додано підтримку режиму не запиту та всі модулі адаптовано для цього, шляхом встановлення аргументу time у значення менше нуля у функції {TrOut}.messIO().
* Serial: Disconnect (transport stop) from output port added on read <= 0, which points to the device lost at all.
+
* Serial: Відключення (зупинка транспорту) додано для вихідного порту у випадку результату читання <= 0, що вказує за звичай на втрату пристрою.
  
 
{{CntHdr|Протокол}}
 
{{CntHdr|Протокол}}

Latest revision as of 16:47, 3 May 2021

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.