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

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

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

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

  • TConfig,DB.*: Видалено глобальний прапорець noTransl() як застарілий.
  • Безпека: Для користувачів та їх груп перейменовано функції lName() та descr() у descr() та longDescr(), відповідно до полів БД.
  • TElem: Розширено для створення TFld із прикладу-шаблону наявного TFld але із відмінним ID. Додано TElem::fldClear() для очищення полів.
  • TVarObj: Функції propGet() та propSet() розширено для ієрархічного доступу за шляхом.

Доповнення:

  • TConfig,DB: Для визначення ключа додано та використано функцію isKey().
  • DB: Додано метод TTable::fullDBName().
  • DAQ.JavaLikeCalc: Додано вбудовану функцію користувацького API tr() для запиту до бази перекладів постійних рядків, як термінатор для сумісності із робочою версією.

SYS

  • FIX:TCntrNode::chldPresent() змінено для визначення всіх присутніх вузлів, вимкнених також. Значним чином для гарантованого визначення за назвою.
  • FIX: Забезпечено примусове створення завдань та записів щодо них у випадку помилок на зразок граничного часу запуску. Попередження падінь у деяких випадках.
  • FIX: Вимкнено виключення у випадку встановлення значення атрибуту у режимі NoWrite, просто вихід з функції. Значним чином для виправлення проблем із DAQ.BlockCalc.
  • FIX: Безпека: Розмір пароля розширено на більш ніж 8 символів шляхом переключення до кодування MD5. Збережено зворотну сумісність для попередньо встановлених паролів. Виявлено Василем Григорьєвим.
  • CntrIf,UI.{QTCfg,WebCfgD}: До таблиці додано прапорець "noReload" з метою контролю цілковитого перевантаження вмісту великої таблиці після запиту "SET", також використано у таблиці об'єкту БД.
  • DAQ, DAQ.JavaLikeCalc, UI.{QTCfg,Vision}: Додано атрибут "font" до кореневого вузла правил підсвічення синтаксису з метою визначення типового шрифту конфігурації. Типовий шрифт для JavaLikeCalc процедур встановлено у "Courier".
  • З метою кращого визначення проблем властивостей реального часу до статусу завдання додано значення максимальної затримки виклику та використаного часу.
  • XMLNode::childGet(): додано підтримку негативних індексів з метою відліку від кінця.
  • Використання "LibGD" у OpenSCADA ядрі вимкнено по замовченню та замість використано "SVG".

БД

  • FIX: TBDS::dataDel() виправлено для видалення записів із конфігураційного файлу після таких спроб у БД, значним чином для виправлення видалення однакових записів БД.
  • FIX:SQLite,MySQL,PostgreSQL,FireBird: Виправлено для попередження завантаження перекладу із непорожнього але вимкненого для перекладу поля БД.
  • FIX:FireBird: dataSeek() виправлено поведінку у випадку порожнього SELECT.
  • MySQL,PostgreSQL,FireBird: Для нульової довжини рядка по замовченню використано тип TEXT.

DAQ

  • FIX: Прапорець "prcStRd" у задачі резервування встановлено заздалегідь для попередження помилкового запуску цієї задачі під час підключення до відсутніх віддалених станції та падіння при зупинці.
  • FIX:JavaLikeCalc: До compileFunc() додано захоплення ресурсу на генерацію ID функції за "<auto>" з метою попередження багаторазового підключення до однієї функції.
    • FIX: Додано ранній старт, на час завантаження, для бібліотек функцій. Значним чином для запуску цих функції перед DAQ.BlockCalc.
    • Видалено прапорець Func::SysAttr для IO "f_frq", "f_start", "f_stop", "this" з метою забезпечення їх збереження, через можливість пріоритетного та незалежного запуску.
  • FIX:Siemens: Значним чином переглянуто захоплення ресурсів та додано нове захоплення на глобальний API, з метою попередження падінь під час перепідключень, паралельний доступ та перевизначення індексу підключень.
  • FIX:BlockCalc: Процедуру сортування блоків значним чином переписано з метою виправлення. Попереджено копіювання таблиці з блоками у BLOCK_SH під час копіювання цього об'єкту контролеру.
  • DCON,ModBus: Область дії спроб послідовного інтерфейсу розширено на підключення, через можливість викривлення запиту та відсутності відповіді.
  • LogicLev: Додано підключення до властивості об'єкта за шляхом у зв'язку "{ModType}.{Cntr}.{Prm}.{Attr}#{ObjPath}".
  • FIX:DAQGate: Очищення оброблюваного переліку параметрів пересунуто із фази зупинки до вимкнення. Додано пропуск порожніх параметрів у режимі окремого запиту атрибутів, задля зменшення загального часу запиту.
  • SoundCard: розширено для специфіки X86_64 з короткими викликами framesPerBuffer до функції зворотного виклику.

Archive

  • FIX:FSArch: Виправлено на предмет попередження дублікатів та помилкового підключення архівів для джерел даних які пізно додаються, а також додано обов'язкову перевірку перед доданням нових архівів. Вказівка на область даних для останнього значення індексу попереджено для типу Рядок.

