From OpenSCADAWiki
< Documents | Release 0.9
Це оновлення релізу 0.9 LTS виправляє біля 60 помилок та додає деякі удосконалення, які цілком ви можете почитати у протоколі змін оновлення.
Linux Дистрибутив Автоматизації проекту OpenSCADA
- Завершено вдосконалення KMix щодо роботи із PulseAudio, шляхом його динамізації патчем "kmix-UpdMixersForChangeAndChMaster.patch".
- KRfb (VNC-сервер) було виправлено стосовно аварійного завершення та завершено реалізацію набору додаткових клавіш до основної клавіатурної розкладки, переважно Кирилиці, але також і додаткових UTF символів.
- Завершене оновлення перекладу проекту Оточення Стільниці Trinity Українською для частин: tdelibs, tdebase, tdenetwork, tdemultimedia, tdepim (переважно), krusader, yakuake.
OpenSCADA бібліотеки та проекти
- LibsDB.OscadaLibs: Бібліотеку Пристроїв доповнено реалізацією протоколу IEC-62056 (DevLib.IEC62056). Позамережеву документацію доповнено документом "УГОДА ПРО ТЕХНІЧНУ ПІДТРИМКУ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ "OpenSCADA" версії 2 та нового модуля DB.DBGate.
- FIX:LibsDB.vcaBase.Main.alarmsSt: Дещо виправлено щодо оригінальних повідомлень та "quietation" цілковито замінено на "confirmation". Відновлено попередження дубльованих записів нових порушень у тій самій категорії.
API
!!!!:Зміни:
- SYS: Уніфіковано статуси станції у функціях isRunning(), isFinalKill() та stopSignal(). TCfg::setReqKey() доповнено новим аргументом "treatDep".
- DB: dataSeek(),dataGet(),dataSet(): Розширено аргументом локального конфігураційного контексту "localCfgCtx";
- *,DB: TBDS::dataSeek() та TTable::fieldSeek() переключено до реалізації кешу сканування у відповідних модулях.
Доповнення:
- TMess,DB,DB.{SQLite,MySQL,PostgreSQL,FireBird}: TMess доповнено функцією виявлення перекладу конфігурації translCfg(), яку використано у всіх модулях БД та у dataSet().
- SYS: Доповнено функціями доступу до глобального конфігураційного контексту cfgCtx() та setCfgCtx().
- Завантаження та збереження конфігурації доповнено власним блокуванням TSYS->cfgLoadSaveM().
- Доповнено функцією pathLevEnd() опрацювання шляхів із кінця.
- TRegExp: Доповнено функцією getPattern().
- TFld: Доповнено комбінованим строковим варіантом поля довжини - lenS().
SYS
- FIX: Building:
- FIX:configure.ac: Core library version risen to 3:8:0 and the program version risen to 0.9.2.
- Modules version of the subsystem "BD" risen to 14, of the subsystem "Transport" risen to 16.
- data/ModelsDB/{AGLKS/oscada_AGLKS.xml,Boiler/oscada_Boiler.xml}: The input Sockets' transports unified in the names "WEB" and "CNTR".
- data/ModelsDB/AGLKS/St.sql: The input SSL transports unified in the names "WEB" and "CNTR" and updated for the KeepAlive timeout setting in 60 and for the SSL-certificate.
- data/{oscada_start,oscada_server,oscada_plc}.xml:
- The input WWW-transports are unified, where "WEB_1" renamed to "WEB" and "WEB_2" removed.
- Appended for the disabled DB-entries of the standard OpenSCADA libraries.
- /oscada_start.xml: Appended for the disabled input transports "WEB" and "CNTR". Appended for the value archivers FSArch.{SYS,alarms,actions} and message archivers FSArch.{1s,1m,1h}.
- FIX:data/openscada-proj.in,UI.QTStarter: Implementation the builtin backuping.
- FIX:data/openscada-proj.in: Appended for the commands "backup", "backupRestore", "backupList" to implement the project backups.
- UI.QTStarter: Appended for the backup commands call from the project manager - list of the projects.
- .,DB,DAQ.{LogicLev,ModBus,Siemens},UI.{QTCfg,WebCfgD}: Implementation the interstation copying mechanism of the control interface nodes.
- .,UI.QTStarter: OpenSCADA starting with a module as the GUI in the main thread significantly refactored for:
- early registration the GUI module in the main thread directly by that module itself and in postEnable() function;
- adaption the function perSYSCall() to use for update the GUI module in the main thread, its splash mostly, during the program starting and stopping (from the service task) and at the configuration loading (for switch to the starting splash);
- enabling the messages dynamic display for the main thread execution mode;
- unification of the splash display for the both modes.
- .,Protocol.SelfSystem,DAQ.AMRDevs: Client accessing of the OpenSCADA control interface expanded by the multiple authentication, what prevents of using direct requests of the OpenSCADA control interface with the authentication in each the request, often for UI.Vision.
- FIX:TRegExp: The patterns processing fixed appending the end symbol treating, so preventing TController::alarmSet() collisions in the objects strict detection.
- FIX:LibsDB.OscadaLibs.doc.diagram,UI.{Vision,WebVision}: Prevented from the value scale double adjustment for the percent scale and appended for the value range expanding.
- FIX: The function TCntrNode::isModify() processing for the children allowed only for nodes in the state "Enabled".
БД
- Створено новий модуль "DBGate".
- FIX: TBDS::dataSet() розширено встановленням лише ключів та видимих елементів, на кшталт інших БД. Доповнено зміною-збереженням визначених елементів у конфігураційному файлі замість цілковитого збереження всіх їх у типовій БД.
- FIX: Виправлено перший помилковий запуск об'єктів БД стосовно наступних спроб запуску.
- FIX: Завантаження БД попереджено від подвійного завантаження із конфігураційного файлу та БД, стосовно однакових записів.
- Об'єкт TBD доповнено підтримкою сервісних контрольних запитів "call": "/serv/SQL", "/serv/fieldStruct", "/serv/fieldSeek", "/serv/fieldGet", "/serv/fieldSet", "/serv/fieldDel".
- FIX:SQLite: Виявлено та виправлено втрату даних за конкурентного доступу, коли генерується непринципова помилка неактивованості транзакції "cannot commit - no transaction is active (1)", яка, однак, перериває запис даних.
Збір Даних
- FIX: JavaLikeCalc: Виконання внутрішніх функцій доповнено збереженням контексту спільних-власних регістрів, у двох варіантах, первинно для підтримки рекурсії.
Транспорти
- Вихідні транспорти уніфіковано створенням параметрів підключення, за допомогою conPrm(), замість прямих prm1() та prm2().
- Видалено конфігураційний параметр "START" вихідних транспортів, як зайвий та для запобігання тривалому запуску.
- FIX:Sockets,SSL: Для запобігання багаторазовому виконанню запитів високого навантаження та тривалого контролю, вихідні транспорти перемкнуто на:
- типову конфігурацію для Спроб=1, Таймаути="30:2";
- для втрат підключень кількість спроб встановлено у 2;
- для помилок "Вичерпано час" підключення також пере-підключається, окрім типу SOCK_FORCE.
Транспортні Протоколи
- FIX:ModBus: Вихідні запити TCP-варіанту доповнено перевіркою Ідентифікатору Транзакції пакетів відповіді.
- FIX:SelfSystem: Вихідну частину розширено перевіркою відповідності відповідей до запиту, за назвою тегу запиту. Доповнено кодуванням спеціальних символів користувача і пароля, та порожній пароль кодується як "<EMPTY>".
Інтерфейс Користувача
- Vision,WebVision: Властивість специфічну до візуалізатору "userSetVis" доповнено реалізацією пароля після прямо визначеного користувача та для застосування з усіма користувачами.
- FIX:QTStarter: Стандартну-системну заставку запуску/зупинки оновлено та доповнено інформацією про програму (також користувацькі заставки) та проекту OpenSCADA, включно із іконкою проекту. Контекстне меню переліку проектів доповнено пунктом видалення невиконуваних проектів.
- FIX:QTCfg: Доповнено стеженням за зміною сторінки із індикацією у дереві навігації та з гортанням до поточного елементу.
- FIX:VCAEngine: Попереджено аварійне завершення на великих конфігураціях із тривалим закриттям сеансів виконання під час доступу до спадкоємців віджету (mHerit), доданням ResRW блокування "mHeritRes". Властивість "Переклад" процедур віджетів цілковито пересунуто до прямого доступу та видимість встановлено лише за наявності процедури, так само як видимість простору тексту процедури та періодичності обчислення від обрання мови.
- FIX:Vision: Суттєво уніфіковано процедуру автентифікації та зміни користувача у UserStBar::userSel() та об'єкт діалогу "DlgUser".
- FIX:WebVision: Уніфіковано імплементацію примітиву "Кнопка": перенесенням специфічних кнопок під <button></button> та доданням відповідних CSS-стилів для типового та натисненого стану із відмінною границею та напівпрозорим зображенням. Виправлено нарешті проблему закриття всіх сторінок контейнеру основних сторінок із заморожуванням останньої втраченої сторінки за швидкого перемикання. Доповнено користувацькими CSS правилами інтерфейсу.