From OpenSCADAWiki
< Documents | Release 0.8.0
Це оновлення релізу 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() аргументом роздільника зі значенням по замовченню " ", із метою відновлення зворотної сумісності.