Transport

  • FIX:TTransportIn: Додано ранню зупинку у postDisable() для попередження падіння у деструкторі на звільнених даними об'єкту нащадку.

Protocol

  • FIX:ModBus: Виправлено невідповідність формату діагностики вузла для реальних лічильників.

UI

  • FIX:VCAEngine,Vision: Процедуру опущення змін значним чином виправлено та адаптовано на предмет оновлення батьківського віджету, у відкритому для редагування режимі. Додано підтримку редагування чарунки виду “Таблиця” примітиву "FormEl".
  • QTCfg,Vision: Встановлення курсору очікування виправлено на встановлення та відновлення після інтервалу затримки 50 мс, для попередження миготіння та високого навантаження на деяких оточеннях робочого столу.
  • FIX:WebUser: Попереджено падіння під час опрацювання нових HTTP змінних.
  • FIX:QTCfg: Виправлено політику визначення розміру для значення логічного типу у режимі тільки для читання. Віджет таблиці значним чином розширено на предмет:
    • Включено вертикальний скролінг за пікселами.
    • resizeRowsToContents() розширено на предмет обмеження висоти рядків у 0.9 від загальної висоти таблиці та викликом через натиск мишею у секції заголовку, для переналаштування.
    • Представлення рядка у багатостроковому режимі тексту ItemsDelegate переписано з метою попередження помилкового Qt eliding для строк та іншого.
  • FIX:VCAEngine: Попереджено подвійне встановлення сторінок у обробку та втрату контексту першо-ініціалізації. Попереджено подвійне виконання сторінок для ініціалізації із процедури встановлення у оброку та за каскадом із сторінок верхнього рівня.
    • FIX: Завантаження mime розширено та виправлено для проектів.
    • Уніфіковано доступ до таблиці часу сеансу проекта доданням функцій атрибуту сеансу sessAttr(), sessAttrSet(). Ці функції використано у: примітиві "Документ", стилі сеансу, редагованих ресурсах за допомогою функцій API користувача "mime()" та "mimeSet()", "fromSess" та "toSess" функцій API користувача "attr()" та "attrSet()". Сервіс "/serv/attrSess/" додано для доступу до атрибутів сеансів.
    • Додано підтримку наслідування для власника та дозволів віджету.
    • Автоматичне створення сеансу під час включення модуля оновлене.
    • Додано доступ до атрибутів DAQ об'єктного типу за шляхом у зв'язках типу "/DAQ/{Cntr}/{Prm}/{Attr}#/{oAttr1}/{oAttr2}".
  • FIX:Vision: Встановлено проксі фокуса для редагованого контейнеру віджету на цей віджет, у режимі розробки, щоб забезпечити єдність джерела фокусу та втрату обрання вкладених віджетів у загальних випадках.
    • FIX: Виправлено примітив "Діаграма" на предмет актуального встановлення курсора та значень параметрів під ним у випадку значної різниці між хостом сеансу сервера та хостом візуалізатора цього сеансу, на предмет відставання позиції курсору на один період.
    • FIX: Віджет LineEdit дещо виправлено на предмет застосування реального розміру кнопки шляхом отримання реального та попередження цим плину розміру вікна через невідповідність.
    • FIX: Попереджено втрату рисок у вигляді “Слайдер” та дефекти схожих виглядів примітиву “FormEl” після натиску у контейнері цього елементу шляхом глобального опрацювання повідомлень QEvent::MouseButtonPress та QEvent::MouseButtonRelease.
    • FIX: Виправлено оновлення змін після їх прийняття у груповому режимі менеджеру атрибутів віджета шляхом оновлення відмінних атрибутів віджету у групі а також у першому віджеті групи.
    • Кеш ресурсів значним чином поліпшено за для прискорення доступу та оновлення.
    • Додано контроль та збереження позиції вікон режиму виконання за допомогою включення опції "winPosCntrSave" та використання нового сервісу "/serv/attrSess/". Номер екрану розширено не тільки для пов'язання із різними фізичними дисплеями а й для незалежного контролю та збереження позиції.
    • Для автоматичного запуску додано можливість зазначення сеансу у параметрі “Перелік проектів для пуску”, значним чином для підключення до вже запущених або фонових сеансів.
    • Додано час контролю відновлення підключення для попередження блокування віддалених підключень до серверу візуалізації та оновлення екрану.
  • WebVision: Корекція прокручування для різних варіантів включень у контейнер. Кеш зображень значним чином розширено очисткою схожою на UI.Vision.
  • WebCfgD: Розширено спробою завантаження файлів WebCfgDVCA.html та WebCfgDVCA.js із робочої теки. JavaScript код значним чином очищено та Таблицю розширено спрощенням контролю та виходу із режиму редагування чарунок.

Special

  • FIX:FLibSYS: Виправлено та розширено функцію strDec4Bin() аргументом роздільника зі значенням по замовченню " ", із метою відновлення зворотної сумісності.