From OpenSCADAWiki
Jump to: navigation, search
Other languages:
English • ‎mRussian • ‎Українська
  • Стан: тестування та після-складання ...

Загальний процес випуску користувачам для оцінки ваших очікувань та розробникам для нагадування завдань:
1. Тиждень приготування та складання:

  • Складання останньої Робочої (Work) SVN-ревізії для всіх оточень нерегулярного складання щоб забезпечити ранне та широке тестування прийдешнього LTS релізу.
  • Анонс початку процесу випуску:
  • Злиття змін Робочої (Work) версії або копіювання цілком дерева Робочої гілки до LTS гілки-дерева.
  • Внесення деяких змін, специфічних до LTS, стосовно підняття версії:
    • оновлення configure.ac щодо версії випуску-оновлення та бібліотеки ядра;
    • оновлення data/*.spec та data/{debian,debian_mod}/changelog стосовно нового номеру версії та доповнення протоколу змін файлів новими записами випуску-оновлення.
  • Формування-доповнення ПротоколуЗмін LTS змінами з ПротоколуЗмін Work, групуючи зміни за розташуванням та сортуючи їх за станом виправлення та рівнем, із комбінування нових можливостей у одному елементі та без видалення будь-яких відмінних змін.
  • Копіювання значних змін із сформованого ПротоколуЗмін LTS до відповідної сторінки релізу-оновлення, беручи зміни за рівнем більш або рівні "!!".
  • Переклад сторінки(ок) релізу-оновлення, оновлення "Завдання (ToDo)" та "Дорожньої карти (RoadMap)".
  • Генерація актуальної позамережевої документації, використовуючи сервісну процедуру "EXT: Off-line documentation".
  • Застосування-вивантаження змін LTS дерева до репозиторію та складання цього.

2. Тиждень(і) тестування та після-складання:

  • Оновлення сторінки Завантаження.
  • Анонсування релізу-оновлення, також на FaceBook і LinkedIn.
  • Гаряче тестування збірок релізу.
  • Завершення та виправлення перекладу ПротоколуЗмін та документації.
  • Генерація актуальної позамережевої документації використовуючи сервісну процедуру "EXT: Off-line documentation".
  • Застосування-вивантаження виправлень релізу до репозиторію та складання цього щодо другої збірки, і для кожного тижня виправлення критичних помилок — перший тиждень без критичних виправлень означатиме завершення випуску LTS, тож, КОРИСТУВАЧІ — тестуйте ретельно LTS реліз щоб потім не скаржитись на його кінцеву збірку!
  • Оновлення бінарних копій стандартних бібліотек OpenSCADA: OscadaLibs.db, VcaBase.db, VcaElectroEls.db.

Це оновлення релізу 0.9 LTS виправляє біля 70 помилок та додає БАГАТО удосконалень із декількома значними-концептуальними, з якими цілком можна ознайомитися у протоколі змін оновлення.

Linux Дистрибутив Автоматизації проєкту OpenSCADA

  • оновлення TDE до 14.0.13;
  • виправлення noatun, TDESVN, basket, KGpg, відтак доповнення колекції дистрибутиву новими латаними пакетами "tdesvn-trinity" та "basket-trinity";
  • деяке вдосконалення та оновлення Апаратного Менеджеру TDE, KCalc, holiday_ua;
  • завершення перекладу Українською для KDiff3 та showfoto;
  • переклад сторінки підпроєкту Українською.

Основні WWW-ресурси, документація проєкту та підпроєктів

Нові та значно оновлені частини

  • Ядро OpenSCADA: 3:12:0 => 3:13:0
(Оптимізація продуктивності інтерфейсу СВУ, Уніфікація асоційованих вихідних транспортів із вхідним ТА загального підключення вихідного транспорту, Переклад Повідомлень — виправлення концептуальних змін попереднього оновлення)
  • Підсистеми "Транспорти" OpenSCADA: 18 => 19
(Уніфікація асоційованих вихідних транспортів із вхідним ТА загального підключення вихідного транспорту)
  • DAQ.DAQGate: 2.9 => 2.11
  • DAQ.JavaLikeCalc: 5.4 => 5.5
  • DAQ.LogicLev: 2.6 => 2.7
  • {DAQ,Protocol}.ModBus: 3.4 => 3.6, 2.9 => 2.10
  • Archive.FSArch: 3.7 => 3.8
  • Transport.Sockets: 4.3 => 4.5
(Уніфікація асоційованих вихідних транспортів із вхідним ТА загального підключення вихідного транспорту)
  • UI.QTStarter: 5.12 => 5.14
  • UI.QTCfg: 5.9 => 5.12
  • UI.VCAEngine: 7.8 => 7.11
(Оптимізація продуктивності інтерфейсу СВУ)
  • UI.Vision: 8.0 => 8.6
  • UI.WebCfgD: 2.3 => 2.4
  • UI.WebVision: 6.6 => 6.8
  • LibsDB.OscadaLibs.LowDevLib: 1.4 => 1.5
    • mbBase: 1.0 => 1.2
  • LibsDB.OscadaLibs.base.initConAssociateTrs: 1.1 => 1.2
  • LibsDB.vcaBase.Main
    • RootPgSo: 2.5 => 2.6
    • storeHouse: 1.1 => 1.3
    • {grpGraph,grpGraph10}: 1.4 => 1.5
    • grpCadr: 1.2 => 1.3
    • ElCadr: 1.2 => 1.4
    • ElViewGraph: 1.3 => 1.4
    • ResultGraphEl: 1.1 => 1.2
    • anShow: 1.2 => 1.3
    • anShow1: 1.3 => 1.4
    • TextLab: 1.1 => 1.2
    • ImgLab: 1.1 => 1.2
  • LibsDB.vcaBase.mnEls
    • El_Kran_Sh: 1.1 => 1.2
    • Compressor: 1.1 => 1.2
    • El_Kran_polozh: 1.0 => 1.1
  • LibsDB.vcaBase.doc
    • docAlarmsRep: 1.6 => 1.7
    • docRepDay: 3.1 => 3.2
    • docRepMonth: 3.1 => 3.2
    • docRepYear: 1.2 => 1.3
    • docUsersSet: 1.7 => 1.8
    • docDin: 1.2 => 1.3

КОНЦЕПТУАЛЬНЕ > Оптимізація продуктивності інтерфейсу СВУ

  • FXI:UI.VCAEngine:
    • Адаптовано до опрацювання у дуже великих періодичностях та цілковитого вимкнення періодичного опрацювання:
      • виправлено отримання періоду із власника віджету сеансу;
      • доповнено встановленням періоду на стороні сеансу, функцією Користувацького API calcPer() віджету сеансу, розширено визначенням спеціальних значень періоду: PerVal_Sess(0), PerVal_Parent(-1), PerVal_UserMin(PerVal_Dis(-2)), PerVal_SessDef(-3);
      • "Період обчислення" перейменовано у "Періодичне опрацювання" та його визначено як загальний параметр, тобто перенесено до вкладки загальної конфігурації та додано до віджетів сторінок проєкту та дочірніх віджетів бібліотечного віджету;
      • об'єкт сеансу доповнено функцією Користувацького API period(), що повертає період сеансу;
      • період сеансу очищено у статусі віджету сеансу.
    • Зміна атрибуту "alarmSt" доповнена новою супровідною подією "ws_alarmChange".
  • UI.Vision: Адаптовано до перейменування "Період обчислення" у "Періодичне опрацювання" та перенесення до вкладки головної конфігурації. Попереднє поле у вкладці "Опрацювання" встановлено приховуваним за відсутності у моделі СВУ.
  • LibsDB.vcaBase,ModelsDB.{AGLKS.vca,Boiler.St}: Проєкти СВУ встановлено у період обчислення 250 мс. Обчислення групи контролю СВУ проєктів встановлено у 1000 мс.
  • LibsDB.vcaBase:
    • wlb_Main.RootPgSo: Адаптовано до функціювання у дуже великій періодичності та вимкнення періодичного опрацювання взагалі:
      • доповнено продовженням негайних циклів до відкриття сторінки контейнеру при запуску та після навігації, використовуючи нову подію "usr_calc";
      • доповнено перемиканням на швидкий цикл за миготіння порушення, використовуючи нову функцію calcPer();
      • переключено на період опрацювання 1000 мс.
    • wlb_Main.ElCadr: Адаптовано до функціювання у дуже великій періодичності та вимкнення періодичного опрацювання взагалі:
      • доповнено продовженням негайних циклів використовуючи нову подію "usr_calc";
      • доповнено перемиканням на швидкий цикл за миготіння порушення, використовуючи нову функцію calcPer();
      • переключено на період опрацювання -1 (предок).
    • wlb_Main.{grpGraph,grpGraph10}: Адаптовано до функціювання у дуже великій періодичності та вимкнення періодичного опрацювання взагалі:
      • доповнено продовженням негайних циклів використовуючи нову подію "usr_calc";
      • переключено на період опрацювання -1 (предок);
      • період стеження примітиву Діаграма також прив'язано до періоду Віджету.
    • wlb_Main.ElViewCadr: Адаптовано до функціювання у дуже великій періодичності та вимкнення періодичного опрацювання взагалі:
      • доповнено перемиканням на швидкий цикл за миготіння курсору, використовуючи нову функцію calcPer();
      • переключено на період опрацювання -1 (предок);
      • tracing period of the Diagram primitive linked also to the Widget period.
    • wlb_Main.storeHouse: Адаптовано до функціювання у дуже великій періодичності та вимкнення періодичного опрацювання взагалі:
      • переключено на період опрацювання -2 (disabled);
      • доповнено продовженням негайних циклів використовуючи нову подію "usr_calc".
    • wlb_Main.ElViewGraph: Адаптовано до функціювання у дуже великій періодичності:
      • доповнено продовженням негайних циклів під час очікування появи значень, використовуючи нову подію "usr_calc";
      • доповнено перемиканням на швидкий цикл за миготіння курсору, використовуючи нову функцію calcPer();
      • обчислення встановлено у 2000 мс через необхідність оновлення цього за зміни курсору тренду.
    • wlb_Main.grph_panel: Доповнено збереженням періоду стеження пов'язаного примітиву Діаграма. Переключено на період опрацювання -1 (предок).
    • wlb_Main.{grpCadr,ResultGraphEl}: Адаптовано до функціювання у дуже великій періодичності та вимкнення періодичного опрацювання взагалі:
      • переключено на період опрацювання -1 (предок);
      • період стеження примітиву Діаграма також прив'язано до періоду Віджету.
    • wlb_Main.{TextLab,ImgLab},wlb_mnEls.{El_Kran_polozh,El_Kran_Sh,Compressor}: Адаптовано до функціювання у дуже великій періодичності та вимкнення періодичного опрацювання взагалі:
      • доповнено перемиканням на швидкий цикл за миготіння курсору, використовуючи нову функцію calcPer();
      • переключено на період опрацювання -1 (предок).
    • wlb_Main.{anShow,anShow1}: переключено на період опрацювання -1 (предок) та доповнено перемикання на швидкий цикл (500 мс) за фокусом та миготінням порушення.
    • wlb_doc.{docRepDay,docRepMonth}, wlb_Main.{graphSelPrm,doc_panel,accept,treeSelect,cntrPaspExt}, wlb_Main.{ViewCadr,ResultGraph}: Переключено на період опрацювання -1 (предок).
    • wlb_doc.{docDin,docAlarmsRep}: Переключено на період опрацювання -2 (вимкнено).
    • wlb_doc.docRepMonth: Виключено виконання при зупинці.
    • wlb_doc.docRepYear: Доповнено одним негайним циклом після f_start, використовуючи нову подію "usr_calc". Вимкнено періодичне опрацювання.
    • wlb_Main.userManager: Вимкнено періодичне опрацювання.

КОНЦЕПТУАЛЬНЕ > Уніфікація асоційованих вихідних транспортів із вхідним ТА загального підключення вихідного транспорту

  • FIX: Уніфікація опрацювання асоційованих вихідних транспортів вхідного транспорту Sockets щодо:
    • Transport:
      • перейменування функції TTransportIn::assTrO() у TTransportIn::associateTrO() та розширення створенням нових транспортів на початку і подальшим видаленням зупинених, та щойно створені транспорти доповнено читанням ІД ініціювального підключення із реєстрацією у параметрі підключення "initConID";
      • нової функції TTransportIn::associateTr() та її варіанту Користувацького API SYS.Transport["Modul"]["in_Transp"].associateTr() із отримання об'єкту вихідного транспорту за його ІД Підключення;
      • доповнення асоційованих вихідних транспортів із вхідного видаленням за неактивності від TTransportIn::keepAliveTm();
      • нової функції Користувацького API SYS.Transport["Modul"]["in_Transp"].associateTrsList() як коректного варіанту назви до assTrsList();
      • доповнення об'єкту вихідного транспорту функціями Користувацького API conPrm() та setConPrm() із доступу до параметрів підключення;
      • зміни шаблону назви у "inA_ID_N" для асоційованих вихідних транспортів до вхідного;
      • FIX:Sockets: Вхідні транспорти виключено від зайвого закриття сокетів у ініціативному режимі. Перевірка обмеження нових ініціативних підключень переміщено до ділянки загальної перевірки обмежень.
    • LibsDB.OscadaLibs: tmplib_base.initConsAssignTrs: Перейменовано у initConAssociateTrs та адаптовано до використання функції conPrm("initConID") і associateTrsList().
  • Загальне підключення вихідного транспорту:
    • Transport:
      • нової функції TTransportS::outAt() та її варіанту Користувацького API SYS.Transport.outAt() із загального отримання вихідного транспорту з уніфікованої адреси;
      • переведення TTransportS::extHost() на використання TTransportS::outAt();
    • Transport,UI.{QTCfg,WebCfgD}: Поле "Транспорт" таблиці зовнішніх хостів розширено визначенням адреси транспорту в уніфікованій-загальній формі та розширено специфічним до елементу вибором із підтримкою такої поведінки у загальних конфігураторах.
    • DAQ.ModBus: Перший, кого переведено на використання уніфікованого підключення до вихідного транспорту.
    • LibsDB.OscadaLibs: tmplib_DevLib.mbBase: Переключено на використання TTransportS::outAt().

КОНЦЕПТУАЛЬНЕ > Переклад Повідомлень (виправлення концептуальних змін попереднього оновлення)

  • FIX:SYS:
    • FIX: Попереджено розповсюдженню стовпця базової мови таблиці перекладів "Tr" у режимі перекладу ОДИНИЧНИЙ та базовій мові.
    • FIX: EVal значення рядка "<EVAL>" додано до неперекладуваних для запобігання його перекладу у VCAEngine для NULL значень БД.
    • FIX: Менеджер перекладу попереджено взагалі щодо зміни маркованої бази у читабельну форму, оскільки воно використовується як ключ.
    • TFunction::operator=() завершено адаптацію до перекладу назв ВВ.
    • Запис до конфігурації у XML попереджено щодо дублювання поля перекладу для конфігураційних контекстів.
  • FIX:БД:
    • FIX: Попереджено розповсюдженню стовпця базової мови у режимі перекладу ОДИНИЧНИЙ для вже перекладуваних БД, шляхом додання відмінного виявлення перекладуваних загалом БД та наявності стовпця перекладу.
    • FIX: Виправлено помилку синтаксису БД при очищені полів перекладу рівних базі.
    • FIX: Виправлено запис неперекладуваних рядків, очищенням всіх перекладів та запису у базу.
    • FIX: Попередження перериванню сервісу БД за наявності помилкової БД, закриттям транзакції.
    • FIX: Встановлення перекладу попереджено щодо встановлення дублювальних повідомлень до базових повідомлень; що завершує неперекладання "<EVAL>".
    • FIX: Відсутність прапорця TFld::TransltText визначається як цілковита відсутність перекладу цього поля.
  • FIX:DAQ::ParamTmpl:
    • FIX: Виправлено щодо редагування назви ВВ у небазовому режимі динамічного перекладу.
    • FIX: Виправлено опрацювання прапорця IO::TransltText для рядків.
    • FIX: Сервісний запит "list:/DAQ/{MOD}/{CNTR}/prm_{PRM}[/prm_{PRM}]/%2fserv%2fattr" виправлено у перекладі назви атрибуту.
  • FIX:Транспорти,UI.{QTCfg,Vision,WebCfgD}: Функцію TTransportS::extHostList() доповнено аргументом "lang" для отримання перекладеними назв віддалених хостів.
  • FIX:Protocol.ModBus: Виправлено-адаптовано у динамічному перекладі назв ВВ.

OpenSCADA бібліотеки та проєкти

  • FIX:LibsDB.OscadaLibs:
    • Бібліотеку tmplib_LowDevLib доповнено шаблоном "BT: RDTech UM24C, UM25C та UM34C (RDTech)".
    • Бібліотеку tmplib_DevLib доповнено шаблоном "Прилади ТОВ СЛОТ (SLOT)".
  • FIX:LibsDB.vcaBase:
    • wlb_Main.storeHouse: Значним чином розширено: реалізацією підтримки процедур для логічних стовпчиків; реалізацією звітності всієї видимої таблиці та обраного запису.
    • FIX:wlb_doc.docRepDay: Дещо вдосконалено та доповнено щодо: групування стовпців у заголовку, прямого читання значень рядків, вимкнення кольорів у таблиці за EVAL шкали.
    • wlb_doc.docUsersSet: Додано конфігурацію "Категорії повідомлень (messCat)".

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

  • SYS:
    • Функції TSYS::id(), TSYS::name() і TSYS::user() встановлено постійними.
    • Визначення SEC_XT, SEC_WR, SEC_RD перенесено із файлу tsecurity.h до tcntrnode.h та також там використано.
    • ctrChkNode() очищено щодо аргументу "warn" через застарілість атрибуту "force".
    • Запит Інтерфейсу Управління "chlds:/{nPath}/%2fobj" доповнено не створенням порожніх тегів піктограм "ico".
    • NSTR_BUF_LEN(50) виокремлено у CFG_A_LEN (100) для використання у якості максимуму розміру атрибуту конфігураційної клітинки у XML.
    • Аргумент "init" видалено із setIcoDir(), setDocDir(), setLang() із перенесенням під загальний механізм очищення.
    • Доповнення перелічення MdfSYSFlds полями: MDF_Name, MDF_MESS, MDF_TR, MDF_DBG, MDF_RD.
  • БД: Запит Інтерфейсу Управління "call:/BD/{MOD}/{DB}/%2fserv%2fSQL" доповнено опрацюванням атрибуту "intoTrans" як EVAL за відсутності та очищенням тексту запиту у відповіді.
  • DAQ::Value: Сервісний запит "get:/serv/attr" Інтерфейсу Управління попереджено від очищення підтегів "el" за відсутності репрезентативного атрибуту, їх значення встановлюється у EVAL для коректного позначення опрацьованими у DAQ.DAQGate та не продовжувати їх запит у кожному циклі.
  • Архіви-Історія: Тип зв'язку архіву значень "Пасивний атрибут параметру (TVArchive::PassiveAttr)" перейменовано у "DAQ атрибут (TVArchive::DAQAttr)". Тип зв'язку архіву значень "Активний атрибут параметру" перейменовано у "Активний DAQ атрибут" із позначкою ЗАСТАРІЛЕ.
  • Транспорти: Функцію TTransportIn::assTrO() перейменовано у TTransportIn::associateTrO(). Віртуальну функцію ознаки The TTransportOut::isNetwork() перенесено до об'єкту TTypeTransport зі зв'язуванням старої на нову, для позначення усього модуля як мережа.
  • UI.VCAEngine: Запит Інтерфейсу Управління "get:/UI/VCAEngine/%2fserv%2fwlbBr" доповнено не створенням тегів порожніх піктограм "ico".

Доповнення:

  • SYS:
    • Нова функція TSYS::ico() отримання піктограми.
    • Назви стандартних дозволів доповнено _W_W_W(0222).
    • TRegExp:
      • Доповнено новим параметром 'U' (нежадібне) із перемикання режиму жадібності, разом із методом Користувацького API "ungreedy".
      • Доповнено функцією mode(), аргументом "mode" у setPattern() і переліченням "Mode" із елементами: MD_8, MD_16, MD_32, MD_WCHAR, MD_SAVE.
      • Функцію search() об'єкту доповнено аргументом "length" із повернення розміру виміряного блоку.
    • XMLNode: Прапорці завантаження доповнено елементом відсутності прапорця LD_NO.
    • TMess: Доповнено загальною міткою labStdOutTrs() до формату адреси функції уніфікованого вихідного транспорту.
  • DAQ:
    • Функцію зв'язування елементів DAQ розширено визначенням базового вузла у атрибуті "ndBase", щодо: ctrListPrmAttr(), daqAt(), prmAt(), attrAt().
    • Об'єкт TPrmTempl::Impl доповнено новою функцією archAttrs() із оновлення-архівування атрибутів ЛогічногоРівня.
  • Архіви-Історія: Об'єкт архіву значень TVArchive доповнено декларацією перелічення ServReqDtMode для Інтерфейсу Управління "get:/Archive/va_{ARCH}/%2fserv%2fval".
  • Транспорти:
    • Нова функція TTransportIn::associateTr() та її варіант Користувацького API SYS.Transport["Modul"]["in_Transp"].associateTr().
    • Нова функція TTransportS::outAt() та її варіант Користувацького API SYS.Transport.outAt().
    • Нова функція Користувацького API SYS.Transport["Modul"]["in_Transp"].associateTrsList() як варіант коректної назви до assTrsList().
    • Об'єкт вихідного транспорту доповнено функціями Користувацького API conPrm() і setConPrm() доступу параметрів підключення.
    • Функцію TTransportS::extHostList() доповнено аргументом "lang" для отримання перекладеними назв віддалених хостів.
    • Префікси "in_" і "out_" винесено у визначення STR_IN_PREF і STR_OUT_PREF відповідно.
    • Об'єкт TTransportS object доповнено переліченням LogType із елементами: LTP_BinaryText, LTP_Binary, LTP_Text.
  • UI.VCAEngine:
    • Доповнено встановленням періоду на стороні сеансу, функцією Користувацького API calcPer() віджету сеансу, розширено визначенням спеціальних значень періоду: PerVal_Sess(0), PerVal_Parent(-1), PerVal_UserMin(PerVal_Dis(-2)), PerVal_SessDef(-3);
    • Об'єкт сеансу доповнено функцією Користувацького API period(), що повертає період сеансу.
    • Зміна атрибуту "alarmSt" доповнена новою супровідною подією "ws_alarmChange".

Система

  • FIX:Складання: configure.ac: Версію бібліотеки ядра збільшено до 3:13:0 та версію програми збільшено до 0.9.6. Модульну версію підсистеми "Транспорти" збільшено до 19.
  • *: Більшість close(), iconv_close(), dlclose(), pclose() функцій доповнено перевіркою результату та попередженням про проблеми.
  • .,DAQ.JavaLikeCalc: Додано отримання допомоги від другого рядка у Інтерфейсі Управління для: опису полів елементів (TFld) із DAQ-значеннями; назв ВВ функцій (TFunction) із побудовувачем зв'язків та атрибутів Логічного Рівня DAQ.
  • FIX: Переписано функцію TCntrNode::nodeAt() для запобігання виклику віртуальної chldAt() під блокуванням mChM, чим попереджаючи деяким мертвим блокування у віртуальних визначеннях chldAt().
  • Переглянуто усі шаблони у теках =Tmpl=.
  • FIX: Вкладку "Станція", головної сторінки Інтерфейсу Управління OpenSCADA, доповнено інформацією системного часу та загалом реструктуровано.
  • FIX:data/openscada-proj.in:
    • Розширено новою змінною оточення OSCD_TAR_Args із визначення додаткових аргументів tar на кшталт --exclude та її типово встановлено у значення "--exclude=lock --exclude=ARCHIVES".
    • FIX: Виправлено опис та використання змінних оточень OSCD_TAR_ComprPrg і OSCD_BackLim.
  • У процесі уніфікації отримання загальної піктограми проєкту за назвою та ІД здійснено:
    • для отримання піктограми також використано Назву Базовою Мовою, тож наразі перевіряється: Перекладена Назва, Назва Базовою Мовою, ІД;
    • механізм отримання піктограми переведено на нову окрему функцію TSYS::ico().
  • TRegExp: Доповнено підтримкою режимів 16 і 32 від бібліотек pcre16 і pcre32 відповідно та наразі лише для функції search().

Збір Даних

  • Зв'язування Логічного Рівня доповнено формою представлення адреси через шлях із префіксом "prm:/node/node", тож підтримкою відносної адресації за "." і "..":
    • функції зв'язування DAQ елементу розширено визначенням базового вузла у атрибуті "ndBase", для: ctrListPrmAttr(), daqAt(), prmAt(), attrAt();
    • об'єкт TPrmTempl::Impl із реалізації DAQ-шаблону Логічного Рівня розширено підтримкою нового зв'язування.
  • FIX: Встановлення зв'язків Логічного Рівня попереджено щодо очищення усього рядка після пробілу, за постійних зв'язком "val:".
  • ModBus: Доповнено параметром "e" для перемикання послідовності байтів регістру у LE (молодший перший) загалом та BE (старший перший) для рядків. Розширення рядка регістрів доповнено кодуванням для вхідного перекодування.
  • FIX:DAQGate:
    • FIX: Категорії повідомлень у catsPat(), із отримання повідомлень джерела даних Об'єкту Контролера, переключено на генерацію власних деталізованих правил регулярних виразів із визначених віддалених контролерів — для запобігання отриманню надлишкових повідомлень.
    • FIX: Вдосконалено-виправлено формування статусу Порушення Контролеру для декількох станцій, коли ПОРУШЕННЯ це за відсутності підключення з усіма станціями.
    • Функцію sync() об'єкту контролера цілком переписано у секції "Видалення відсутніх віддалено параметрів" щодо:
      • опрацювання станцій надання параметрів: цілковите видалення відсутніх станцій та параметрів без станцій;
      • видалення вимкнених параметрів та логічних контейнерів за прапорцем "Дозволяти автоматичне видалення параметрів та атрибутів".
  • OPC_UA: Завершено підтримку запису через специфічні прапорці режиму Стандартний і отримання типу із ВВ для Логічного режиму.

Архіви-Історія

  • .,DAQ.{LogicLev,ModBus,OPC_UA}: Завершено уніфікацію архівування джерел Логічного Рівня із використанням лише прямого-пасивного архівування:
    • об'єкт TPrmTempl::Impl доповнено новою функцією archAttrs() із оновлення-архівування атрибутів ЛогічногоРівня;
    • тип зв'язку архіву значень "Пасивний атрибут параметру (TVArchive::PassiveAttr)" перейменовано у "DAQ атрибут (TVArchive::DAQAttr)";
    • тип зв'язку архіву значень "Активний атрибут параметру" перейменовано у "Активний DAQ атрибут" із позначкою ЗАСТАРІЛЕ.
  • FIX:FSArch:
    • FIX: Попереджено доступ до files[iA] у ModVArchEl::setValsProc() поза блокування, використовуючи перемикання на читання.
    • FIX: Попереджено доступ до "files" у ModMArch::checkArchivator() поза блокування.
    • FIX: Блокування доступу до файлів цілковито переглянуто, включаючи пакування/розпакування, створення нових файлів, видалення старих у просторі блокуванням на Запис включно із перевіркою умов. Також видалено переблокування у циклах та індексах.

Транспорти

  • FIX: Вихідні транспорти доповнено примусовою зупинкою за вимкнення-відключення системного об'єкту, не у деструкторі, що вже пізно та тут можуть втрачатися тримачі сокетів.
  • Лог ВВ транспортів доповнено режимами "Бінарний і Текст", "Бінарний", "Текст", та його записом до файлу за вказанням розміру протоколу -1 для дуже великих.
  • FIX:Sockets: Виправлено опрацювання нецілковитого запису у Вхідній частині, коли повідомлення обрізається по розміру буферу передавача TCP. Розмір вхідного буферу Вхідної частини прив'язано до контролю розміру буферу апаратного приймача, а внутрішній просто заморожено на розмірі буферу від стандартного рядка оскільки воно не критичне та не вимагає контролю.

Транспортні Протоколи

  • ModBus: Доповнено параметром "e" для перемикання послідовності байтів регістру у LE (молодший перший) загалом та BE (старший перший) для рядків.
  • HTTP: Доповнено HTTP Атрибутами вимкнення кешу WEB-Браузеру взагалі: "Cache-Control: no-cache, no-store, must-revalidate", "Pragma: no-cache", "Expires: 0".

Інтерфейс Користувача

  • QTStarter,QTCfg,Vision: Загальне підсвічування синтаксису у SnthHgl::rule() переключено на основне використання PCRE у TRegExp, оскільки він ВП'ЯТЕРО ШВИДШИЙ і значно багатший порівняно із QRegExp; та QRegExp залишено для автоматичного увімкнення за відсутності бібліотек PCRE 32/16. Загальну бібліотеку Qt (lib_qtgen) доповнено статичними-зовнішніми функціями getFont() і getColor() із UI.Vision та об'єктом SnthHgl із UI.Vision і UI.QTCfg.
  • QTStarter: Доповнено контролем сеансів дисплею, тобто відновленням сеансів.
  • QTCfg: Доповнено реалізацією Улюблених сторінок. Елемент зображення доповнено функцією цілковитого очищення зображення.
  • FIX:Vision:
    • FIX: Усі контрольні "<info>" запити доповнено перевіркою наявності дочірніх вузлів для запобігання падінням у деяких випадках.
    • Доповнено можливістю виклику інтерфейсів віддалених станцій шляхом обрання віддаленої станції у діалозі, щодо чого розширено діалог обрання користувача.
    • Текстові області із підсвіченням синтаксису доповнено вбудованим варіантом.
    • Елементи зображень (піктограми) діалогів елементів доповнено кнопкою меню із функціями: Зберегти, Завантажити, Очистити.
    • Таблицю редагування Атрибутів Віджету доповнено багаторядковим редагуванням стовпця "Назва" та завантаженням контекстної допомоги для цього.
    • Вигулькне меню проєкту, сторінок проєкту, бібліотек віджету та віджетів бібліотеки щодо додання віджетів із бібліотек позбавлено обмеження у 20 елементів через перенесення усіх їх до нового окремого пункту меню "... із Бібліотеки".
  • FIX:VCAEngine:
    • Піктограми проєктів та бібліотек віджетів переключено на завантаження загальної піктограми проєкту за відсутності локальної.
    • Бібліотеки віджетів адаптовано до міжхостового копіювання.
    • FIX: Генерацію примітиву Документ доповнено обмеженням розміру повторних блоків у limUserFile_SZ (10MB).
    • FIX: Відкориговано поводження зі сторінками проєктів та віджетами бібліотек із початково помилковою адресою предка, щодо не видалення дочірніх віджетів та зміни їх предка із вказанням коректної адреси.
  • FIX:WebVision:
    • Доповнено реалізацією експорту "Документ - HTML,CSV" і "Таблиця CSV".
    • Доповнено реалізацією друку "Документ" і "Основна Сторінка".
    • Тип Таблиця примітиву FormEl додано відриванням заголовку таблиці за гортання великих таблиць додолу.
    • FIX: Тип Таблиця примітиву FormEl вдосконалено та виправлено щодо:
      • встановлення CSS властивості "white-space" у "pre-wrap";
      • встановлення змін кольору під обраними клітинками;
      • запобігання втраті фокусу одразу після входження у редагування клітинки;
      • виправлення встановлення значення логічного за входження у редагування клітинки;
      • перелаштування таблиці за зростання довжини таблиці.
    • Встановлення закриття включених сторінок після декількох появ рядка (4) — для запобігання закриттю всіх сторінок за швидкої навігації.