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

Other languages:
English • ‎российский • ‎українська

Це оновлення релізу 0.8 LTS виправляє біля 50 помилок та додає деякі удосконалення, які цілком ви можете почитати у протоколі змін оновлення.

API
!!!!:Зміни:

  • Archive: Додано результат функції TMArchivator::put() для контролю завершення запису.
  • SYS.Mess,Archive.DBArch: Тип рівня повідомлення у структурі TMess::SRec змінено з типу "Type" у int8_t для виправлення негативного рівня у DB.MySQL.
  • SYS.XMLNode: У функції load() аргумент "full" замінено на "flg" з прапорцями: 0x01 - повний режим; 0x02 - не видаляти простори з початку та кінця тексту тега.
  • Transport: Покращено конфігурацію зовнішніх хостів через обрання режимів "Користув.", "Системний", "Кормитув. та Системний" у загальній таблиці. Видалено функції: sysHost(), setSysHost(). Змінено функції: extHostList(), extHostGet(), extHostSet(), extHostDel().
  • DAQ: API функцій "void vlSet();" розширено для визначення нового значення прямо і попередження його втрати.

Доповнення:

  • SYS: Додано нові об'єкти блокування ресурсів MtxAlloc та MtxString.
  • До ResAlloc додано lock() та unlock().
  • TCntrNode: Додано базову функцію _ctrMkNode() та специфічну для встановлення аргументів ctrMkNode2() до оригінальної ctrChkNode().
  • "TSYS::i{bits}_LE()", "TSYS::i{bits}_BE()", "floatBE{rev}()", "doubleBErev()" функції додано для опрацювання розташування байт.
  • Додано нові глобальні функції до OSCADA простору імен: tm2s(), s2i() та s2r().
  • TArrayObj: Додано нові функції прямого доступу arGet() та arSet(), для швидкого доступу із середини.
  • XMLNodeObj: Додано нову функцію "childGet(string name, int num = 0)".
  • Transport,Transport.*: До вихідного транспорту додано функції timings() та setTimings().

DB

  • AGLKS.St.db: KeepAlive таймаут вхідного транспорту OPC_UA встановлено у 60, Клієнтські та Серверні сертифікати згенеровано із врахуванням всіх вимог та адресу встановлено у 127.0.0.1.

SYS

  • адаптовано для опрацювання *.core файлів.
  • TConfig,TValue,UI.{VCAEngine,Vision}: Додано підтримку редагованого переліку у конфігураційних полях та DAQ атрибутах за посередництвом TFld::SelEdit.
  • Надано функції API користувача gmtime(), timegm(), strftimegm(), strptimegm() для опрацювання часу у GMT(UTC).
  • DB,TVariant,DAQ.JavaLikeCalc,Special.FLibSYS: Встановлено прямий доступ до об'єкту простору імен TArrayObj, із середини.

БД

  • FIX:DB.{SQLite,MySQL,PostgreSQL,FireBird}: Виправлено перевірку на відсутність ключа у БД для fieldSeek() та fieldSet().
  • DB.{SQLite,FireBird,PostgreSQL,MySQL}: Змінено механізм відновлення підключення для мережевих БД на увімкнення вимкнених БД із toEnable() у циклі перевірки транзакцій.
    • Проведено комплексні тести на відновлення втрачених підключень та загальний тест БД модуля Special.SystemTests.
    • MTable::fieldDel() адаптовано для видалення записів з ключами реально відсутніми у таблиці БД.
    • MySQL: Додано підтримку та використання транзакцій для підвищення продуктивності деяких сховищ БД.

