From OpenSCADAWiki
< Documents | Release 0.9
(Updating to match new version of source page) |
|||
Line 1: | Line 1: | ||
<noinclude><languages/></noinclude> | <noinclude><languages/></noinclude> | ||
− | <div style="float:right; border:1px solid gray; width:300px; padding:2px; margin-left: 10pt; margin-bottom: 10pt; "> | + | <!--<div style="float:right; border:1px solid gray; width:300px; padding:2px; margin-left: 10pt; margin-bottom: 10pt; "> |
− | * ''' | + | * '''State:''' <span style="color:red">testing and post building ...</span> |
− | {{:Documents/How_to/Release/ | + | {{:Documents/How_to/Release/en}} |
− | </div> | + | </div>--> |
− | + | This update of the [[Special:MyLanguage/Documents/Release_0.9|0.9 LTS release]] fixes about 70 bugs and appends MANY improvements with several of significant-conceptual ones, which you can read wholly in [http://oscada.org/svn/tags/openscada_0.9/ChangeLog?p=2879 the update ChangeLog]. | |
− | {{CntHdr|[[Special:MyLanguage/Sub-projects/Automation_Linux_distributive|Linux | + | {{CntHdr|[[Special:MyLanguage/Sub-projects/Automation_Linux_distributive|Automation Linux distributive of the project OpenSCADA]]}} |
− | * | + | * updating TDE to 14.0.13; |
− | * | + | * fixing KDesktop, TDE HW Manager, noatun, TDESVN, basket, KGpg, than appending the new patched packages "tdelibs-trinity", "tdebase-trinity", "tdesvn-trinity" and "basket-trinity" to the distributive collection; |
− | * | + | * some improving and updating KCalc, holiday_ua; |
− | * | + | * complete translation to Ukrainian for KDiff3 and showfoto; |
− | * | + | * appending the Debian 11 distributive by packages of RHVoice — Speech synthesizer with many voices for ten languages; |
+ | * translation the subproject page to Ukrainian. | ||
{{CntHdr|Основні WWW-ресурси, документація проєкту та підпроєктів}} | {{CntHdr|Основні WWW-ресурси, документація проєкту та підпроєктів}} | ||
Line 138: | Line 139: | ||
** LibsDB.OscadaLibs: tmplib_DevLib.mbBase: Переключено на використання TTransportS::outAt(). | ** LibsDB.OscadaLibs: tmplib_DevLib.mbBase: Переключено на використання TTransportS::outAt(). | ||
− | {{CntHdr|{{Anch|MessTrFix| | + | {{CntHdr|{{Anch|MessTrFix|CONCEPTUAL > Messages Translation (fixes of the [[Special:MyLanguage/Documents/Release_0.9#MessTr|conceptual changes of the previous update]]) }} }} |
− | * FIX:SYS: | + | * FIX:SYS: |
− | ** FIX: | + | ** FIX: Prevented from propagating the base language column of the translations table "Tr" in the SINGLE translation mode and the base language. |
− | ** FIX: EVal | + | ** FIX: The string EVal value "<EVAL>" appended as not translated one to prevent that translation in VCAEngine for NULL DB values. |
− | ** FIX: | + | ** FIX: The translation manager prevented in the marked base changing to a human readable form at all, since that used as a key. |
− | ** TFunction::operator=() | + | ** TFunction::operator=() finished in adaption to the IO name translation. |
− | ** | + | ** Writing to the configuration in XML prevented in doubling the translated field for the configuration contexts. |
− | * FIX: | + | * FIX:DB: |
− | ** FIX: | + | ** FIX: The translation prevented from propagating the base language column in the SINGLE translation mode for already translated DBs, by appending for different detection the translated DBs in whole and the translated column presence. |
− | ** FIX: | + | ** FIX: Fixed for the DB syntax error at cleaning the translation fields equal to the base. |
− | ** FIX: | + | ** FIX: Fixed in writing untranslated strings, by clearing all translation and writing to base. |
− | ** FIX: | + | ** FIX: Prevented in the DBs service termination, as the transactions closing, at some wrong DB presence. |
− | ** FIX: | + | ** FIX: The translation setting prevented in setting double messages to the base messages; what completing not translation "<EVAL>". |
− | ** FIX: | + | ** FIX: Absence the flag TFld::TransltText means as the translation complete missing for that field. |
* FIX:DAQ::ParamTmpl: | * FIX:DAQ::ParamTmpl: | ||
− | ** FIX: | + | ** FIX: Fixed for the IO name edition in the non basic mode of the dynamic translation. |
− | ** FIX: | + | ** FIX: Fixed in the flag IO::TransltText processing for strings. |
− | ** FIX: | + | ** FIX: The service request "list:/DAQ/{MOD}/{CNTR}/prm_{PRM}[/prm_{PRM}]/%2fserv%2fattr" fixed in the attribute name translation. |
− | * FIX: | + | * FIX:Transports,UI.{QTCfg,Vision,WebCfgD}: The function TTransportS::extHostList() appended by an argument "lang" to receive translated names of remote hosts. |
− | * FIX:Protocol.ModBus: | + | * FIX:Protocol.ModBus: Fixed-adapted in the IO name dynamic translation. |
+ | * FIX:UI: | ||
+ | ** FIX:VCAEngine: The dynamic translation of tr() fixed in the translation loss after the translation cache cleaning and placing the spare messages to the project's table "Trs". | ||
+ | ** FIX:WebUser: Fixed-adapted for the dynamic translation of the IO names. | ||
− | {{CntHdr|OpenSCADA | + | {{CntHdr|OpenSCADA libraries and projects}} |
* FIX:LibsDB.OscadaLibs: | * FIX:LibsDB.OscadaLibs: | ||
− | ** | + | ** The library tmplib_LowDevLib appended by the template "BT: RDTech UM24C, UM25C and UM34C (RDTech)". |
− | ** | + | ** The library tmplib_DevLib appended by the template "Slot LTD devices (SLOT)". |
* FIX:LibsDB.vcaBase: | * FIX:LibsDB.vcaBase: | ||
− | ** wlb_Main.storeHouse: | + | ** wlb_Main.storeHouse: Significantly expanded by: implementation the procedures support for the logical columns; implementation the report of all visible table and a selected record. |
− | ** FIX:wlb_doc.docRepDay: | + | ** wlb_Main.RootPgSo: The "Notification: type 2 (TextSpeech) (notify2)" method expanded by the RHVoice support and appended by the builtin syntax highlight for BASH. The "Notification: type 1 (Buzzer) (notify1)" method rewrote for the long samples playback in the background, that is with control the sample playing stop and restarting only in the case. Appended also by the syntax highlight. |
− | ** wlb_doc.docUsersSet: | + | ** FIX:wlb_doc.docRepDay: Some improved and appended by: the columns grouping in the header, string values direct reading, colors disable in the table at EVAL scale. |
+ | ** wlb_doc.docUsersSet: Added by the "Message category (messCat)" configuration. | ||
{{CntHdr|API}} | {{CntHdr|API}} | ||
− | ''!!!!: | + | ''!!!!:Changes'': |
* SYS: | * SYS: | ||
− | ** | + | ** The functions TSYS::id(), TSYS::name() and TSYS::user() were set as constant. |
− | ** | + | ** The definitions SEC_XT, SEC_WR, SEC_RD moved from the file tsecurity.h to tcntrnode.h and used there also. |
− | ** ctrChkNode() | + | ** ctrChkNode() cleaned for the argument "warn" due to the response attribute "force" is deprecated. |
− | ** | + | ** The Control Interface request "chlds:/{nPath}/%2fobj" appended by not creating the empty icon tags "ico". |
− | ** NSTR_BUF_LEN(50) | + | ** NSTR_BUF_LEN(50) split to CFG_A_LEN (100) for using in the maximum attribute size of the configuration cell in XML. |
− | ** | + | ** The argument "init" removed from setIcoDir(), setDocDir(), setLang() during moving under the generic clearing mechanism. |
− | ** | + | ** Appending the enumeration MdfSYSFlds by the fields: MDF_Name, MDF_MESS, MDF_TR, MDF_DBG, MDF_RD. |
− | * | + | ** The TSYS::ShieldSimb encoding of the function TSYS::strEncode() renamed to TSYS::ShieldSymb, moved to the function TSYS::strDecode() and in TSYS::strEncode() appended by the common one. And the UserAPI function SYS.strDecode() appended by the decoding method "ShieldSymb". |
− | * DAQ::Value: | + | * DB: The Control Interface request "call:/BD/{MOD}/{DB}/%2fserv%2fSQL" appended by processing the "intoTrans" attribute as EVAL at missing and clearing the request text in the response. |
− | * | + | * DAQ::Value: The service request "get:/serv/attr" of the Control Interface prevented from clearing the "el" subtags at missing the representing attribute, them value is set to EVAL for true mark that as processed in DAQ.DAQGate and don't continue them request in each cycle. |
− | * | + | * Archives-History: The value archive link type "Passive param. attribute (TVArchive::PassiveAttr)" renamed to "DAQ attribute (TVArchive::DAQAttr)". The value archive link type "Active param. attribute" renamed to "Active DAQ attribute" with that mark as DEPRECATED. |
− | * UI.VCAEngine: | + | * Transports: The function TTransportIn::assTrO() renamed to TTransportIn::associateTrO(). The TTransportOut::isNetwork() virtual function sign moved to the TTypeTransport object with linking the old one to new one, for marking all module as the network one. |
− | '' | + | * UI.VCAEngine: The Control Interface request "get:/UI/VCAEngine/%2fserv%2fwlbBr" appended by not creating the empty icon tags "ico". |
+ | ''Appends'': | ||
* SYS: | * SYS: | ||
− | ** | + | ** The new function TSYS::ico() of the icon obtaining. |
− | ** | + | ** Names of the security standard permissions appended by _W_W_W(0222). |
** TRegExp: | ** TRegExp: | ||
− | *** | + | *** Appended by a new option 'U' (ungreedy) of the greedy mode toggle, together the User API method "ungreedy". |
− | *** | + | *** Appended by the function mode(), the argument "mode" in setPattern() and the enumeration "Mode" with the items: MD_8, MD_16, MD_32, MD_WCHAR, MD_SAVE. |
− | *** | + | *** The search() function of the object appended by an argument "length" of the measured block size return. |
− | ** XMLNode: | + | ** XMLNode: The loading flags appended by the no flag item LD_NO. |
− | ** TMess: | + | ** TMess: Appended by the common label labStdOutTrs() for address format of the unified output transport function. |
* DAQ: | * DAQ: | ||
− | ** | + | ** The DAQ item linking functions expanded by the base node specifying in the attribute "ndBase", for: ctrListPrmAttr(), daqAt(), prmAt(), attrAt(). |
− | ** | + | ** The object TPrmTempl::Impl appended by the new function archAttrs() of updating-archiving attributes of the LogicalLevel. |
− | * | + | * Archives-History: The value archive object TVArchive appended by declaration the enumeration ServReqDtMode for the Control Interface request "get:/Archive/va_{ARCH}/%2fserv%2fval". |
− | * | + | * Transports: |
− | ** | + | ** The new function TTransportIn::associateTr() and its UserAPI variant SYS.Transport["Modul"]["in_Transp"].associateTr(). |
− | ** | + | ** The new function TTransportS::outAt() and its UserAPI variant SYS.Transport.outAt(). |
− | ** | + | ** The new UserAPI function SYS.Transport["Modul"]["in_Transp"].associateTrsList() as a correct naming variant to assTrsList(). |
− | ** | + | ** The output transport object appended by the UserAPI functions conPrm() and setConPrm() of accessing the connection parameters. |
− | ** | + | ** The function TTransportS::extHostList() appended by an argument "lang" to receive translated names of remote hosts. |
− | ** | + | ** The "in_" and "out_" prefix moved to the definitions STR_IN_PREF and STR_OUT_PREF respectively. |
− | ** | + | ** The TTransportS object appended by the enumeration LogType with the items: LTP_BinaryText, LTP_Binary, LTP_Text. |
* UI.VCAEngine: | * UI.VCAEngine: | ||
− | ** | + | ** Appended by setting the session side period with the User API function calcPer() of the session side widget, expanded by specifying the special values: PerVal_Sess(0), PerVal_Parent(-1), PerVal_UserMin(PerVal_Dis(-2)), PerVal_SessDef(-3). |
− | ** | + | ** The session object appended by the User API function period(), returning the session periodic processing. |
− | ** | + | ** The attribute "alarmSt" change appended by accompaniation by the new event "ws_alarmChange". |
{{CntHdr|Система}} | {{CntHdr|Система}} | ||
Line 258: | Line 264: | ||
* HTTP: Доповнено HTTP Атрибутами вимкнення кешу WEB-Браузеру взагалі: "Cache-Control: no-cache, no-store, must-revalidate", "Pragma: no-cache", "Expires: 0". | * HTTP: Доповнено HTTP Атрибутами вимкнення кешу WEB-Браузеру взагалі: "Cache-Control: no-cache, no-store, must-revalidate", "Pragma: no-cache", "Expires: 0". | ||
− | {{CntHdr| | + | {{CntHdr|User Interface}} |
− | * QTStarter,QTCfg,Vision: | + | * QTStarter,QTCfg,Vision: The common Syntax Highlighter in SnthHgl::rule() switched to the main work using PCRE in TRegExp, since that is 5 TIMES FASTER and very richer comparing to QRegExp; and QRegExp left to be automatically enabled at missing the PCRE 32/16 libraries. The Qt-generic library (lib_qtgen) appended by the static-external functions getFont() and getColor() from UI.Vision and by the object SnthHgl from UI.Vision and UI.QTCfg. |
− | * QTStarter: | + | * QTStarter: Appended by the display sessions control, that is the sessions restore. |
− | * QTCfg: | + | * QTCfg: Appended by the Favorite pages implementation. The image element appended by a function of clearing the image completely. |
* FIX:Vision: | * FIX:Vision: | ||
− | ** FIX: | + | ** FIX: All control requests "<info>" appended by checking the child nodes presence to prevent crashes in some cases. |
− | ** | + | ** Appended by the possibility of call remote station interfaces by selecting the remote station in a dialog, for what the user selection dialog was expanded. |
− | ** | + | ** The text areas with the syntax highlighting appended by the builtin variant. |
− | ** | + | ** The image elements (icons) of the item dialogs appended by a button menu with the functions: Save, Load, Clear. |
− | ** | + | ** The Widget Attributes edition table appended by the multiline edition for the "Name" column and the context help loading for that. |
− | ** | + | ** The popup menu of the project, the project pages, the widget libraries and the library widgets in appending widgets from the libraries removed for limit of the libraries here in 20 items by moving all them to a new separated menu item "... from the Library". |
* FIX:VCAEngine: | * FIX:VCAEngine: | ||
− | ** | + | ** Icons of the projects and the widget libraries switched to download the common project icon at missing local. |
− | ** | + | ** The widget libraries adapted to interhost copying. |
− | ** FIX: | + | ** FIX: The Document primitive generation appended by limiting the repeating blocks size in limUserFile_SZ (10MB). |
− | ** FIX: | + | ** FIX: Fixed in the correct treating of the project pages and the library widgets with initially wrong parent addresses, for don't remove child widgets and change them parent at pointing the correct parent address. |
* FIX:WebVision: | * FIX:WebVision: | ||
− | ** | + | ** Appended by the export implementation for the "Document - HTML,CSV" and "Table CSV". |
− | ** | + | ** Appended by the printing implementation for the "Document" and "Main Page". |
− | ** | + | ** The type Table of the primitive FormEl added by tearing off the table header at big tables scrolling down. |
− | ** FIX: | + | ** FIX: The type Table of the primitive FormEl improved and fixed for: |
− | *** | + | *** setting the CSS property "white-space" to "pre-wrap"; |
− | *** | + | *** setting the color changes under the selected cells; |
− | *** | + | *** preventing the focus loss just after entry to the cell editing; |
− | *** | + | *** fixing the boolean value setting at entry to the cell editing; |
− | *** | + | *** the table refitting at growing the column string length. |
− | ** | + | ** The included pages closing set after several (4) row appears — to prevent of closing all pages at fast navigation. |
+ | * WebUser: Expanded by a possibility of schedule the user procedures call in the service cycle, for the background processing of some data. |
Revision as of 21:23, 25 March 2023
This update of the 0.9 LTS release fixes about 70 bugs and appends MANY improvements with several of significant-conceptual ones, which you can read wholly in the update ChangeLog.
Automation Linux distributive of the project OpenSCADA
- updating TDE to 14.0.13;
- fixing KDesktop, TDE HW Manager, noatun, TDESVN, basket, KGpg, than appending the new patched packages "tdelibs-trinity", "tdebase-trinity", "tdesvn-trinity" and "basket-trinity" to the distributive collection;
- some improving and updating KCalc, holiday_ua;
- complete translation to Ukrainian for KDiff3 and showfoto;
- appending the Debian 11 distributive by packages of RHVoice — Speech synthesizer with many voices for ten languages;
- translation the subproject page to Ukrainian.
Основні WWW-ресурси, документація проєкту та підпроєктів
- цілковито переглянуто та перекладено Українською документ "Серверна та хостингова інфраструктура проєкту OpenSCADA";
- виправлення роботи Сайту у Web-оглядачах старих вбудованих пристроїв на кшталт Nokia N900, N9;
- відновлення Maemo 5 (Nokia N900) із перенесенням на Ланцюг-втулок CSSU-Thumb, заснований на GCC 4.7.2 від Linaro; та оновлення сторінки проєкту;
- цілковитий перегляд документу "API" у секції "Інтерфейс Управління та динамічне дерево об'єктів програми" та секцію "Сервісні команди-функції" перенесено туди як підсекцію, підсекцію "Сервісні команди-функції" цілком переписано і доповнено, та все це перекладено Українською;
- розпочато новий підпроєкт Відкритий Телефон — PinePhone;
- цілковитий перегляд та актуалізація "Як здійснити Створення модулю OpenSCADA";
- розпочато новий підпроєкт Графічне програмування ПЛК в OpenSCADA;
- скрипти складання проєкту Автоматичний Складальник OpenSCADA цілком переглянуто і уніфіковано із оновленням документації підпроєкту та її перекладом Українською.
Нові та значно оновлені частини
- Ядро 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: Вимкнено періодичне опрацювання.
- wlb_Main.RootPgSo: Адаптовано до функціювання у дуже великій періодичності та вимкнення періодичного опрацювання взагалі:
КОНЦЕПТУАЛЬНЕ > Уніфікація асоційованих вихідних транспортів із вхідним ТА загального підключення вихідного транспорту
- 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:
- Загальне підключення вихідного транспорту:
- Transport:
- нової функції TTransportS::outAt() та її варіанту Користувацького API SYS.Transport.outAt() із загального отримання вихідного транспорту з уніфікованої адреси;
- переведення TTransportS::extHost() на використання TTransportS::outAt();
- Transport,UI.{QTCfg,WebCfgD}: Поле "Транспорт" таблиці зовнішніх хостів розширено визначенням адреси транспорту в уніфікованій-загальній формі та розширено специфічним до елементу вибором із підтримкою такої поведінки у загальних конфігураторах.
- DAQ.ModBus: Перший, кого переведено на використання уніфікованого підключення до вихідного транспорту.
- LibsDB.OscadaLibs: tmplib_DevLib.mbBase: Переключено на використання TTransportS::outAt().
- Transport:
CONCEPTUAL > Messages Translation (fixes of the conceptual changes of the previous update)
- FIX:SYS:
- FIX: Prevented from propagating the base language column of the translations table "Tr" in the SINGLE translation mode and the base language.
- FIX: The string EVal value "<EVAL>" appended as not translated one to prevent that translation in VCAEngine for NULL DB values.
- FIX: The translation manager prevented in the marked base changing to a human readable form at all, since that used as a key.
- TFunction::operator=() finished in adaption to the IO name translation.
- Writing to the configuration in XML prevented in doubling the translated field for the configuration contexts.
- FIX:DB:
- FIX: The translation prevented from propagating the base language column in the SINGLE translation mode for already translated DBs, by appending for different detection the translated DBs in whole and the translated column presence.
- FIX: Fixed for the DB syntax error at cleaning the translation fields equal to the base.
- FIX: Fixed in writing untranslated strings, by clearing all translation and writing to base.
- FIX: Prevented in the DBs service termination, as the transactions closing, at some wrong DB presence.
- FIX: The translation setting prevented in setting double messages to the base messages; what completing not translation "<EVAL>".
- FIX: Absence the flag TFld::TransltText means as the translation complete missing for that field.
- FIX:DAQ::ParamTmpl:
- FIX: Fixed for the IO name edition in the non basic mode of the dynamic translation.
- FIX: Fixed in the flag IO::TransltText processing for strings.
- FIX: The service request "list:/DAQ/{MOD}/{CNTR}/prm_{PRM}[/prm_{PRM}]/%2fserv%2fattr" fixed in the attribute name translation.
- FIX:Transports,UI.{QTCfg,Vision,WebCfgD}: The function TTransportS::extHostList() appended by an argument "lang" to receive translated names of remote hosts.
- FIX:Protocol.ModBus: Fixed-adapted in the IO name dynamic translation.
- FIX:UI:
- FIX:VCAEngine: The dynamic translation of tr() fixed in the translation loss after the translation cache cleaning and placing the spare messages to the project's table "Trs".
- FIX:WebUser: Fixed-adapted for the dynamic translation of the IO names.
OpenSCADA libraries and projects
- FIX:LibsDB.OscadaLibs:
- The library tmplib_LowDevLib appended by the template "BT: RDTech UM24C, UM25C and UM34C (RDTech)".
- The library tmplib_DevLib appended by the template "Slot LTD devices (SLOT)".
- FIX:LibsDB.vcaBase:
- wlb_Main.storeHouse: Significantly expanded by: implementation the procedures support for the logical columns; implementation the report of all visible table and a selected record.
- wlb_Main.RootPgSo: The "Notification: type 2 (TextSpeech) (notify2)" method expanded by the RHVoice support and appended by the builtin syntax highlight for BASH. The "Notification: type 1 (Buzzer) (notify1)" method rewrote for the long samples playback in the background, that is with control the sample playing stop and restarting only in the case. Appended also by the syntax highlight.
- FIX:wlb_doc.docRepDay: Some improved and appended by: the columns grouping in the header, string values direct reading, colors disable in the table at EVAL scale.
- wlb_doc.docUsersSet: Added by the "Message category (messCat)" configuration.
API
!!!!:Changes:
- SYS:
- The functions TSYS::id(), TSYS::name() and TSYS::user() were set as constant.
- The definitions SEC_XT, SEC_WR, SEC_RD moved from the file tsecurity.h to tcntrnode.h and used there also.
- ctrChkNode() cleaned for the argument "warn" due to the response attribute "force" is deprecated.
- The Control Interface request "chlds:/{nPath}/%2fobj" appended by not creating the empty icon tags "ico".
- NSTR_BUF_LEN(50) split to CFG_A_LEN (100) for using in the maximum attribute size of the configuration cell in XML.
- The argument "init" removed from setIcoDir(), setDocDir(), setLang() during moving under the generic clearing mechanism.
- Appending the enumeration MdfSYSFlds by the fields: MDF_Name, MDF_MESS, MDF_TR, MDF_DBG, MDF_RD.
- The TSYS::ShieldSimb encoding of the function TSYS::strEncode() renamed to TSYS::ShieldSymb, moved to the function TSYS::strDecode() and in TSYS::strEncode() appended by the common one. And the UserAPI function SYS.strDecode() appended by the decoding method "ShieldSymb".
- DB: The Control Interface request "call:/BD/{MOD}/{DB}/%2fserv%2fSQL" appended by processing the "intoTrans" attribute as EVAL at missing and clearing the request text in the response.
- DAQ::Value: The service request "get:/serv/attr" of the Control Interface prevented from clearing the "el" subtags at missing the representing attribute, them value is set to EVAL for true mark that as processed in DAQ.DAQGate and don't continue them request in each cycle.
- Archives-History: The value archive link type "Passive param. attribute (TVArchive::PassiveAttr)" renamed to "DAQ attribute (TVArchive::DAQAttr)". The value archive link type "Active param. attribute" renamed to "Active DAQ attribute" with that mark as DEPRECATED.
- Transports: The function TTransportIn::assTrO() renamed to TTransportIn::associateTrO(). The TTransportOut::isNetwork() virtual function sign moved to the TTypeTransport object with linking the old one to new one, for marking all module as the network one.
- UI.VCAEngine: The Control Interface request "get:/UI/VCAEngine/%2fserv%2fwlbBr" appended by not creating the empty icon tags "ico".
Appends:
- SYS:
- The new function TSYS::ico() of the icon obtaining.
- Names of the security standard permissions appended by _W_W_W(0222).
- TRegExp:
- Appended by a new option 'U' (ungreedy) of the greedy mode toggle, together the User API method "ungreedy".
- Appended by the function mode(), the argument "mode" in setPattern() and the enumeration "Mode" with the items: MD_8, MD_16, MD_32, MD_WCHAR, MD_SAVE.
- The search() function of the object appended by an argument "length" of the measured block size return.
- XMLNode: The loading flags appended by the no flag item LD_NO.
- TMess: Appended by the common label labStdOutTrs() for address format of the unified output transport function.
- DAQ:
- The DAQ item linking functions expanded by the base node specifying in the attribute "ndBase", for: ctrListPrmAttr(), daqAt(), prmAt(), attrAt().
- The object TPrmTempl::Impl appended by the new function archAttrs() of updating-archiving attributes of the LogicalLevel.
- Archives-History: The value archive object TVArchive appended by declaration the enumeration ServReqDtMode for the Control Interface request "get:/Archive/va_{ARCH}/%2fserv%2fval".
- Transports:
- The new function TTransportIn::associateTr() and its UserAPI variant SYS.Transport["Modul"]["in_Transp"].associateTr().
- The new function TTransportS::outAt() and its UserAPI variant SYS.Transport.outAt().
- The new UserAPI function SYS.Transport["Modul"]["in_Transp"].associateTrsList() as a correct naming variant to assTrsList().
- The output transport object appended by the UserAPI functions conPrm() and setConPrm() of accessing the connection parameters.
- The function TTransportS::extHostList() appended by an argument "lang" to receive translated names of remote hosts.
- The "in_" and "out_" prefix moved to the definitions STR_IN_PREF and STR_OUT_PREF respectively.
- The TTransportS object appended by the enumeration LogType with the items: LTP_BinaryText, LTP_Binary, LTP_Text.
- UI.VCAEngine:
- Appended by setting the session side period with the User API function calcPer() of the session side widget, expanded by specifying the special values: PerVal_Sess(0), PerVal_Parent(-1), PerVal_UserMin(PerVal_Dis(-2)), PerVal_SessDef(-3).
- The session object appended by the User API function period(), returning the session periodic processing.
- The attribute "alarmSt" change appended by accompaniation by the new event "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".
User Interface
- QTStarter,QTCfg,Vision: The common Syntax Highlighter in SnthHgl::rule() switched to the main work using PCRE in TRegExp, since that is 5 TIMES FASTER and very richer comparing to QRegExp; and QRegExp left to be automatically enabled at missing the PCRE 32/16 libraries. The Qt-generic library (lib_qtgen) appended by the static-external functions getFont() and getColor() from UI.Vision and by the object SnthHgl from UI.Vision and UI.QTCfg.
- QTStarter: Appended by the display sessions control, that is the sessions restore.
- QTCfg: Appended by the Favorite pages implementation. The image element appended by a function of clearing the image completely.
- FIX:Vision:
- FIX: All control requests "<info>" appended by checking the child nodes presence to prevent crashes in some cases.
- Appended by the possibility of call remote station interfaces by selecting the remote station in a dialog, for what the user selection dialog was expanded.
- The text areas with the syntax highlighting appended by the builtin variant.
- The image elements (icons) of the item dialogs appended by a button menu with the functions: Save, Load, Clear.
- The Widget Attributes edition table appended by the multiline edition for the "Name" column and the context help loading for that.
- The popup menu of the project, the project pages, the widget libraries and the library widgets in appending widgets from the libraries removed for limit of the libraries here in 20 items by moving all them to a new separated menu item "... from the Library".
- FIX:VCAEngine:
- Icons of the projects and the widget libraries switched to download the common project icon at missing local.
- The widget libraries adapted to interhost copying.
- FIX: The Document primitive generation appended by limiting the repeating blocks size in limUserFile_SZ (10MB).
- FIX: Fixed in the correct treating of the project pages and the library widgets with initially wrong parent addresses, for don't remove child widgets and change them parent at pointing the correct parent address.
- FIX:WebVision:
- Appended by the export implementation for the "Document - HTML,CSV" and "Table CSV".
- Appended by the printing implementation for the "Document" and "Main Page".
- The type Table of the primitive FormEl added by tearing off the table header at big tables scrolling down.
- FIX: The type Table of the primitive FormEl improved and fixed for:
- setting the CSS property "white-space" to "pre-wrap";
- setting the color changes under the selected cells;
- preventing the focus loss just after entry to the cell editing;
- fixing the boolean value setting at entry to the cell editing;
- the table refitting at growing the column string length.
- The included pages closing set after several (4) row appears — to prevent of closing all pages at fast navigation.
- WebUser: Expanded by a possibility of schedule the user procedures call in the service cycle, for the background processing of some data.