DAQ

  • BlockCalc: Додано опційний запис при зміні значення за вихідними зв'язками блоків. Розмір поля "VAL" для таблиці IO блоків збільшено із 20 до 10000 та "LNK" із 50 до 100.
  • JavaLikeCalc.Array: Встановлено прямий доступ до властивостей об'єкта для підвищення продуктивності. FIX: Виправлено вставлення елементу об'єкта до масиву під час створення як "new Array(0, 1, 2, ar[0])".
  • FIX:LogicLev: Тип "Відображення" виправлено та розширено для підключень до цільового параметру, оновлення та синхронізації переліку атрибутів у періоді обчислення.
  • ModBus: Прибрано спробу підключення із функції start() об'єкту контролера.
  • OPC_UA.{*,LibOPC_UA}: LGPL COPYING фйл додано до цієї бібліотеки.
    • FIX: libOPC_UA виправлено у відповіді клієнтському сервісу "Write" і ще з десяток критичних виправлень.
    • OPC_UA простори імен уніфіковано, а також NS_OPC_UA(0), NS_SERVER(1) та OpenSCADA_DAQ_NS(2) додано.
    • Додано опрацювання часу життя сеансу.
    • Ріст SubscriptionId та MonitoredItemId розпочато із '1', для виключення некоректного значення '0'.
    • Додано визначення даних користувача та пароля у клієнтській частині програми та у тесті. Додано визначення політики у тестовій програмі.
    • До об'єкту параметра клієнта додано огляд вузлів у одному рядку для вставлення у перелік опрацювання.
  • FIX:System: Додано новий DA-тип "UPS", за посередництвом NUT-протоколу. Виправлено перевірку DA та їх створення за загальними параметрами, не за ідентифікатором параметру.
  • BFN,DAQGate,ModBus,OPC_UA: Формування порушень стану підключення до віддаленого джерела уніфіковано.

Архів

  • TMArchivator: Переписано архівацію повідомлень для перенадсилання повідомлень у буфері після відновлення підключення.
  • FIX:Archive.*,Special.FLibSYS: Попереджено встановлення негативного значення періоду у буфері. TValBuf::vOK() розширено для перевірки вирівняного до періодичності буферу. setVals() адаптовано для запису невирівняного до границі [beg:end] шляхом округлення до періоду.
  • *,DBArch: До TVArchEl::setValsProc() додано результат з метою контролю запису частини буферу до архіву, використано для перезапису до мережевої БД за посередництвом DBArch. Дозволено запуск архіваторів Значень та Повідомлень у випадку помилок у БД, передбачаючи відновлення підключення.
  • *,UI.{Vision,WebVision}: Сервіс "/serv/val" адаптовано для повернення EVAL_STR як EVAL для всіх режимів подання даних.

Transport

  • {SSL,Sockets}: KeepAlive параметри вхідного транспорту уніфіковано та додано описи. Типове значення KeepAliveTm встановлено у 60 для попередження зависання вхідного транспорту.

UI

  • QTCfg: Перевірка та зміна поточної сторінки на її перейменування. Механізм підлаштування рядків та стовпчиків таблиці встановлено схожим на вигляд "Table" примітиву FormEl для UI.Vision. Додано підтримку встановлення значення записів у групу-обрання сторінок.
  • Vision:
    • FIX: Примітив "Текст" виправлено на предмет оновлення розміру шрифту під час зміни масштабу.
    • Для захоплення об'єкту сеансу додано простий ресурс dataM (pthread_mutexattr_t) та використано для mOpen, mStProp.
    • FIX: Сервіс <openlist path="/serv/pg"> виправлено на помилки відсутності віджетів сторінки та спробу перестворення сеансу.
    • Для сторінок включених у контейнер встановлено прозору палітру фону.
  • UI.{QTStarter,QTCfg,Vision}: Адаптовано для Qt5, виключаючи Phonon.
  • VCAEngine,Vision,WebVision: Примітиви "Текст", "Протокол", "Документ", "Діаграма" переведено до індексів з types.h.
  • VCAEngine,Vision: Додано новий вигляд "Таблиця" примітиву "FormEl".
  • Vision,WebVision: Час слідкування для примітиву "Діаграма" та "Протокол" встановлено у час реально наявних даних.

Special

  • FLibSYS: Додано уніфіковану функцію обчислення CRC().