2024-03-14 Roman (stable) - FIX:configure.ac: Returned back in detection LibIntl. - Archive: The message "The grid mode doesn't support inserting too old values" expanded for show time in date format. - FIX:DAQ.DAQGate: Appended in setting the last archive value with timestamp to the current value for cases of missing the current value different request by the tag . - FIX:UI.Vision: Restored in new action items of the library widgets appeareance for Qt6, by placing the new actions to Menu before ToolBar. FIX: The event QEvent::KeyRelease in LineEdit apply replaced by QEvent::KeyPress also as in UI.QTCfg for Qt6. - FIX:UI.WebVision: The LineEdit view of the primitive FormEl fixed in wrong hiding special icons of ComBobox and so on. FIX: The view Table of the primitive FormEl prevented of sorting try for empty columns at some sort switching. Indicator of not apply editing the view LineEdit of the primitive FormEl changed to left red thick border. 2024-03-03 Roman (stable) - FIX:data/openscada-proj.in: Fixed in processing the project for the lock file and the core crash file at presence the project both in the system and user directory, that is the user directory is checked in first. - FIX:configure.ac: Fixed in checking the libpthread presence. - ChangeLog: Many changes-fixes in this file. - !!!!:FIX:DB: In function TTable::fieldSQLDel() fixed for true checking the function success. - !!!!:FIX:Transports,DAQ.BFN,UI.VCAEngine: Adapted for checking the TBDS::dataDel() success result to prevent hangs here on RO storages. - FIX:DAQ.OPC_UA.libOPC_UA: Restored in building with OpenSSL < 1.0. - FIX:UI.Vision: Fixed in QMdiSubWindow mapping to QSignalMapper with adaption to Qt5 at least, so removed mappedObject() as a completely spare one. 2024-02-19 Roman (stable) - data/Android/AndroidManifest.xml: The user projects directory set to "/sdcard/.openscada" to allow ready projects connection on most Android devices. - data/openscada-proj.in: Appended of copying system libraries to {User}/LibsDB at impossibility creation links here. - LibsDB.OscadaLibs: tmplib_DevLib.FF_LE: Appended in the description. - LibsDB.vcaBase: wlb_Main.ResultGraph: The attribute "grpName" set to the "String (translate)" type. The tmplSO project some cleaned for items of the ResultGraph page. - SYS: TCntrNode::cntrCmd(): The generic logging message "set to '%s'." appended by "..." in the end of the limited values. TCntrNode::isModify() set to constant. - FIX:Transports: Table of the OpenSCADA external hosts limited in ID of the hosts corresponding to the limit the field "ID". - DAQ: Table of the values tab "Archiving" appended of hide disabled archivers. - UI.Vision: The tooltip item "... from the Library" appended of its hide together with the "Add visual item" item also as all their hide linked with selection on toolbar of the projects or widget libraries. 2024-02-13 Roman (stable) - !!!!:LibsDB.OscadaLibs: tmplib_DevLib: Documenting the new templates with some correction: FF_LE, ergomera625, Incubator, VSE002, Goboy1M, AutoPILOT, AutoPILOT_old, CorBK, TDS, UltraMag, enronDaniel, FlowGAS. Removing templates: TUF. Appending templates: FlowGAS. - !!!!:FIX:DAQ: Finish the moving in the DAQ sources to fixing table names, when empty tbl() value also used to disable the parameters storing. !!:DAQ.{=Tmpl=,AMRDevs,BFN,BlockCalc,Comedi,DAQGate,DCON,DiamondBoards,FT3,Fastwel,GPIO,ICP_DAS,JavaLikeCalc,MMS,SMH2Gi,SNMP,SoundCard,System}: Adapted to the unified parameter type conception. - UI.QTCfg: The Table fields appended by the context item "Copy for MediaWiki". 2024-02-05 Roman (stable) - LibsDB.vcaBase: wlb_Main.storeHouse: The Line Edit fields of the form switched to use non confirming mode. - FIX:DB.SQLite: Prevented in removing the "*-journal" files before the DB enabling, since there can be several processes-services who open the file and create journal, especially at reopen. - FIX:DAQ.{GPIO,AMRDevs}: Restored in their work after the DAQ sources moving to fixing table names with changing the function TTypeParam::DB() prototype and before their adaption. - !!:DAQ.OPC_UA: Appended by support the asynchronous writing like to DAQ.ModBus. - UI: The function TUIS::mimeGet() appended of the mime "application/vnd.oasis.opendocument.text" for ODT. - UI.{Vision,WebVision}: The view "Text Edit" of the FormEl primitive appended by adaptive text labels visibility to the Apply/Cancel buttons depending the field width. - FIX:UI.WebVision: Prevented of accessing null this.responseXML.childNodes. Appended in the system part of the status line for button of invoking the project's manual. Appended for implementation the non confirming mode of the Line Edit view of the primitive Form Element. Appended for unification the UI buttons with its using in the view "Text Edit" of the FormEl primitive. 2024-01-31 Roman (stable) - !!!!:SYS,DAQ.{DAQGate,DCON,DiamondBoards,ICP_DAS,LogicLev,ModBus,OPC_UA,Siemens,SoundCard,System},Protocol.{ModBus,OPC_UA},UI.VCAEngine: Simplified significantly in support the selectable types, making that optional and with support the dynamic translation. Allowed also for specifying only list of values. - UI.Vision: Attributes setting appended by reading back the set value for limits control. 2024-01-28 Roman (stable) - !!:SYS: TCntrNode::cntrCmd() in processing the primary commands of the Control Interface appended by their generic logging. - !!!!:DAQ,DAQ.{LogicLev,ModBus,OPC_UA,Siemens}: Moved in the DAQ sources to fix table names of different parameter types, that is the configuration fields are hidden now when their are standard ones and it scheduled to be cleaned in whole in v1.0. !!: The module version of the subsystem "DAQ" risen to 21. !!:DAQ.{LogicLev,ModBus,OPC_UA,Siemens}: Adapted to the unified parameter type conception. 2024-01-28 Roman (stable) - FIX:LibsDB.vcaBase: Main.alarmsSt: Fixed in the alarms_focus variable accessing after removing of forcing the "focus" attribute, which replaced by this.alarms.attr("focus"). FIX: Main.storeHouse: Prevented of for cells in the item report. - SYS: TSYS::strLabEnum() appended by an argument "onlyDec" (set by default) for enumerating one digit, found the first from the string end. The UserAPI functions fileSize(), fileRead(), fileWrite() expanded for support big size files. - FIX:UI.WebVision: Appended of setting the CSS property "pointer-events" to "all" also at presence "toolTips" or "tipStatus", for show the tip helps. For URLs opening in "vs_goHttpUrl" used the command window.open(). Editing the table cells are allowed for words selection at twice mouse click with preventing the changes loss. - UI.{QTCfg,WebCfgD}: All the command requests appended by setting the "primaryCmd" attribute to mark their force for processing. 2024-01-15 Roman (stable) - FIX:DAQ.System: Fixed in building Proc>DA on old systems. 2024-01-15 Roman (stable) - !!!!:FIX:DAQ.System: Appended by a new data source of Linux processes "Process (proc)". !!: Sensors>DA appended by support of the directly accessible sensors "/sys/devices/virtual/thermal/*/temp" and /sys/devices/virtual/hwmon/*/temp* FIX: Mem>DA some improved in the productivity and fixed in closing "/proc/meminfo" after its unsuccessful opening. FIX: HddSmart>DA, UPS>DA removed for spare own object-structure "tval". Power>DA some improved in code of scanning the data device files. DA::cfgChange() appended by the "TMdPrm *prm" argument. 2024-01-15 Roman (stable) - FIX:Transports: Fixed in the milliseconds part of the log messages on MIPS also. - !:FIX:DAQ.DAQGate: Set to resync in the redundant mode up to successful. 2023-12-31 Roman (stable) - !!!!:LibsDB.OscadaLibs: The library tmplib_DevLib appended by the templates: - from VPF: Incubator, VSE002; - from Blue Star Group: "Goboy 1M (Goboy1M)", "AutoPILOT PRO Flow Computers (AutoPILOT)", "AutoPILOT OLD Flow Computers (AutoPILOT_old)", "Corrector BK (CorBK)", "Tancy Data (TDS)", "TUF-2000 (TUF)", "UltraMag", "Enron, Daniel (enronDaniel)". - !!:SYS,DAQ.{BlockCalc,Comedi,DiamondBoards,FT3,Fastwel,ICP_DAS,SNMP},Protocol.{ModBus,UserProtocol},UI.{VCAEngine,Vision,WebCfg,WebCfgD,WebUser}: std::string::substr() replaced by std::string::find() in places with static obtaining data for comparing, what is clearer, safer and mostly faster for short strings. 2023-12-31 Roman (stable) - FIX:Transports: Fixed in the milliseconds part of the log messages on some devices like to RPiZero (ARMv6). The log properties moved to the protected section for global and only methods for internal, appended by a property of the aggregation time and some of them limited by the bits size. 2023-12-18 Roman (stable) - !!:FIX:LibsDB.vcaBase: wlb_Main.storeHouse: Improved in going to the item form and such icons. Elements of the item form appended by the ordered keyboard tab. Elements of the item report restored in the left marging for non texts. - data/ModelsDB/AGLKS/St.db: The input SSL transports set by the port group 10042,10043,10044 for WEB and 10045,10046,10047 for CNTR. -!!:SYS,UI.{VCAEngine,Vision}: Improved for messaging the warnings at saving. Removed for the error TError::DB_TrRemoved. - !!:Transport.SSL: Appended for support by the port group in the input transports, that is connection to first free. - Transport.Sockets: Some improved in support the input port range. 2023-12-18 Roman (stable) - Archive: The error messages about starting the value archive changed to the warning level, since the source can appear later. - !!!:FIX:SYS,DB: TMess::translGet() fixed in detecting the system prestored messages at setting empty translation messages. !!:DB: TTable::fieldSQLSet() Adapted to clearing the message base and all translations at zeroing a translation, for clear messages edition in the dynamic translation mode and from non base language. - DAQ,Protocol.UserProtocol,UI.WebUser: Constants in configuration the DAQ-Templates of real type appended by limiting the visual precision in 6 digits. - UI.QTCfg: Commented for QDoubleValidator to the real form fields on Qt <5 also. - UI.WebVision: The text edition fields appended of renewing the activity status per 30 seconds, for edition big texts. 2023-12-11 Roman (stable) - data/ModelsDB/AGLKS/St.db: Sockets.{testRelease,testRelease1,testRelease2} disabled by default. - data/{oscada_plc.xml,oscada_server.xml,oscada_start.xml,ModelsDB/{AGLKS/oscada_AGLKS.xml,Boiler/oscada_Boiler.xml}}: The default port range changed to 10002,10003,10004 for WEB and 10005,10006,10007 for CNTR, that is to the historisch ports. - Transport.Sockets: The IP6 address took in the square brackets. 2023-12-10 Roman (stable) - FIX:LibsDB.OscadaLibs: tmplib_base.fileServerHTTP: Type of the IO "fSzSolidLim" changed to Real. Translated to Ukrainian and documented. - !!:FIX:LibsDB.vcaBase: wlb_Main.storeHouse: The checkbox items of the item form appended for processing. The text fields of the single-item report were cleared from the left margin. - data/{oscada_plc.xml,oscada_server.xml,oscada_start.xml,ModelsDB/{AGLKS/oscada_AGLKS.xml,Boiler/oscada_Boiler.xml}}: Cleared in the input transport description and the transports appended by the port group: 10002,10001,10000 for WEB and 10005,10004,10003 for CNTR. - !!:Transport.Sockets: Appended for initial support by groups of the ports in the input transports, that is connection to any free. - !!:UI.{VCAEngine,Vision,WebVision}: Appended by initial support of data built-in to resource marked attributes, primarily for the source attribute of the Media primitive. 2023-12-10 Roman (stable) - !!:FIX:Archive: The message archivers are prevented from resetting the buffer position of the last read message since we get doubling the messages at each updating the subsystem, which is often for updation the value archive connections, and especially at missing the resource lock. - Security: Simplified in description the system users and groups. - FIX:UI.WebVision: Fixed in dynamic translation the user name on the index page. 2023-12-03 Roman (stable) - !!:LibsDB.OscadaLibs: tmplib_base: Appended by a new template for WebUser "HTTP File Server (fileServerHTTP)" with implementing the HTTP File Server in OpenSCADA, currently that is only reading resources with support partiality. - UI: The User API appended by a new function SYS.UI.mimeGet() of obtaining the MIME type from the file name. 2023-12-03 Roman (stable) - FIX:ModelsDB.AGLKS.St: WebUser.test finished in restoring the text before unification the translation. - FIX:DB: Allowed in true writing of user changes in the Dynamic Translation Mode on non Base Language, by early checking for dynamic data. - FIX:Archive,Archive.FSArch: The values archiving appended by limiting the writing operations at limUserIts_N (1e6) entries for tracing of consuming all memory in some cases. - FIX:UI.WebUser: Appended by freeing of very big data in the "page" attribute. - FIX:UI.WebVision: The resources getting code through HTTP appended of force switching to the Partial Mode at achieving size in limUserIts_N (1e6). 2023-11-27 Roman (stable) - !!:FIX:LibsDB.vcaBase: wlb_Main.storeHouse: The item edition form expanded by the highlighting and processing with unification that. The reports appended by processing the links as the external ones. FIX: Indexes and lists set as dynamic ones. 2023-11-27 Roman (stable) - FIX:ModelsDB.AGLKS.St: WebUser.test restored in the text before unification the translation. - !:FIX:SYS: The TCfg::setS() function in a variant with RqFlg appended by notification, only on the data stages and without the returning back. !: TValFunc::calc() appended by notification of the calc errors on the Warning Level. - !!:DAQ.LogicLev: Significant improving the Parameter Reflection mode in: - dynamic creation and removing attributes; - disabling at the error enabling with missing the source parameter with removing all attributes; - the selection changed to not editable; - measuring the processing time. - FIX:UI.WebCfgD: Fixed in processing the selected value of the editable combobox on FireFox. - FIX:UI.WebVision: The textarea edition appended of the early applying to prevent of indication the false modification. - !:FIX:UI.WebUser: Fixed in translation the page name in the index. The selection control item of the "procedure language or the DAQ-template" changed to noneditable combobox. 2023-11-21 Roman (stable) - !!:LibsDB.OscadaLibs: The template tmplib_LowDevLib.UC96 expanded by the data tracing with the reconnections, appended by some logical parameters, translated to Ukrainian and documented. - !!!!:LibsDB.vcaBase: wlb_Main.storeHouse: Expanded by creating the item edition form in the main frame after hiding the main table and other. 2023-11-20 Roman (stable) - !!:FIX:SYS: The TCfg::setS() function in a variant with RqFlg appended of locking the critical sections at accessing the container TVariant. - !!:FIX:DAQ.JavaLikeCalc: The strings concatenation operation appended by the limit checking on limUserFile_SZ(10M). !:FIX: The exceptions processing with catch(...) replaced by catch(TError&) for true detecting of places of STL exceptions. - !!:FIX:UI.VCAEngine: Prevented from connection the attribute "focus" of any included widget to the calculation IOs and appended by processing the exceptions of accessing those IOs for missing included widgets. !:FIX: Attr::setS() improved in the critical section processing. !:FIX: Fixed in processing the inheritance of the "owner" attribute from the widgets level and up to the projects level after copy some widget on the widgets level. Appended by definition PERM_INHER(01000) fot the inheritance flag. - !:FIX:UI.Vision: Prevented from crash at accessing to not initiated yet shD->addrWdg during setting the attribute "en" in some remote connections. Improved for some original messages. 2023-11-04 Roman (stable) - !!:LibsDB.OscadaLibs: The library tmplib_LowDevLib appended by the template "BT: ATORCH UC96". - UI.Vision: The primitive Document split for force using QTextBrowser in the development mode, since QWebEngineView cannot be selected for developing and it is havy here. 2023-11-04 Roman (stable) - FIX:SYS:Fixed in mark the WorkDB configuration field as modified one at changing and its changes saving in the configuration file. - Transport: Level the message "Error connection the new associated node: %s" set to "Debug", since setting the "initConID" parameter can be performed by the source object itself. - !!:DAQ.AMRDevs: Adapted in the Kontar part to the new conception of the associated output transports for the input ones. Was not tested due to missing such devices and need in some specific configuration file for activation some traffic!!! - !:FIX:DAQ.LogicLev: Fixed and unified in calculation the execution time per parameter object. 2023-10-16 Roman (stable) - !:UI.QTCfg: Expanded in favorites for saving also the opened tab. - FIX:UI.Vision: Fixed in processing the combobox fields without indexes, like to access the Storage field from the LTS branch on the Work branch. 2023-10-16 Roman (stable) - !!:FIX:Archive: The requests TVArchEl::getVals() and "TValue:get:/serv/attr" appended of limiting the requesting depth in limUserIts_N (1e6) items to prevent for big memory consumption. !!:FIX: The Control Interface request "TValue:get:/serv/attr" fixed in expanding to equivalent archivers and the limit calculation of the function getVals(). - !:DAQ.DAQGate: Appended for definition hasArch() to resB1() and hasArchReq() to resB2(), when hasArchReq() used for the tag "ael" hiding at missing the archive remotely. Appended for the flags hasArch() and hasArchReq() resetting at new archives assignement. 2023-10-08 Roman (stable) - ModelsDB.AGLKS.St: Updated for the parameter cache of DAQGate.test. - data/{debian,debian_mod}/compat: The level was risen up to 7 for default building at modern Debian distributives. 2023-10-08 Roman (stable) - DAQ: The TVal object appended by the function setTime(). - !!:FIX:DAQ.DAQGate: Time of the requesting archive increased for 1 microsecond to prevent of spare values requesting and their direct rewriting to the archives. !!: Improved in work with remote host without the time sync: - the values can be in future up to one hour; - the remote host timestamp everywhere used at the archive presence even in the tag ""; - appended of detection the remote host time for its display and using in timestamp the changed values. FIX: Prevented of the foreign packages processing in the response by checking for the "lcPs" presence. Appended by detection of the remote archive presence for hiding the spare requesting tag "". - Archive: TVArchEl::setVals() allowed for processing the data from future not more at one hour, for DAQ.DAQGate mostly. - Protocol.HTTP: The message "The authentication session for the user '%s' is expired." moved in the debugging space. 2023-09-30 Roman (stable) - DAQ.OPC_UA.libOPC_UA: Restored in building with OpenSSL < 3.0 and >= 1.0. 2023-09-30 Roman (stable) - !!!!:configure.ac,acinclude.m4: Cleaned from the deprecated macroses in AutoConf 2.70: - AC_HELP_STRING renamed to AS_HELP_STRING; - AM_CONFIG_HEADER renamed to AC_CONFIG_HEADER; - AC_LIBTOOL_DLOPEN replaced by LT_INIT([dlopen]); - AX_PTHREAD replaced by AC_SEARCH_LIBS(pthread, [pthread_create]) - commented for AC_PROG_LIBTOOL, AM_PROG_LIBTOOL, AC_HEADER_STDC, AC_HEADER_TIME, AC_TYPE_SIGNAL, AC_ISC_POSIX. - !!!!:acinclude.m4,DAQ.OPC_UA.libOPC_UA,Transport.SSL,Special.FLibSYS: Cleaned from deprecated functions in OpenSSL 1.1 (API 3.0): - acinclude.m4: testing function of the macro AX_LIB_OpenSSL() and AX_LIB_OpenSSL_opt() for libcrypto replaced from MD5_Init() to BIO_new(); testing function of the macro AX_LIB_OpenSSL() for libssl replaced from SSL_free() to SSL_new(); - OPC_UA.libOPC_UA: UA::symmetricEncrypt() and UA::symmetricDecrypt() merged to UA::symmetricCrypt() and switched for using EVP_CipherInit() and EVP_CipherUpdate() instead AES_cbc_encrypt(); - using RSA_public_encrypt() moved to EVP_PKEY_encrypt() and RSA_private_decrypt() moved to EVP_PKEY_decrypt() for new versions. - Transport.SSL,Special.FLibSYS: using of MD5() moved to EVP_DigestInit_ex(), EVP_DigestUpdate(), EVP_DigestFinal_ex() for new versions. 2023-09-22 Roman (stable) - !!!!:FIX:SYS: Finished in true building with the core library only in static: - configure.ac: the configuration option --enable-CoreLibStatic expanded for definition the AM_CONDITIONAL(CoreLibStatic) and the environment variable LIB_MOD; - moduls/*/*/Makefile.am: appended by the option --tag=disable-shared and expanded by using the environment variable LIB_MOD; - src_call/Makefile.am: expanded by the AM_CONDITIONAL(CoreLibStatic) specific processing for static linking the core library with all included modules. FIX: TSYS::sysSleep() Fixed in work with nanosleep(). Control Interface of the main page appended by hiding the tab "Translations" and the language fields at missing the internationalisation in whole. 2023-09-11 Roman (stable) - configure.ac: The parameters --disable-WebEngine and --disable-MultimediaEngine renamed to --disable-QtWebEngine and --disable-QtMultimediaEngine respectively. The generic variables QtWebKit_{CFLAGS,LIBS} and phonon_{CFLAGS,LIBS} renamed to QtWebEngine_{CFLAGS,LIBS} and QtMultimediaEngine_{CFLAGS,LIBS} respectively. - FIX:UI.{QTStarter,Vision}: Restored in building on Qt4.5 (N800). - FIX:UI.{QTCfg,Vision}: Restored in building on Qt5 < 5.8 (Debian 9). - FIX:UI.QTStarter: Appended by the attribute Qt::AA_ShareOpenGLContexts before the Qt application object for QtWebEngine work on Qt6. 2023-09-09 Roman (stable) - !!!!:acinclude.m4: The AutoConf macro AX_LIB_Qt expanded by Qt6 support. - !!!!:FIX:configure.ac: In appending Qt6 that is appended by Qt6Sensors, Qt6WebEngineWidgets, Qt6MultimediaWidgets. The parameters --disable-WebKit and --disable-Phonon renamed to --disable-WebEngine and --disable-MultimediaEngine. Most of the corresponding messages were improved. FIX: Restored in building on old systems with the separated -lintl. - data/{debian,debian_mod}/control: Appended by the dependency variants qt6-base-dev, qt6-webengine-dev, qt6-multimedia-dev. - FIX:Transport.SSL: Restored in building for Android. - !!!!:UI.{QTStarter,QTCfg,Vision}: Adapting for building with Qt6, including adapting to Qt6WebEngine and Qt6Multimedia: - QLayout::{setMargin,margin}() replaced by QLayout::{setContentsMargins,getContentsMargins}(); - QVariant(char*) replaced by QVariant(QString); - the QMouseEvent constructor replaced by one with the global position; - QRegExp replaced by the OpenSCADA's variant TRegExp for functions of replacing and testing or by the direct checking; - the QComboBox signal activated(const QString&), currentIndexChanged(const QString&) replaced by activated(int), currentIndexChanged(int) respectively; - the QSignalMapper signal mapped(QWidget*) replaced by mappedObject(QObject*); - QPalette::Background replaced by QPalette::Window and Qt::MidButton by Qt::MiddleButton; - QFileDialog::setReadOnly() replaced by setOption(); - QApplication::desktop() replaced by QScreen; - QAction::parentWidget() replaced by parent(); - QVariant::type() renamed to typeId(), QMouseEvent::{pos,globalPos}() renamed to {position,globalPosition}(), QDateTime::{setTime_t,fromTime_t,toTime_t}() renamed to {setSecsSinceEpoch,fromSecsSinceEpoch,toSecsSinceEpoch}(); - appended by renaming functions for different Qt versions with help the macro-definitions in different files and for: typeId() to type(), position() to pos(), globalPosition() to globalPos(), setSecsSinceEpoch() to setTime_t(), fromSecsSinceEpoch() to fromTime_t(), toSecsSinceEpoch() to toTime_t(), mappedObject() to mapped(), setSource() to setMedia(), setVolume() to audioOutput()->setVolume(), setMedia() to setSource(), state() to playbackState(); - appended for support QRegularExpression instead QRegExp in Qt6; - the QMouseEvent property mouseBtHold split on two QPointF: mouseBtHoldPos, mouseBtHoldPosG; - the keyboard combination separator "+" replaced by "|", that is "Qt::SHIFT|Qt::Key_F1"; - the event QEvent::KeyRelease in LineEdit apply replaced by QEvent::KeyPress. The generic library lib_qtgen appended by the function winFit() for specific windows fitting on mobile systems in common. - UI.QTStarter: Appended by the new Qt messages for translation: "Reload", "Save page", "View page source". 2023-09-09 Roman (stable) - FIX:LibsDB.vcaBase: wlb_doc.docRepInstVals: Restored in translation values of title and parameter's dimension, name. - FIX:Archive: Fixed in permition to list of archivers of tab the archive values. - FIX:UI.WebCfgD: Data edition fields fixed for the standard date from WebBrowser without seconds. 2023-08-31 Roman (stable) - FIX:SYS: Restored in building on old systems with the separated -lrt also for ALTLinux6. 2023-08-30 Roman (stable) - FIX:SYS: Restored in building on old systems with the separated -lrt. 2023-08-30 Roman (stable) - FIX:UI.Vision: Restored in building with no Media engine. 2023-08-30 Roman (stable) - LibsDB.vcaTest: Finished in renaming CPULoad to CPU and MemInfo to MEM. - !!!:acinclude.m4: The AutoConf macro AX_LIB_Qt improved in MOC and RCC detection for Qt5, by the package variable "host_bins" of Qt5Core primarily, than preventing the global MOC and RCC problems in their switching for Qt versions. Some messages improved. Prepared also for further adaption to Qt6. !!!:configure.ac: Appended by checking Qt5WebEngineWidgets and Qt5MultimediaWidgets for support in UI.Vision. !!: Appended by checking the declarations-functions clock_nanosleep, pthread_rwlock_timedwrlock, newlocale with improving the LibIntl detection, for very pure environments of MIPS with UCLibC. Appended by checking the header pthread.h. Some messages improved. Prepared also for further adaption to Qt6. - data/{debian,debian_mod}/control: Appended by the dependency variants qtwebengine5-dev and qtmultimedia5-dev. - SYS: ResRW::resRequestW() and ResRW::resRequestR() appended of using the timed version at the definition HAVE_DECL_PTHREAD_RWLOCK_TIMEDWRLOCK. TSYS::atime2str(),SYS.strftime(): appended of using the localized data at the definition HAVE_DECL_NEWLOCALE. TSYS::sysSleep(),TSYS::taskSleep(): appended of using the clocked sleep at the definition HAVE_DECL_CLOCK_NANOSLEEP. TMess,TModule: The HAVE_LIBINTL_H checking replaced by "#if HAVE_LIBINTL_H", that is checking for 1. - !!!!:FIX:UI.Vision: Adaption to Qt WebEngineWidgets instead WebKit and checking the playing moved to a QTimer at the period STD_WAIT_TM(5) seconds for: updating the size and position attributes, stopping the playing in cache and rolling; !!!!: Adaption to Qt MultimediaWidgets instead Phonon and appending for alarms notifying in runtime. 2023-08-30 Roman (stable) - LibsDB.OscadaLibs: tmplib_LowDevLib.RDTech: Nondouble commands set to send the command twicely for stable applying by the device, postcommand delay set to 0.2 and moved in common. - DAQ: Information of the value attribute appended by the field of timestamp the current value. - Transports: List of the OpenSCADA hosts appended by the empty item for the possibility of changing the transport type. The IO log expanded for cleaning at the log disabling. - Protocol.SelfSystem: Some improved in the compression processing. - FIX:UI.Vision: Fixed in early OpenSCADA pages removing before the prinitng and exporting dialogs. FIX: The local media URL of Phonon transferred in absolute one for playing by GStream. FIX: Fixed in the Phonon volume translation to 1.0 as 100%. 2023-08-06 Roman (stable) - LibsDB.OscadaLibs: tmplib_DevLib.FF_LE: Finished in the implementation. 2023-08-06 Roman (stable) - !!:FIX:Protocol.SelfSystem: Fixed in double request packing of the output transports at second tries of reconnection or reauth. 2023-07-29 Roman (stable) - Transport.{SSL,Sockets}: The default port value moved to the definition DEF_PORT. - !!:FIX:Transport.SSL: Fixed in specifying the connection timeout of TSocketOut::connectSSL() in milliseconds at performing the initiative connection. 2023-07-29 Roman (stable) - DAQ.DAQGate: Appended of the error message "No active source on the remote station" instead empty errors. - !!!!:FIX:Transport.SSL: TSocketOut::messIO() prevented from hang at endlessly reading by BIO_read() after the socket closing, by checking errno for EAGAIN. The connection error message appended by the timeout value information. 2023-07-25 Roman (stable) - !!!!:Transport.*,Protocol.SelfSystem: Refactored and unified in the additional parameters management and expanded in using the connection time parameters for registering configuration parameters of external sources like to protocols: - the modules version of the Transport subsystem increased up to 26; - the container configuration field "A_PRMS" of the additional parameters moved to the core library from the modules; - appended by functions TTransportS::{prm,cntrCmdPrm}(), {TTransportIn,TTransportOut}::prm() with common implementation the additional parameters; - conPrm() expanded by support the configuration parameters of external sources like to protocols and it extended to the input part, also as for the User API; - conPrm() appended by an argument of the default value and what used in all transport modules; - clearConPrm() expanded by clearing single parameter and only from external sources; - setConPrm() was removed after implementing this feature in conPrm() and some modules was updated for that: DAQ.AMRDevs, Protocol.SelfSystem; - Protocol.SelfSystem is the first protocol who is used now the configuration parameters in transport; - the output transports appended by a link to an input transport, who created the output one, and it is used for holding here the configuration parameters of external sources; - all configuration of the associated output transports are set hidden; - control of the additional parameters moved in own tab "Additional (aprm)" with a function of resetting their values; - marking the input and output transports as modified set only at the configuration fields real change. - Protocol.SelfSystem: Due to using the configuration parameters in transport, it appended by the 100x timeout to the common one for closing lost authentications and the timeout default value decreased to 1 (one) minute. - !!:FIX:Transport.SSL: Fixed the crash at the ciphers requesting in the status for once created and not connected or wrong connected output transports. The input default address changed to "*:10045". - Transport.Serial: The modem additional parameters moved to the separated additional parameters' tab. - Transport.Sockets: The input default address changed to "*:10005". 2023-07-25 Roman (stable) - FIX: LibsDB.vcaBase: wlb_Main.storeHouse: Guaranteed in filling the report dialogs by generating the opening events from the procedure. 2023-07-15 Roman (stable) - !!:Transport.SSL: The SSL context moved to the generic module object separately for input (ctxIn) and output (ctxOut) parts and the ciphers information was appended for: - the generic module object by SSL_CTX_get_ciphers(); - input-server transport status for SSL_get_shared_ciphers(), SSL_get_client_ciphers() and SSL_get1_supported_ciphers() or SSL_get_ciphers(); - output-client status for SSL_get1_supported_ciphers() or SSL_get_ciphers(). 2023-07-08 Roman (stable) - !!:Transport.{Sockets,SSL}: The input transports appended by a configuration field of properties of the initiative connection and the associated output transports - !!:Transport.SSL: The input and output transports appended by control MSS and the input transports appended by control the system input buffer, both taken from Transport.Sockets. Warning messages appended by notification the certificates missing for the input transport. 2023-07-05 Roman (test) - !!!!:SYS,DB.{SQLite,MySQL,PostgreSQL,FireBird},Protocol.HTTP: The messages translation adapted mostly for language codes more of 2 (two) symbols. - !!!!:Transport: !!: The TTransportIn::associateTrO() expanded by support the different stages ATrStg_Create, ATrStg_Proc. !!!!:SSL: Expanded by support of the initiative connections: - SSL connection code of TSocketOut::{start,stop}() moved to static ones TSocketOut::{connectSSL,disconnectSSL}() for using in the input transport; - SSL connection code of TSocketIn::Task() moved to TSocketIn::{start,stop}(); - removed for support the SSL algorithms and versions specifying in the mode due to that removing in the OpenSSL library and that was not used mostly, so there used only TLS_{client,server}_method() for new libraries (> 1.1) and SSLv23_{client,server}_method() for old ones. FIX:Sockets: Some fixed in the description. 2023-07-05 Roman (stable) - Protocol.HTTP,UI.{WebUser,WebVision}: Finished in adapting for dynamic translation the station name with unification the User API function pgCreator() for using language from objFuncCall(). 2023-07-01 Roman (stable) - SYS,Protocol.HTTP: Project icons obtaining by the function TSYS::ico() appended by obtaining the file path and that used in Protocol.HTTP for obtaining translated icons. - Transport.Sockets: The input transports some corrected in the modes describing and using the names. - Transport.SSL: Adapted to new functions of OpenSSL 1.1 (API 3.0) with treating deprecated ones. - !:Protocol.HTTP: Adapted for dynamic translation the station name and processing encoded file names of images. 2023-06-25 Roman (stable) - SYS,UI.{Vision,WebVision}: The function TSYS::atime2str() appended by the date translation and it is used in building the time scale of the primitive Diagram of VCA. 2023-06-25 Roman (stable) - data/Android/AndroidManifest.xml: Changed in android:versionName to 1.0. - !!!!:SYS,Archive.DBArch,DAQ.{BFN,JavaLikeCalc,ModBus,OPC_UA},Protocol.UserProtocol,UI.{VCAEngine,Vision,WebUser}: The Generic Storage renamed from "*.*" to "": - with naming the specific storages as "Generic Storage" and "Configuration File" everywhere through the new function TMess::labStorFromCode(); - appended by the definition DB_GEN "", which used everywhere instead "*.*"; - all generic fields like to "Archiver DB" renamed to "Storage"; - TMess::labStorRemGenStor() renamed to TMess::labStorRem() and appended by information about all object storages. - !!!:UI.Vision: Adapted for obtaining named list of the storages. 2023-06-17 Roman (stable) - LibsDB.OscadaLibs: tmplib_base.{digAlarm,manInUnif,anUnif,pidUnifImp,anUnifSt,pidUnif,codeState,SNMP,UPS}: The NAME IO set to the type "String (translate)" and the DESCR IO to the type "Text (translate)". - ModelsDB.AGLKS.St: All parameter objects in LogLevPrm.gen set for "alDelay" in 1, to prevent the alarm messages at the exiting. - FIX:DAQ: The DAQ-Templates finished in adapting to translation string type values at their editing and using in the Template Configuration Tab. - FIX:DAQ.DAQGate: Fixed in the values sending of the translatable fields not in the internal translation structure. - DAQ.System: The DA-Sources list adapted for the true dynamic translation. - UI.VCAEngine: The "Last request time, user, language" renamed to "Last request user, language, time". 2023-06-17 Roman (stable) - LibsDB.OscadaLibs: tmplib_base.ntf: Expanded by a possibility of specifying messages to exclude from the notification. - LibsDB.vcaBase: wlb_Main.storeHouse: Expanded by processing ID (index) also as other standard fields "NAME", "DSCR", to control the field visibility. - DAQ.System: The DA-source "CPU" expanded by CPU detection without accessing "/proc/stat", which can be inaccessible. The DA-source "Power" expanded by reading the multiline property files. 2023-06-10 Roman (stable) - LibsDB.{OscadaLibs.flb_Controller.test,vcaBase.prj_archBrowser.IDW}, ModelsDB.AGLKS.St.{OPC_UA.test,Archive.{MemInfo_use,CPULoad_load}},ModelsDB.Boiler.St.Archive.{MemInfo_use,CPULoad_load}: Adapted to renaming DAQ.System.AutoDA.CPULoad and DAQ.System.AutoDA.MemInfo to DAQ.System.AutoDA.CPU and DAQ.System.AutoDA.MEM. - SYS: The object TElem appended by a function contN() of obtaining for counter of the connected containers. During of refactoring the module DAQ.System the functions TSYS::{sysClk,clkCalc,shrtCnt,HZ}() were removed and appended by TSYS::{sysClk,setSysClk}() for receiving the CPU frequency from DAQ.System. - DAQ: The object TVal appended by a new flag AttrFlg::NoSave for preventing of marking as modified at the attribute change. - !!!!:DAQ.System: Completely refactored and expanded for: - expanding the CPU DA by CPU information and frequency from different sources, including CPUFreq with the control; - appending a new DA Power as an interface to Linux Power; - unification the DA interface calls DA::init(), DA::deInit(), DA::makeActiveDA() with moving most DA modules to call the unified code and implementing for them only the unified function dList(). - the DA interface class appended by the new signs: isDynamic(), hasSubTypes(); - appending a mode of the data generic updating from the Service Cycle and the Controller DA Task, by the new function updGen(); - ID of the automaticly generated DA parameters changed to: CPU - "CPU[{N}]", fs - "FS{MP}", hddstat - "DiskSt_{dev}", MEM - "MEM", netstat - "Net_{IF}", sensors - "Sensors", hddsmart - "DiskSMART", ups - "UPS", uptime - "UpTm_{U}". - the hddtemp DA appended of removing the used transport at missing the service. - UI.QTCfg: The short RO values appended by setting the fixed width corresponding to the value font metric. 2023-06-09 Roman (stable) - SYS: TElem::fldList() set to const. - Archives: Copying the value archives appended by copying the data source if it is empty one in the target object. - DAQ.DAQGate: Appended by the cached attributes direct copy at the parameter objects copy, after preventing of storing "ATTRS". - Transports.*: Restored in storing "A_PRMS" for allowing the specific attributes copy and those objects are not big for such sort memory optimisation. - UI.{QTCfg,WebCfgD}: The messages "On", "Off" renamed in "Yes", "No" correspondingly, for the boolean screen items. - FIX:UI.WebCfgD: Fixed in processing the empty comboboxes. 2023-05-27 Roman (stable) - LibsDB.OscadaLibs: flb_Controller.test: Appended by extra tests for string::{parse,parseEnd,parsePath,parsePathEnd}() after fixing the End variants in the last item processing at direct accessing and if the item is empty. - FIX:LibsDB.vcaBase: wlb_Main.userManager: Fixed in saving the groups' changing by saving the changed groups and not the user. - !!:FIX:SYS: The function TSYS::strParseEnd() and TSYS::pathLevEnd() fixed in the last item processing at direct accessing and if the item is empty. Sending the Control Interface commands to the redundant stations is allowed for warnings and errors of the "save" command on the source-initial station. - DB: TBDS::dataGet() and TBDS::dataSet() appended of checking the DB emptiness and generation the "The node is not stored." messages. - DAQ.DAQGate,Transports.*: Prevented in holding content of the transitive attribute "ATTRS" and "A_PRMS" in the memory for decreasing the memory consumption at 10-20%. 2023-05-20 Roman (stable) - FIX:Archives: The diagram building of the value archive fixed for crash at some very short data when h_div can become zero. - SYS: Reverted back the changes at 2023-02-16 about "The service request "load:/{Node}/%2fobj" appended by clearing the configuration context after the loading." since that context can be used hierarchically or in the redundancy. - ModSchedul: The modules checking period was set in 0 by default for disable the modules checking at empty configurations. 2023-05-15 Roman (stable) - !:Archives: The "Values" tab expanded in the statistic field "Number" by no source (passive), error (missing source) and lost (empty DB) value archives; the tab also appended by the group cleaning-removing operations of the value archives for no source - passive, with error source - missing source, lost archives - empty DB. - !!:FIX:SYS: Handling the default values fixed-expanded on taking in the account for the command-line options and especially SYS->modDir() which is the sum of the two configuration and command-line options "ModDir" and ModSchedule::"ModPath", and this problem was detected on Android. !:FIX: Obtaining the project icon fixed at the project switching by clearing the base name mNameB. - UI.QTStarter: For the project icon obtaining there is used the unified function SYS->ico(). - UI.QTCfg: Labels of the Image, List and Table fields appended of the possibility of the label text selection by mouse. 2023-05-07 Roman (stable) - !!!!:SYS: All system (SYS) configuration parameters adapted for true handling the default value. - Protocol.SelfSystem: Code of the external-output connections implementation cleaned additionally. Configuration fields of the compression merged to one row. Error messages about limiting the authentications moved to the Debug level. 2023-05-02 Roman (stable) - Transports: Table of the OpenSCADA external hosts returned back for the Transport.Serial selection here. - !!!!:FIX:Protocol.SelfSystem: Significantly reviewed and fixed in the external connections implementation, appended by checking limit the header size. - Protocol.UserProtocol,UI.{VCAEngine,WebUser}: Prevented the RWLock potencial recursion and deadlocks at using pure pthread_rwlock. 2023-04-30 Roman (stable) - FIX:LibsDB.{OscadaLibs,vcaBase}: Some automatic fixed for the translations. - FIX:SYS,Archive.FSArch,DB.LDAP,DAQ.FT3: Some fixes of building with the "musl" C Library and closedir() call for NULL, from Sergey Dudanov. - FIX:SYS: Fixed in many places of the "into" word using. - SYS: The translation configuration fields TrPassN, TrChkAndFix, TrChkAndFixMB moved to the dynamic variables due to there is no need of their store. The translation mark "<<>>" renamed to "<<>>". - Archives.{FSArch,DBArch}: The automatic creation value archives are setting now with the empty storage. - !!:Archives: The "Messages" tab of the "Archive-History" subsystem appended by a function of automatic clearing old Alarms from the Active Alarms Table at the specified days depth. - Protocol.SelfSystem: Was set to response by compressed (with level -1) packages at the compressed requests. - !!:Protocol.UserProtocol: The input part expanded by a possibility of schedule the user procedures call in the service cycle, for the background processing of some data; the Object's attribute "This (this)" was appended here also. 2023-04-22 Roman (stable) - !!:LibsDB.OscadaLibs: The templates library DevLib appended by initial implementation of the counters "FF LE-03MB CT (FF_LE)" and Ergomera 625(ergomera625). Some automatic fixed for the translations. - !!!!:SYS,UI.{QTCfg,WebCfgD}: The Control Requests code TError::Core_CntrWarning expanded for the warning messages pass in the attribute "mtxt" with the main data storing. - SYS,Security,UI.VCAEngine.Libs: Adapted to load empty objects (automaticly created) from the first source with such data, when the source can be inaccessible at the main starting time. - !!!!:SYS: The translation page moved in the notification about fixes to pass them to the user through the expanded Control Interface warnings. The flag "chkAndFix" of the translation page split to "chkAndFix" and "chkAndFixMB". !!!!: The TError object expanded by new constructors with the "const string &" type arguments for no limiting strings and the convenience. !: The function TCntrNode::setStorage() of the storages processing expanded by just replacing of the empty queue. - !!:UI.{QTCfg.WebCfgD}: Unified in notification the errors of the Control Interface during improvement the code TError::Core_CntrWarning and QMessageBox appended of the detailed text at the message longer for 255. 2023-04-15 Roman (stable) - FIX:SYS: The static messages translation function improved in omitting empty messages for the binary strings with only zero symbols. - !!:FIX:DB,DB.PostgreSQL: Processing the table emptiness some softened during problems in DB.PostgreSQL about that, that is no exception generated now. !!:FIX:DB.PostgreSQL: Switched to the standard way of detection the missing Tables with it creation at "toCreate" and the exceptions generating else, so preventing the message "Table is empty.". - DB: The DBs listing function appended of placing the "Work DB" on the top always, as the most priority one. - DAQ.ModBus: The syntax highlight rules appended also by the true rules of highlighting bits in the form "R_b:123.12". - !:FIX:Protocol.UserProtocol: Appended by releasing the User Node functions at the disable. Fixed-adapted for the dynamic translation of the IO names. - FIX:UI.QTCfg: Restored in positioning at the navigation tree search. - UI.VCAEngine: The control request "connect:/serv/sess" appended by the attribute "onlyMy" for connection only to own sessions, and the request "get:/ses/ses" appended by the same attribute for listing only own ones. - FIX:UI.Vision: The User login dialog appended of clearing the password field in the not auto login mode. - !:UI.WebVision: Improved in processing the connections of the ordinal users to own VCA-sessions. 2023-04-09 Roman (stable) - FIX:LibsDB.vcaBase: Finishing the word "Quittance" fixing to Quietance. FIX:wlb_doc.docUsersSet: Appended by encoding the value fields also, due to there can be not just digits now. - !:DAQ.DAQGate: The function TMdContr::messSet() of the DAQ related messages setting adapted to support attributes in the parameter address for significant attributes of the generic-container parameters, that is needed for the messages transmission from the up stations to the down ones. - !:DAQ.ModBus: Appended by the parameter "Omit cycles for read back of written" for separate control such feature apart from the asynchronous writing. 2023-04-01 Roman (stable) - !!:DAQ.JavaLikeCalc: Expansion-finishing the object's cycle implementation "for({var} in {obj}) {body of the loop}" by the possibility of pointing as the Object of the included ones through the properties or from the results. !!: The constant values appended by "null" as a synonym to EVAL (EVAL_REAL). All the constants appended to the syntax highlighting as the values like to "true" and "false". - UI.WebUser: Tooltip appended by description the property "schedCall". 2023-03-25 Roman (stable) - Rebuild. 2023-03-25 Roman (stable) - !!:LibsDB.vcaBase: 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. - !!!!:SYS,Transports,UI.Vision: The function's TSYS::strEncode() TSYS::ShieldSimb encoding 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.{DAQGate,ModBus}: Status of the buffer of the asynchronous writing moved into the global context as "To write %d. ", that is for the communication errors also, since the writing buffer is available here and costantly in the Asynchronous Writing. Counters type switched to uint32_t for allowing the resetting and preventing the frozzing. - !:FIX:UI.{VCAEngine,Vision}: For encoding strings of the environment variables of the external notification scripts there used the method TSYS::ShieldSymb and only in the symbol '"', for preventing encoding "'". - !!!:FIX:UI.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". - !:UI.Vision: Appended by overriding the Phonon notification method with a notification script declaration in the prioritaty attribute "notifyVisVision{N}". Enabled to notify the active alarms at the start, for the notification script as for Phonon. - !!:UI.WebUser: Expanded by a possibility of schedule the user procedures call in the service cycle, for the background processing of some data. 2023-03-18 Roman (stable) - FIX:Transports: Fixing the building for old environments. 2023-03-18 Roman (stable) - !!!!:FIX:SYS: Rewrote the function TCntrNode::nodeAt() to prevent of call the virtual chldAt() under the lock mChM, so preventing some dead locks in the virtual definitions of chldAt(). - !!!:Transports: The IO log appended by its writing to a file for very big ones at pointing the log size -1. Commands of the table of the external hosts appended by names for custom. - DAQ.DAQGate: Some improved in managing the configuring subtab "Configuration of the remote parameter" of the remote station in different states. - DAQ.{MMS,OPC_UA,System}: The prefix "TCP:" removed from address of the Sockets transports, as the default one. - Protocol.HTTP: The user requests processing part of the function TProt::outMess() cleared from the Socktets' transport default prefix "TCP:" during processing the XML property "Host". - FIX:UI.{QTStarter,Vision}: The default table delegate appended by processing a new property "active" in TableDelegate::createEditor() to prevent edition not active tables in UI.Vision runtime. - FIX:UI.WebUser: Fixed-adapted for the dynamic translation of the IO names. 2023-03-13 Roman (stable) - data/Android/patches/openscada_oscada.xml.patch: Patched for only using AGLCS.png, AGLKS.png and Boiler.png icons and without АГЛКС.png what is not allowable in Android. - LibsDB.vcaBase: The message "Copy" translation was some changed. wlb_Main.{anShow,anShow1,TextLab,ImgLab},wlb_mnEls.El_Alarm: The attribute "ntf","spName" set to be the translated string. - LibsDB.OscadaLibs: flb_servProc.docOffLine: Adapted to the service request changing "get:/%2fgen%2fprog" to "get:/%2fgen%2fenv%2fprog". - ModelsDB.AGLKS.Model: The message "Pressure after the first stage of the compressor" translation was some changed. - ChangeLog: Many changes-fixes in this file. - FIX:DAQ.GPIO: The file po/oscd_GPIO.pot was appended to the repository. - FIX:DAQ.ICP_DAS: The file include/i8048W.h was appended to the repository. - FIX:Transport.Sockets: Fixed in use the proper type socklen_t of the size argument of the getsockopt() function, that doesn't compile here for Android. - !:Protocol.HTTP: Appended by the HTTP Attributes of disabling the WEBBrowser Cache in whole: "Cache-Control: no-cache, no-store, must-revalidate", "Pragma: no-cache", "Expires: 0". - UI.QTStarter: Hiding the logo image was set just as the projects apply button. 2023-02-23 Roman (stable) - LibsDB.OscadaLibs: tmplib_LowDevLib.RDTech: The default device address was appended by the timeouts part "||1000:40-20". - !!!!: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. The resources of the widget library wlb_Main was updated for the image "edit.png" and appended by the image docIt.png. wlb_Main.alarmsStReport: renamed to "Report" for the common using by Main.storeHouse. - Transport.Serial: The output transport expanded for the possibility of setting the timeouts field in the address one. - UI.QTStarter: Added by a possibility of the logo dynamic hiding at low height. - FIX:UI.Vision: Fixed for some original messages. - FIX:UI.WebVision: Fixed in processing the view Table of the primitive FormEl for conditions of the column fitting. 2023-02-16 Roman (stable) - SYS: Writing to the configuration in XML prevented in doubling the translated field for the configuration contexts. NSTR_BUF_LEN(50) split to CFG_A_LEN (100) for using in the maximum attribute size of the configuration cell in XML. The service request "load:/{Node}/%2fobj" appended by clearing the configuration context after the loading. - !!!:Transports: The IO log of the transports appended by the data modes: "Binary & Text", "Binary", "Text". - UI.{QTCfg,WebCfgD}: The remote hosts copy appended by clearing in the "load" command-request for the attributes "ctx" and "rez" after the "save" command-request. - FIX:UI.QTCfg: Fixed-restored for building in the Qt4.7 environment. Avoided from doubling the scrollToItem() in the navigation tree due to jumps sometimes. The previous and next navigation buttons added by tooltip with items in the navigation lists. - !!!:UI.VCAEngine: The widget libraries adapted to interhost copying. - !!:FIX:UI.Vision: Fixed of hanging in the navigation tree at missing icons of the widget libraries, after removing empty "ico" tags in the previous commit. FIX: Fixed-restored for building with old LibC++. 2023-02-05 Roman (stable) - !!!:DOC: The "API" document completely revised in the section "Control Interface and dynamic tree of program objects" which unified and the section "Service commands-functions" moved there as a subsection, the subsection "Service commands-functions" completely rewrote and appended, and all those translated in Ukrainian. - !:LibsDB.OscadaLibs: tmplib_DevLib.mbBase: Switched to use TTransportS::outAt() and allowed for empty item names. - !!:FIX:data/openscada-proj.in: Expanded by the new environment variable OSCD_TAR_Args of defining extra tar arguments like to --exclude and it was set to the default value "--exclude=lock --exclude=ARCHIVES". FIX: Fixed in description and using the environment variables OSCD_TAR_ComprPrg and OSCD_BackLim. For the environment variables there used the substitution instead the direct condition. - SYS: The Control Interface request "chlds:/{nPath}/%2fobj" appended by not creating the empty icon tags "ico". - 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. - DB.DBGate: Appended by setting the default values before the request MTable::fieldSeek() for decreasing the network trafic. - DAQ,DAQ.JavaLikeCalc,Protocol.{ModBus,HTTP}: Commands to the Control Interface tables reordered for moving the deletion "del" to the end. - !!!!:DAQ: The Logical Level linking appended by a form of the address representing as the prefixed path "prm:/node/node", so with support of the relative addressing at "." and "..": - the DAQ item linking functions expanded by the base node specifying in the attribute "ndBase": ctrListPrmAttr(), daqAt(), prmAt(), attrAt(); - implementation object TPrmTempl::Impl of the Logical Level of the DAQ template expanded for the new linking support. - FIX:DAQ: The service request "list:/DAQ/{MOD}/{CNTR}/prm_{PRM}[/prm_{PRM}]/%2fserv%2fattr" fixed in the attribute name translation. - FIX:DAQ.ModBus: Fixed in the transport selection list form. - Archive: The value archive object TVArchive appended by declaration the enumeration ServReqDtMode for the Control Interface request "get:/Archive/va_{ARCH}/%2fserv%2fval". - FIX:UI.VCAEngine: The visualisator specific attributes fixed in work after the source widgets reloading, by allowing the flag Attr::VizerSpec loading. The Control Interface request "get:/UI/VCAEngine/%2fserv%2fwlbBr" appended by not creating the empty icon tags "ico". - FIX:UI.Vision: The type Trend of the primitive Diagram fixed in updating the trend values under cursor at the cursor change during the common loading and fixed in the current cursor hold after it setting by setCursor(). - FIX:UI.WebVision: The type Trend of the primitive Diagram fixed in setting the EVAL values to the trend cursor values at tracing the current time by the cursor and the tracing period more at 1 second. 2023-01-19 Roman (stable) - SYS: Fix the building. 2023-01-19 Roman (stable) - LibsDB.OscadaLibs: tmplib_DevLib.SLOT: The Device Address IO added of the conversion from SN specified directly in the field. - LibsDB.vcaBase: wlb_Main.storeHouse: The filters appended by separated clearance also at the class change. - SYS: 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. TFunction::operator=() finished in adaption to the IO name translation. - FIX:DB: Absence the flag TFld::TransltText means as the translation complete missing for that field. - DAQ.{ModBus,LogicLev,OPC_UA,Siemens}: TMdPrm::loadIO() cleaned from the spare argument. - !!!!:{DAQ,Protocol}.ModBus: Appended by the option "e" for the register endian switch to LE for generic and BE for strings. - !!:DAQ.ModBus: The string extension of the registers appended by the input charset conversion. - !:FIX:Protocol.ModBus: Fixed-adapted in the IO name dynamic translation. FIX: Appended by clearing spare Data IO at loading. FIX: The Data Node is set to disabled at loading now. FIX: Prevented from reloading at the Data Node enable. - UI.QTCfg: Fields of the commands limited in them attributes by only name, text and "id" at copy. 2022-12-26 Roman (stable) - !!:UI.{WebVision,Vision}: The type "Line Edit" of the primitive FormEl adapted to store the value from the data model at the element editing - to restore the true value at cancel the changes. - !!!:UI.WebVision: 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. !!: The included pages closing set after several (4) row appears - to prevent of closing all pages at fast navigation. 2022-12-18 Roman (stable) - FIX:DAQ.DAQGate: Fixed in the errors setting for StHd::err at the type MtxString, replacing by the direct data locking and "string". 2022-12-18 Roman (stable) - !!:FIX:LibsDB.vcaBase: wlb_doc.docUsersSet: Added by the "Message category (messCat)" configuration. FIX:wlb_Main.anShow: Fixed in speeding up at alarms. wlb_Main.userManager: Disabled in the periodic processing. wlb_Main.storeHouse: Switched to use the transaction for reading the changes in the first cycle. wlb_Main.grpGraph10: Appended by the control panel open at the event key_mousePresLeft also. - FIX:DAQ: The service request "get:/serv/mess" of obtaining the data source messages of the Controller Object appended by ignoring the processing for empty categories by catsPat(). - !!!:FIX:DAQ.DAQGate: The message categories in catsPat() of obtaining the data source messages of the Controller Object switched to generate own detailed rules of the regular expression from the specified remote controllers - to prevent very redundant messages obtaining. !!:FIX: Improved-fixed in the Controller Alarm status formation for multiple stations, when ALARM it is at missing connection of all stations. The controller parameter list allowed for empty rows. - !:UI.VCAEngine: Obtaining calcPer() switched in the sessions to obtain original-project's value from the parent at "-1". "!!redefined!!" renamed to "REDEFINED". - UI.Vision: Added by the hosts sorting in the host selection lists. 2022-12-02 Roman (stable) - FIX:Archive: TPrmTempl::Impl::lnkId() added of checking the function availability due to the execution context can be cleared already on busy systems. 2022-12-02 Roman (stable) - LibsDB.OscadaLibs: tmplib_DevLib.SLOT: The IO "sched" set to the Read Only Attribute also. - FIX:Archive: The new function TPrmTempl::Impl::archAttrs() fixed in use the links lock "lnkRes". - UI.{Vision,WebVision}: Exporting the Document tables to CSV appended by preventing the empty rows. 2022-11-29 Roman (stable) - !!:LibsDB.OscadaLibs: tmplib_DevLib.SLOT: The IO "sched" switched to the link for binding several counters under single scheduling. - FIX:LibsDB.vcaBase: wlb_doc.docRepInstVals: Fixed in centering the diagram. - !!!!:Archive,DAQ.{LogicLev,ModBus,OPC_UA}: Finished the unification of archiving at the Logical Level sources when used only the direct-passive archiving: - the object TPrmTempl::Impl appended by the new function archAttrs() of updating-archiving attributes of the LogicalLevel; - 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. - SYS: The User API functions strptime() and strptimegm() set in the time default initiating to 0:00:00. The XMLNode loading flags appended by the no flag item LD_NO. - !!:FIX:DAQ: Setting the LogicalLevel links prevented from cleaning all the string after the space at the link constants "val:". - !!:DAQ.LogicLev: Some improved in work the parameter type "Reflection", that also switched to the passive archiving mode. - UI.Vision: The station selection field appended by the short help about the new item "" processing of the profile combobox. FIX: Fixed in processing the Qt function QGuiApplication::saveState() renaming to QGuiApplication::saveStateRequest() in the Qt5. FIX: The splash image recreation condition (ico_t.size() != splash->pixmap().size()) was removed but it doesn't work on Qt4 and spare one mostly. The splash building moved under a lock the resources. Begin of the splash messages time moved to the memorized one at the splash type change. Splash updating appended for the short waiting in 0.01 seconds and the tries set to 3, what is the enough condition for the splash visibility on Qt5 and Qt4. - !!:FIX:UI.VCAEngine: Prevented from crashing on big configurations with long closing the runtime sessions in accessing the widget heritors (mHerit) by appending the ResRW lock "mHeritRes". !!:FIX: Fixed in setting the widget procedure field translation "PROC" at the start, when by default it wrong allowed for translation. - !:FIX:UI.{VCAEngine,Vision}: The field of procedures translation fixed in the visibility processing and updating. - UI.{WebCfgD,WebVision}: Makefile.am: The procedure of building of the source code for JS and HTML files was some unified in the files complete processing by SED. 2020-07-05 Roman (stable) - DOC: The document "AGREEMENT ON TECHNICAL SUPPORT OF THE "OpenSCADA" SOFTWARE" version 2 finished and appended to the offline documentation. - !!!!:SYS,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, after a module starting and stopping, the configuration loading (for switch to the starting splash), before the modules starting; - enabling the messages dynamic display for the main thread execution mode; - unification of the splash display for the both modes. - FIX:SYS.Functions: Time limit of the functions manual execution some approximation to STD_WAIT_TM (5 second) to make it not lesser. - FIX:DAQ: System messages of enabling, stopping, disabling controller objects are fixed. - !!!!:Transports: The configuration option "START" was removed for the output transports as spare one and to prevent long starting. - !!:FIX:Protocol.ModBus: The output requests of the TCP-variant appended for checking Transaction ID of the response packages. - FIX:Transport.{Sockets,SSL}: The output transports appended for discard connections at the program stopping. - UI.QTStarter: The backuping is made busy the main interface before the operation finish. The starting UI Qt-modules configuration was made selectable. 2020-06-28 Roman (stable) - data/Android/build.sh: Appended for build in the new module DB.DBGate. - !!!!:data/openscada-proj.in,UI.QTStarter: Finished in implementation the backups support by implementing the command "backupList" and limits of the backups. UI.QTStarter: Appended for the backup commands call from the project manager - list of the projects. - SYS: TSYS::objFuncCall() moved to public. - FIX:SYS: The OpenSCADA tasks priority fixed for SCHED_FIFO in it display as 0. - UI.VCAEngine: completely cleared from calcProgTr() indirect accessing and calcLang() and calcProg() set to use TSYS::strLine() directly instead the strange processing with spare marking the modification. 2020-06-21 Roman (stable) - DOC: Updating the offline documentation. 2020-06-21 Roman (stable) - DOC: Document of the module "DBGate" appended for downloading to offline. - 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/openscada-proj.in: Appended for the commands "backup", "backupRestore", "backupList" to implement the project backups. - LibsDB.vcaBase: Cleaned from the old procedure's state "Translate" setting for inherited pages in the projects. - TSYS: TCfg::setReqKey: Appended for an argument - !!:FIX:DB: TBDS::dataSet() expanded for setting only keys and viewed elements, like to other DB. - TDB: The service requests "/serv/fieldStruct", "/serv/fieldSeek" and "/serv/fieldGet" access changed to SEC_RD. - !!:DB.DBGate: The module cleaned, some fixed and tested. - !!:FIX:DB.SQLite: there detected and corrected of data losses with concurrence access, when a minor error of the not activated transaction "cannot commit - no transaction is active (1)" is generated, which, however, interrupts the data recording. - !!:Protocol.SelfSystem: The output part expanded for checking correspondence of the responses to the requests by the request tag name and sequences in "rqSeq". Appended for encoding special symbols of the user and password, and the empty password encoding as "". - !!!!:FIX:Transport.{Sockets,SSL}: To prevent the multiple execution of the high loading and long-time control requests the output transports switched to: - the default configuration for Tries=1, Timeouts="30:2"; - for the connection losses the tries number set to 2; - for the error "Timeouted" the connections also set to reconnect, besides the SOCK_FORCE type. - FIX:UI.QTCfg: Sending requests to other selected items is performed only for the main request result TError::NoError. - UI.QTStarter: The OpenSCADA information on the splash moved to the right and the OpenSCADA project to the left. - UI.VCAEngine: The property "Translation" of the widget procedures completely moved to the direct access and set visible only for the procedure presence, also as the procedure text area and the calculation periodicity visible only at any language selection. - FIX:UI.Vision: Fixed in the user change at the remote work, after the previous mark. Prevented from try the user changing to no password one in the remote work, only the warning before the implementing. 2020-06-14 Roman (stable) - !!!!:LibsDB.OscadaLibs.DevLib.IEC62056: Completed in the basic implementation. - LibsDB.vcaBase.Main.alarmsSt: Default value of the property alArch set to "FSArch.alarms". - data/icons_src/splash.xcf, src/moduls/ui/QTStarter/images/splash.png: Some updated for the additional information placing about version the program and the OpenSCADA project. - !!!!:DAQ.JavaLikeCalc: Appended for the second variant of the internal function's variables treating in own namespace, so limiting the concrete function's variables number for saving/restoring also only from the second entry. The previous-first variant remained present and can be switched just uncomment the definition IN_F_SHARE_REGS. - !:FIX:UI.QTStarter: Fixed in applying the project specific splash at the project switch. The standard-system splash updated and appended for information about the program and the OpenSCADA project, including the project icon. 2020-06-08 Roman (test) - SYS: data/oscada_server.xml, data/oscada_plc.xml: The input WWW-transports are unified, where "WEB_1" renamed to "WEB" and "WEB_2" removed. data/oscada_start.xml: Appended for the disabled input transports "WEB" and "CNTR"; the value archivers FSArch.{SYS,alarms,actions} and message archivers FSArch.{1s,1m,1h}. - !!:LibsDB.OscadaLibs: JavaLikeCalc.Controller.text: The tests function appended for JavaLikeCalc internal functions' tests, including the recursion call. !!:DevLib.IEC62056: Cleared, appended up to the OBIS reading what tested on SL7000. The implementing is continued... - FIX:LibsDB.vcaBase.Main.alarmsSt: Some fixed for the original messages and the "quietation" completely replaced by "confirmation". FIX: Restored in preventing the duplicate entries for new alarms in that category. - !:FIX:DB: TBDS::dataGet() (and TBDS::dataSeek()) prevented from getting the previous value at loading from the config-file, by setting the default value. - SYS: The original message "Accessing" renamed to "Accessible". - !!!!:DAQ.JavaLikeCalc: The internal functions executing appended for storing the shared registers context for allowing the recursion primarily. The storing also decreased the used registers number and the function appended by the compilation status information. The feature is tested now! - DAQ.{LogicLev,ModBus,Siemens}: Controller and parameter objects, disabled in the source, prevented from enabling at the interstation copy. - !:UI.QTStarter: The start/stop splash image appended for the OpenSCADA version. The message "Creating-updating a project" renamed to "Create/update project". - FIX: UI.VCAEngine: The field "Completely translate the procedure" on the project side set to directly obtained, independently from the procedure inheritance. FIX: Opened pages processing of the session commands switched to from the end, due to the last opened pages place in the end. FIX: The user action time update appended also at requesting the complete pages tree in the service request "openlist:/serv/pg", what is a typical user action for WEB in reconnection to present session. - UI.Vision: Marked to implement the visualizer specific attribute "userSetVis" in work with the remoted visualizer server. - !!:FIX:UI.WebVision: The issue of closing all pages of the main page container with frozing the last loss page at fast page switching caught and fixed at last. !:FIX: The link to the user login page set to the session-project complete path, to return back the session-project after the login. !:FIX: The original user setting moved to the common function userSet() in way of fixing the reconnection to the same session after changing-decreasing the user in "userSetVis". 2020-06-01 Roman (stable) - !!:FIX:DB: TBDS::dataSet() fixed in the last appending for changing-saving the defined entries in the config file by call that only for not empty path, instead what we have some tags of the configuration file changing to "tbl". - SYS: TCfg::setExtVal() in FALSE appended for cleaning the string value from the extended parts. 2020-05-31 Roman (stable) - !!!!:LibsDB.OscadaLibs: The Devices Library appended for the protocol IEC-62056 initial implementation (DevLib.IEC62056). - SYS: The module BD.DBGate appended by the representative icon image. - FIX:SYS: The User API function TArrayObj::indexOf() fixed in -1 converting to unsigned. - FIX:DB: The function dataSeek() call fixed in the service control "call" of "/serv/fieldStruct", "/serv/fieldSeek", "/serv/fieldGet", "/serv/fieldSet", "/serv/fieldDel" - !!:FIX:UI.Vision: The user manual changing prevented from checking for the lesser or even permition. 2020-05-25 Roman (stable) - data/openscada.spec: Appended for including modules to the OpenSCADA core library: - DB.DBF, DB.SQLite, DB.DBGate, DAQ.JavaLikeCalc, DAQ.LogicLev, - Transport.Sockets, Transport.Serial, - Protocol.SelfSystem, Protocol.UserProtocol, - Special.FLibComplex1, Special.FLibSYS Appended for building: --enable-LDAP --enable-MMS --enable-DiamondBoards --enable-ICP_DAS. - data/{debian,debian_mod}/control: Appended for a dependency to libldap2-dev for DB.LDAP. - data/debian_mod/control: Appended for the external module openscada-db-ldap and removed for the external module "openscada-daq-bfn". - data/{debian,debian_mod}/rules: Appended for including the new module DB.DBGate, building DB.LDAP and not building DAQ.BFN. 2020-05-24 Roman (stable) - !!!!:FIX:SYS.*,DB: TBDS::dataSeek() and TTable::fieldSeek() switched to the seek cache implementing in the corresponded modules. !!!!:SYS: Modules version of the subsystem BD risen to 22. Core library version risen to 4:4:0. !!:DB: TBDS::{dataSet,dataSeek}() expanded for saving and restoring the TCfg structure in "localCfgCtx", mostly for the new module DB.DBGate. FIX: TCfg::setReqKey() prevented from the flag "KeyUse" cleaning. TFld: Appended for the combined string variant of the length field - lenS(). - !!!!:FIX:DB: A new module "DBGate" created and appended. !!:FIX: TBDS::dataSet() appended for changing-saving the defined entries in the config file instead complete saving all their in the default DB. !!:FIX: DB loading is prevented from double loading from the config file and from DB for the equal entries. !!:FIX: The wrong started DB objects in the first fixed for try them next start tries. !:FIX: TBDS::{open,close}() fixed for true functional locking by the lock "resTbls". !!: The TBD object appended for the service control "call" requests support: "/serv/SQL", "/serv/fieldStruct", "/serv/fieldSeek", "/serv/fieldGet", "/serv/fieldSet", "/serv/fieldDel". What mostly designed and used in DB.DBArch! - FIX:DAQ.JavaLikeCalc: Moving the calculation context modification to the option "modifCalc". FIX: The control interface command "/cntr/cfg/toFunc" some specified. - UI.QTCfg: Tracing the control items of the navigation tree appended for scrolling to the current item. The getExpandTreeWIt() function appended for processing items without the group prefix - the default group. 2020-05-10 Roman (stable) - FIX:UI.QTCfg: Fix the building. 2020-05-10 Roman (stable) - LibsDB.vcaBase: doc.docUsersSet: The styles appended for a specific rule of the "Description" collumn - "TABLE.data TD:nth-child(5) { white-space: normal;}" - FIX: data/openscada-proj.in: The command "list" some improved to show the preinstalled and user projects. - data/{oscada_start,oscada_server,oscada_plc}.xml: Appended for the disabled DB-entries of the standard OpenSCADA libraries. - !!:FIX:SYS: The function TCntrNode::isModify() processing for the children allowed only for nodes in the state "Enabled". FIX:TFunction: Set in started at the direct execution enabling. FIX:XMLNode: The function text() in the text taking mode from special parts "<*>" appended in reading the original text content at the children missing. FIX:Transports: The IO log order inverted to the last in the end for the message parts visual concatenation. The "Request" tab appended in concatenation the response data at the request missing. FIX: The dynamic system properties mWorkDB, mSelDB and mMainCPUs moved under the data lock. Appended for the function pathLevEnd() of the paths processing from the end. - FIX:SYS,UI.{QTCfg,WebCfgD}: The control node attribute "acs" appended for the maximum level permition in the high octet what used in the configurators. - !!:SYS: The loading and saving configuration appended for own lock TSYS->cfgLoadSaveM(). - !!!!:SYS,DB,DAQ.{LogicLev,ModBus,Siemens},UI.{QTCfg,WebCfgD}: Appended for the interstation copying mechanism of the control interface nodes: - appended for the global configuration context accessing functions cfgCtx() and setCfgCtx(); - the redundancy processing expanded in the command "save" redundancy only at missing the attribute "ctx"; - DB: dataSeek(),dataGet(),dataSet(): Expanded for the local configuration context argument "localCfgCtx" and the configuration context processing together the global one SYS->cfgCtx(); - DAQ.{LogicLev,ModBus,Siemens}: Some adapted for IOs copy. - UI.{QTCfg,WebCfgD}: Expanded and allowed for the interstation copy. - FIX:DB.SQLite: Fixed for some warning messages in the building. - !!:UI.QTCfg: Appended in tracing the page changing for indication in the navigation tree. FIX: Fixed for the text field processing - updating with the previous syntax highlight rules, what causes the content visual corruption, and in the position restoring. - FIX:UI.WebCfgD: Fixed for the default target-group obtaining in itPaste(). Fixed for wrong call document.dlgWin.close(). 2020-04-26 Roman (stable) - !:FIX:LibsDB.vcaBase: Main.userManager: Expanded by generation the operator action messages. FIX:Main.anShow1: Fixed for f_start processing, replacing for EVAL checking. Everywhere messInfo() of the operator actions "OP:" replaced to messNote(). - Security: The user object expanded by the permition comparing function permitCmpr(). - FIX:UI.VCAEngine: The widget processing state moved under the lock mCalcRes to ensure the start execution before any ordinal and the stop execution after any ordinal. - UI.{Vision,WebVision}: The visualizer specific attribute "userSetVis" processing expanded by checking the directly set user for the lesser or even permition. 2020-04-19 Roman (stable) - LibsDB.vcaBase: Main.anShow1: The border width dislinked from the activity status. - !!!:FIX:DAQ,DAQ.{JavaLikeCalc,ModBus,Siemens},Protocol.UserProtocol,UI.WebUser: The templates implementation fixed in processing the links reconnections and the functions lnkInit() and initLnks() appended the forced relinking flag instead "checkNoLink". - !!:Protocol.HTTP: Appended for the user API function setUser() to change the authenticated user. - !!!!:FIX:WebVision: Fixed for the POST requests correct result code 204. !!!!: Appended for implementation the visualizer specific attribute "userSetVis". - UI.VCAEngine: The user last action time is initiated at the project session creation and connection. 2020-04-12 Roman (stable) - FIX: LibsDB.OscadaLibs: The template library "LowDevLib" and the JavaLikeCalc library "servProc" appended for the translated description. FIX: The template "digitBlockUnif" of the library "base" fixed in own description, caused to the template loss. The function "diagram" removed from the JavaLikeCalc library "web". - LibsDB.vcaBase: Main.userManager expanded for the possibility to edit the unprivileged user own information and password. - !!:FIX:DAQ,DAQ.{LogicLev,ModBus,Siemens}: !!:FIX: The templates implementation fixed in editing the links configuration to force the template modification flag. !!:FIX: The value changing through the Control Interface forced to setting the parameter modification flag. LogicLev,ModBus,Siemens: Allowed for the parameter loading in the run, to reload the values context. - !!!:FIX:UI.WebVision: Fixed in work with some pages missing, at the runtime objects locking and the early linking mechanism improved in general. - !!!:UI.WebVision: Significantly improved in the connection losses detection for the main page reload, for the cases of return back to already closed sessions in WebBrowser. The page of list the available projects and sessions appended for the actual user information. 2020-04-06 Roman (stable) - !!: The fuction TCntrNode::nodeName() is set to not abstract one and return "", for the possibility it partially lost and crash in the TCntrNode destructor. - !!:FIX:UI.{Vision,WebVison}: Fixed in use abs() for the long long integer, replaced to llabs(). 2020-04-05 Roman (stable) - data/*.spec,{debian,debian_mod}/changelog: rom_as@oscada.org and OpenSCADA replaced by roman@oscada.org. - DOC: The document "Industrial devices library", "Low level sensors and chips library" and "Service procedures library" appended for downloading to offline. The document address "Regulation elements library" fixed to Libs/Regulation_elements. - LibsDB.OscadaLibs: base,LowDevLib,techApp,servProc,doc,regEl: The description is some appended for common description and sponsors. - LibsDB.vcaBase: mnEls,doc: The description is some appended for common description and sponsors. - LibsDB.vcaElectroEls: The description is some appended for sponsors. - Archive.DBArch,DAQ.{DAQGate,DiamondBoards,OPC_UA,SMH2Gi},Transport.Serial,UI.VCAEngine: Some fixed in the comment messages. - DB.{DBF,LDAP}: Cleaned from the transaction properties in the configuration. - !:FIX:UI.WebVision: Prevented from crashing in the VCAObj destructor at the cache clearance in the multithreads. imgDef moved from VCAObj to VCAElFigure. 2020-03-22 Roman (stable) - !!!!:DB.LibsDB.OscadaLibs,Model.AGLKS.vca: The document of "the Prescriptions library" and "the Regulation elements library" is completed. !!: Items of "the Prescriptions library" expanded for DB linking and the command and program tables automatic creation. - UI.VCAEngine: Widget procedures calculation period -1 means currently the value (not -1) from the parent widget-page. - !!!!:FIX:UI.{Vision,WebVision}: The primitive "Diagram" is fixed for the negative time zone processing. - !!:FIX:UI.WebVision: The variant "Animation" of the primitive "Media" processing is improved by disabling the animated images scaling on the server side, then the animation loss. !!: Appended for the new parameter "Resizing raster images on the server side." to control the images transformation on the server side. 2020-03-15 Roman (stable) - !!:DB.LibsDB.{vcaBase,vcaTest}: The prescription frames "prescrEdit", "prescrRun" and "prescrRunSimple" moved to the new library "Prescriptions (prescr)". - FIX:UI.{Vision,WebVision}: The mirroring property of the primitive "ElFigure" is completed in the implementing at the filling by image. FIX: The filling by image in the primitive "ElFigure" prevented from lacks at accessing outside the image. - !!: UI.WebVision: The primitive ElFigure source code is significantly cleaned again. 2020-03-08 Roman (stable) - !!!!:DB.LibsDB.{vcaElectroEls,OscadaLibs}: The document of "the Electrical elements library of the user interface" is completed, all items are revised and the four new items are appended: "Key, unified (keyUnif)", "Switch, unified (swUnif)", "General state, unified (stGenUnif)", "Area state, unified (stAreaUnif)". - !!!!:SYS,Archive.FSArch,DB.{MySQL,PostgreSQL},DAQ.{JavaLikeCalc,LogicLev,ModBus,Siemens,SoundCard},Protocol.ModBus, Transport.{SSL,Serial,Sockets},Special.FLibSYS,UI.{QTCfg,VCAEngine,Vision,WebVision}: !!!!: The source codes significantly cleaned at the building warnings of GCC 9 (CentOs 8) and !!: The CentOs 8 chroot appended for build OpenSCADA. - DB: The label "Tables lifetime" renamed to "Opened tables lifetime". - !!!!:UI.{Vision,WebVision}: The mirroring support of the primitive "ElFigure" significantly advanced for the shape Arc draw and it generic fills. - !!:UI.Vision: Edition of the primitive "ElFigure" switched to the normal mode, without any transformation (rotation and mirroring). !: The Arc shapes of the primitive "ElFigure" allowed in connection each other in the fillings build, like to the sector diagram. - !!: UI.WebVision: The primitive ElFigure source code is significantly cleaned. Scroll areas of the popupmenu select are set to be hidden. 2020-03-01 Roman (stable) - !!:DB.LibsDB.vcaBase: doc.docRepYear: Significantly improved for: - appended for the option "showOrigCntr" to show the original counter values; - the time column aligned to the left; - expanded in the counters processing for the manual entering to a value archive. doc.{docRepDay,docRepMonth,docRepYear}: The "Result" row is set for "font-weight: bold;". Main.{anShow,anShow1}: Appended for the tooltip with the parameter and its errors description. - !!:DB.LibsDB.vcaElectroEls: The full restructuring of the libraries was started for true documenting, revision and translation. - !:Model.AGLKS.vca: The analog parameters and graphics is relinked. - !!!!:SYS,DAQ.{BlockCalc,LogicLev,ModBus,OPC_UA,Siemens,System},Protocol.ModBus: Unified and cleaned for the objects modification control, moving the calculation context modification to the option "modifCalc". - !!!!:UI.VCAEngine: The project sessions of the VCA moved at the last from the modification control for the development mode. Prevented from save the value of inherited and linked attributes, seems it have not a sense but can significantly use the storage. - !:FIX:Transports: Fix the terminating the transports loading at try to connect the missing transport modules. - FIX:Archive.FSArch: The archive folder creation moved in the begin, before the locking and the info.db creating. - DAQ.OPC_UA: Forming for ID of the parameter attributes moved under the generic enumeration function TSYS::strLabEnum() and the qualifier digit is removed. - UI.Vision: The items ID generation at placing pages to the project changed to start from the source page original ID, not index 1. 2020-02-24 Roman (stable) - FIX:DB.LibsDB.OscadaLibs: doc.diagram: Fixed All entries of SVG tag "text-anchor" value "left" to "start". Improved to align in the left the first horizontal scale item. - FIX:DB.LibsDB.OscadaLibs.doc.diagram,UI.{Vision,WebVision}: Fixed in processing the percent scale for single or even values. - !!!:FIX:DB.LibsDB.vcaBase: Main.{alarmsAct,alarmsSt}: Fixed in using the view "Table" of the primitive "FormEl" for using the attribute "fontColor" instead the correct "colorText". !!!: doc.docRepYear: Significantly improved for: - the counters support: display both the counter interval value and the original value, display the resume row; - the manual input support; - appending of configuration the document depth of the selecting. doc.{docRepInstVals,docRepDay,docRepMonth,docRepYear}: Improved for centring the diagram area and by appending the scale information near the measurement unit. Main.ElViewGraph: Some improved for expanding the value field to all widget width and the default precision set in 6. - !!!:Model.AGLKS.St: FSArch.1m: The strange and temporary message archivers removed: FSArch.{NetRequsts,test,StatErrors}, DBArch.test and added the actual ones: FSArch.{alarms,actions,SYS}, DBArch.SYS. The information files or DB using is enabled for the packed files. - Model.AGLKS.vca: The report documents of Day and Month report switched to the dynamic mode, for Web mostly. All graphic groups of the project AGLKS relinked to refresh. - SYS: "" in the help to the configuration-file parameters renamed to and the help improved in whole. - SYS,UI.QTStarter: Some source files cleaned from spare header files. - Archive: Default precision of the service "/serv/val" values set to 15. - DB: TBDS appended for configuration of the option lifetime of the inactive tables closing. - Transports: The new service functions outKeepAliveTm() renamed to outLifeTime() and placed to the command-line help. - Archive.=Tmpl=: TSYS::real2str() replaced by r2s(). - !!!:FIX:Archive.FSArch: The XML mode of the messages appended by the positions cache. !!!:FIX: The messages archivation is significantly improved and fixed in placing several different messages in even time. - !!!:FIX:UI.VCAEngine: Fixed in deletion the project pages in time of the project execution, to prevent the objects lock and their early linking for removing the session pages together the project pages. FIX: Fixed in wrong group links display as "Custom: ..." for some empty links presence. - !!:UI.{Vision,WebVision}: Disabled in limiting the requested archive values precision of the primitive "Diagram", for long counters. - UI.WebVision: Enabled for the limited implementation of mirroring the primitive "ElFigure" images. 2020-02-18 Roman (stable) - FIX:DAQ.ICP_DAS: Fixed for build with the error code TError::NoError, at previous define NoError in i8014W.h. 2020-02-18 Roman (stable) - !!!!:DB.LibsDB.{OscadaLibs,vcaBase}: The document of the "Reports' and documents' library" is completed. - !!!:FIX:DB.LibsDB.OscadaLibs: doc.diagram: Fixed in limiting the draw at the vertical area size. !!!: Appended for the trends build from directly specified data. - !!!!:DB.LibsDB.vcaBase: doc.docRepYear: Completed in creating by implementing: enter values in the manual mode, support for the manual values storing into the message archive, them display in the table and diagram. Main.{grph_panel,doc_panel}: The size enter range expanded to [0.1...366], for the possibility to embrace one year time interval. - !!!!:SYS,DB.{PostgreSQL,SQLite},DAQ.{MMS,Siemens},Protocol.SelfSystem,UI.{QTCfg,VCAEngine,Vision,WebCfgD}: TError appended for naming the error codes in the enum "Codes", which used everywhere. !!:Modules version of the subsystem Special risen to 21, of the subsystem Transports risen to 22. Core library version risen to 4:3:0. - Archives,DAQ: The value archive buffer errors of inserting too old values appended for the error code TError::Arch_Val_OldBufVl and it processing in TValue for cleaning the wrong buffers. - Archives: TVArchive::setVals() appended for the exceptions processing to prevent of interruptions the whole process at writing to one archiver. Font size of the builtin diagrams builder of the values increased to 10 pixels. - DAQ: The redundancy processing procedure TController::redntDataUpdate() appended for the exceptions processing to prevent of not starting the DAQ-controller objects at errors in the archivers, mostly in Archive.DBArch. - DAQ,Special: The attribut "run_st" in TPrmTmplLib and TSpecial renamed to runSt. - !!!:Transports,Transport.*: Appended for a service of closing output transports at the keep alive (inactivity) time. !!: Unified for the last request time control of the output transpors. - !!!!:FIX:Transport.Serial: Fixed for the Modem mode of the output tansports in the correct processing the function ResMtx::tryLock() result. 2020-02-11 Roman (stable) - !:DB.LibsDB.OscadaLibs: doc.diagram: Appended for support the big time range intervals per month. - !:FIX:Model.AGLKS.St: Fixed in transfering to SQL, appending the option --newlines to sqlite3, but only that is supported by old sqlite3 versions. - !:UI.{Vision,WebVision}: The view "Trends" of the primitive "Diagram" appended for the big time range interval per month support. 2020-02-10 Roman (stable) - !!:FIX:DB.LibsDB.OscadaLibs: The JavaLikeCalc function doc.diagram fixed and improved for: - appending the argument "Archiver (arch)" after the geometry arguments; - fixing the main date position of the horizontal scale at the time part missing; - fixing of show the first-left date-time item. FIX: The templates library "Main library (base)" fixed for the link to its documentation. FIX: The template "Discrete parameters block (base.digitBlock)" fixed for the mark "obsolete". - !!!!:DB.LibsDB.vcaBase,Model.AGLKS.vca: doc.{docRepDay(renamed docGasNodeDayA),docRepMonth(renamed docGasNodeMonthA),docRepYear(renamed docResourcesYear)}: Revised during the documenting and made the JavaLikeCalc translation by tr(). !!!!: doc.{docRepDay,docRepMonth}: Significantly rewrote, improved and made secondly usable, by allowing the DAQ-parameters connecting. doc.docRepInstVals: The parameter attributes appended by "Minimum (min)" and "Maximum (max)" for trends. doc.docRepYear: Advanced for implementing the main functions. - FIX:SYS,UI.QTCfg: The redundancy reforwarding fixed in the early cleaning "reforwardRedundReq" just after the requests processing. - !:FIX:DAQ: The logical level links, include the specific ones also, in the template configuration fixed in their cleaning at the links' value changing to or "val:". - !!:DB.SQLite: Appended for correct treating the locking of the SQLite DB files, at accessing to common libraries from different processes. - !!:FIX:DB.{SQLite,MySQL,PostgreSQL,FireBird}: Prevented from wrong cleaning the table information for disabled DBs. - FIX:UI.Vision: Fixed in updating the target page after copying items caused to a warning of their restoring from the parent base. - !:FIX:UI.{Vision,WebVision}: The runtime requests appended for "reforwardRedundOff"="1" to prevent them the redundancy. The view "Trend" of the primitive "Diagram" fixed in show the first-left date-time item. 2020-02-03 Roman (stable) - !!:FIX:DB.LibsDB.OscadaLibs: doc.diagram: Fixed and improved in the trends building at the generic percent scale, calculated automatically. JavaLikeCalc.DevLib renamed to "Industrial devices" and descriptions of most items are updated. The forming now document "Reports' and documents' library" appended to offline. The "gasPoint" item removed from the template library "base". - !!!!:DB.LibsDB.vcaBase: doc.{doc,docDin,docRep2WorkSh(renamed docRepSm2),docAlarmsRep,docRepInstVals(renamed docGasNodeMgn),docMessRep,docUsersSet}: Revised during the documenting and made the JavaLikeCalc translation by tr(). !!!!: doc.{docRepInstVals,docRep2WorkSh}: Significantly rewrote, improved and made secondly usable allowing of DAQ-parameters connecting. DB.LibsDB.vcaBase.doc.docGasNodeDayOrder moved to DB.LibsDB.vcaTest.test.docTestGasNodeDayRep. - FIX:Model.AGLKS.Model: Some fixed in the Ukrainian translation. - Model.AGLKS.St: Some parameters appended for archiving "FSArch.1s". - Model.AGLKS.vca: Updated in links of the renamed document frames. - SYS,DAQ: Some original messages and "Only attributes are to be shown" renamed to "Show attributes". - DAQ.LogicLev: Updated in the translations. - !:FIX:UI.VCAEngine: Fixed in the User API function tr() work from documents. 2020-01-21 Roman (stable) - !!!!:DB.LibsDB.OscadaLibs: JavaLikeCalc.doc: The libary revised during the documenting and appended for the function "Diagram (diagram)" of the diagrams building to SVG. !!:servProc.docOffLine: significantly expanded for detailing the error messages and placing the unfinished pages to the argument "pagesCur" for continue the termination. The final documents appended for the header and footer with the common OpenSCADA information and the language selector enabling. JavaLikeCalc.techApp: some updated for the description. - DOC: The common CSS-styles file of the offline documentation "doc/en/files/doc.css" improved to disable the transparent background color and some properties of the language selector. - DB.LibsDB.vcaBase: The VCA library "Main" and "mnEls" some updated for the description. Elements of the VCA library "mnEls" completed in their translated description. - !!:FIX:SYS,DAQ.JavaLikeCalc,UI.VCAEngine: Fixed in the offline documentation declaration for "User_API". - !!:UI: The inline documentation declaration from description some nodes is unified in the function TUIS::docKeyGet(). !!: TUIS::docGet() appended by a code of the LTS build checking and using the LTS frozen documentation on the OpenSCADA file-server. - UI.{VCAEngine,Vision}: Appended for support the inline documentation declaration from description of the VCA-libraries. 2020-01-14 Roman (stable) - !!!!:DB.LibsDB.vcaBase: The document of the "Mnemonic elements library of the user interface" is completed and appended to the offline. 2020-01-05 Roman (stable) - !!!!:DB.LibsDB.vcaBase: The document of the "Main elements library of the user interface" is completed at the last and appended to the offline. !!!:Main.{grpCadr,ViewCadr,ElViewCadr,ResultGraph,ResultGraphEl,cntrRegul}: Revised during the documenting. Call of the OS utility fixed by decreasing the length argument to 100000. - FIX:Model.AGLKS.St: The template property "tCmd" of the parameter LogLevPrm.gen.CB7 is set to 0. 2019-12-31 Roman (stable) - !!:DB.LibsDB.vcaBase: Main.{grph_panel,doc_panel,cntrPasp,cntrPaspExt,treeSelect}: Revised during the documenting. - FIX:Model.{AGLKS.vca,Boiler.St}: Fixed for the original message "Pasport". - !:DAQ.JavaLikeCalc: Set to stopped at the program source changing for apply the changes. - FIX:DAQ.{JavaLikeCalc,LogicLev,ModBus,Siemens}: Prevented from double setting of the sign "f_start" at the start. - Transport.{Sockets,SSL,Serial}: The "Started" and "Stopped" messages appended the suffix "connected" and "disconnected" respectively. - FIX:Transport.{Sockets,SSL}: The "No data" reading message some fixed and expanded. 2019-12-22 Roman (stable) - !!:FIX:DB.LibsDB.vcaBase: Main.{terminator,ElCadr}: Revised during the documenting. FIX:Main.calendar: Fixed for month start in Sunday (0) in the weeks form and background of the disabled items. FIX:Fixed for the message "reversed" translation. - FIX:DB.LibsDB.OscadaLibs: DevLib.{1W_DS9097,W_DS9097U}: Fixed for the device family detection as the template 0x7F, detected on the last DS2413 with the first byte 0xBA. - DB: The SQL-requesting dialog appended for the time measurement. - DAQ: TDAQS::rdRestDtTm() expanded from the float to double type. - FIX:SYS: The redundancy task fixed moving the declaration "XMLNode req("CntrReqs");" up to the same request, due to the possibility of back reading wrong responses. - FIX:Transport: Fixed in the transports copying for additional parameters, by call load_(). - FIX:DAQ.JavaLikeCalc: Appended for disabling controller objects at changing the linked function/template. - !:UI.Vision: Appended for an option of the module to drop widget styles to the common one for some specific widgets in the runtime. - FIX:UI.WebVision: The views "Date" of the primitive "FormEl" is fixed in the calendar for month start in Sunday (0) in the weeks form and background of the disabled items. 2019-12-08 Roman (stable) - !!:FIX:SYS: The JavaLikeCalc translation by the function tr() fixed in creating the translations table "Trs" and entries here in the simple mode (single language). !!:FIX:The function TSYS::chkSelDB() fixed after expanding for checking the DB enabling, checking the special DBs DB_CFG, "*.*". - FIX:Archive: TArchiveS::rdRestDtOverTm() fixed by expanding from the float to double type, due to the precission errors at multiplication on 86400 in reloading from the local archive of the redundancy. - !!!!:SYS.Transport,Archive.FSArch,DAQ.{BFN,GPIO,ModBus,OPC_UA},Protocol.{OPC_UA,HTTP,SelfSystem},UI.{VCAEngine,Vision,WebVision}: Some common data resources of dataRes() replaced by own resources, mostly due to the observed locking problems in Protocol.HTTP, DAQ.ModBus. - DB.MySQL: The default timeouts set to "10:5:5". - !!: DB.{MySQL,FireBird,PostgreSQL}: The connection restoring appended by limit in 3 tries, to prevent of hangs at timeout errors. Tables list obtaining of the DB switched to the indiferent mode to transactions. - DAQ.ModBus: Appended for writing into the logical context in the redundant mode. 2019-12-02 Roman (stable) - !:FIX:DB.LibsDB.OscadaLibs: JavaLikeCalc.web.diagram: Fixed in the horizontal scale (time) building. - !:FIX:DB.LibsDB.vcaBase: Main.graphSelPrm: Some fixed in forming the combobox. - !!:SYS.*: DB-objects appended for restoring their enabling after the connection loss. !!:The loading from selected DB improved in checking the DB enabling before. The function TSYS::chkSelDB() expanded for checking the DB enabling. 2019-11-24 Roman (stable) - !!!!:DB.LibsDB.OscadaLibs: DevLib.IEC60870: Appended for the separate time "tmPoolAll" of the period of the complete polling. Unified for moving the input value writing to the single function inVal() and the timestamp obtaining in the function getTm(). Appended for support the functions M_SP_TA_1, M_DP_NA_1, M_DP_TA_1. !!:web: The JavaLikeCalc library "XHTML-template" appended for a function of building diagrams "Diagram (diagram)" in SVG, to build in XHTML. This function designed in the features of the primitive "Diagram" of the VCA. !:servProc.docOffLine: The links processing appended for http-tags support (http://URI#{tag}). DevLib.DNP3: Appended for the attributes translation to Ukrainian and Russian. - DB.LibsDB.vcaTest: Procedure of the widget test.FormElTests completely rewrote. - DAQ.LogicLev: Enabled for the possibility of the scheduling change at the running. - UI.{QTCfg,Vision}: Appended for buttons of the force loading and saving, into the menu. - UI.VCAEngine: Appended for tracing the procedure changing in the included procedures also. - FIX:UI.{Vision,WebVision}: The view "Trends" of the primitive "Diagram" some improved in form the lowest value of the vertical scale. 2019-11-19 Roman (stable) - !!!!:FIX:DB.LibsDB.OscadaLibs: DevLib.IEC60870: Fixed to send STOPDT at the template stop. !!!!:DevLib.DNP3: Finished in the protocol implementation, tested with outstation-demo from opendnp3. - FIX:SYS: The user API function strFromCharUTF() fixed for the case-insensitivity in the UTF name. 2019-11-10 Roman (stable) - !!!!:DB.LibsDB.OscadaLibs: The templates library "DevLib" appended for the DNP3 initial implementation, just for the function Special.FLibSYS.CRC() testing and expanding now. - !:FIX:DAQ: alarmSet() is changed to use complete parameter ID-path, to prevent collisions in alarms from parameters with even IDs but different levels. - !!!:Special.FLibSYS: The function CRC of implementing the Cyclic Redundancy Code is completed by using normal polynomials, the input and output references and the XOR for output, during the protocol DNP3 implementing. - FIX:Transport.SSL: Some closerer verision of support DTLS1_2 is set - 0x1010006fL. 2019-11-04 Roman (stable) - FIX:Transport.SSL: Fixed for building with DTLSv1_2 in the old environments. 2019-11-04 Roman (stable) - !!!!:DB.LibsDB.OscadaLibs: The templates library "Main library (base)" is finished in it form-documenting and translation to Ukrainian. !!:regEl.{pidUnif,pidUnifD},base.{manInUnif,anUnif,anUnifSt,manInUnif,digAlarm,codeState,pidUnif,pidUnifImp,SNMP,UPS}: Revised and translated during of documenting the templates base.{pidUnif,pidUnifImp}. base.digAlarm: Appended for the template description. !!!!:base.{anUnif,anUnifSt,manInUnif,digAlarm,codeState,pidUnif,pidUnifImp,SNMP,UPS}: Moved under the unified alarms forming and controlling mechanism. !!:web: The JavaLikeCalc library "web" of the WEB functions appended for start implementation of diagrams building in SVG, for reports and the user web-interfaces. - Archives: TArchiveS::messGet() allowed for read only the buffer or the allarms table, mostly to fast control the alarms presence. - !!!!:DAQ: alarmSet() expanded by implementing the alarms triggering conception, which means also of passing messages to the buffer for clearance the alarms only at the alarms presence. - Security: The user's DB-field "LANG" size expanded up to 50 and the user's group's DB-field "USERS" size expanded up to 1000000, for more users support. - !!:FIX:DAQ.{LogicLev,ModBus,Siemens,FT3}: The template's implementation DB-field "ID" size of the IOs expanded up to 1.5x of the base size (30). - Protocol.ModBus: The protocol variant recognising for input requests some improved for detecting difference RTU and TCP variants, appending to that the transport type. - !!!!:DAQ.ModBus: The asynchronous writing moved to the after requesting stage with oppresing the writen values changing in the attributes, before the writing buffer clearance. - !:Transport.{Sockets,SSL}: The output transport improved in using the tries after the error "Reading timeouted." of responding to request. - !!:Transport.SSL: Appended for treating NO_*_METHOD for TLS1, TLS1_1, TLS1_2, DTLS1 and for direct support DTLSv1_2. - FIX:UI.QTCfg: Fixed for empty item name for one item selection and in the item deletion dialog. - FIX:UI.WebVision: The view "Trends" of the primitive "Diagram" fixed in endMarkBrd of the endpoint date and time. 2019-10-20 Roman (stable) - !!:DB.LibsDB.OscadaLibs: base.ntf: Revised and translated during the documenting. !!:base.initConsAssignTrs: Expanded in work with any type of the source objects, that is DAQ-modules and logical level controllers and parameters. Translated and documented. - !!:FIX:SYS: Fixed in the phased tasks aligning to prevent of growing twicely the real task periodicity at the high load and for big phases. - FIX:Transport.Sockets: The output transports in the type "Forced sockets" prevented from saving. - UI.QTCfg: Adapted for the correct redundancy in the generic commands and the repeating operations, clearing the attribute "reforwardRedundReq". 2019-10-14 Roman (stable) - DB.LibsDB.OscadaLibs: The new template "initCon_ModBus" renamed to "initConsAssignTrs" before the unification to the logic-level sources. - !!:DB.LibsDB.vcaBase: Main.calendar: Revised during the documenting. - !!!!:FIX:Archives: The redundancy and DAQ.DAQGate restored for writing the big value archive's blocks, mostly in restoring the value archive parts. - !!!:DAQ.*: Writing values in the redundancy is unified under the new function vlSetRednt(), where used the attribute "reforwardRedundOff" setting to prevent of the different redundancy mechanisms using twice. !!: The service "get:/serv/attr" expanded to some spare request of the last requested value to prevent EVAL here at the connection loss. - FIX:DAQ.{LogicLev,Siemens}: The specific redundancy of the templates execution context is fixed by using the attribute "reforwardRedundOff" setting to prevent of the different redundancy mechanisms using twice. 2019-10-09 Roman (stable) - !!!:DB.LibsDB.OscadaLibs: The "base" templates library appended of the template "initCon_ModBus" of processing associated output transports of the initial Sockets' connections of the DAQ-module "ModBus". - !!:FIX:DAQ.ModBus: Fixed for the logical level parameters default error. !!: Expanded in the DAQ part to work with wrong or empty connection transport, to allow it set-change from external procedures, like to the previous one. Allowed to select the empty transport. - !!!:FIX:Transport.Sockets: Fixed in processing the output transports with the address "SOCK:{N}" of the initiative connections to clean up the address by setting it to "SOCK:-1", then preventing of the restarting possibility with using already closed socket's handler but possible allocated by another part of the program. FIX: Input transports fixed in the status information for the establishing and processing the initiative connections. Address of the input transports in the TCP-mode can be expanded for addition parameters and currently the next one after the mode field is identification message of the initiative connection into the mode 2, so this mode expanded for sending identification messages after establish the initiative connections. 2019-10-06 Roman (stable) - FIX:DB.LibsDB.OscadaLibs: Some original messages are fixed. FIX:base.UPS: Fixed for the translation inverting. base.{UPS,SNMP}: Revised during the documenting. !!:DevLib.IEC60870: Appended for the package M_ME_NC_1 support, expanded for the SQ-mode support, tested for M_ME_TF_1 and M_ME_NC_1, M_ME_NB_1 in the SQ-mode, set AI to "real". FIX:base.{digAlarm,manInUnif,anUnif,anUnifSt,codeState}: Fixed for blocking individual EVAL violations at the global PLC-object violations. - !!:DB.LibsDB.vcaBase: The "Main" library appended of the objects widget "Object properties (objProps)". - SYS: The special archive names appended for the name ALRM_ARCH_CH_NM ("") of just changing the presented alarms. - !!!!:Archives: The service "/serv/mess" in put it is improved for independent writing to the archive and just to update the presented alarms. !!: TArchiveS::messPut() cleaned from the argument "force". !!: Messages of the function's Mess->put() macrosses "message", "mess_info", ... redirected to the buffer writing, to prevent of direct writing to the archives. - !:DAQ.ModBus: Appended for the test behavior of closing PLC alarms at it moving to the redundancy. Prevented from spare coils requesting after wrong asynchronous writing. 2019-09-22 Roman (stable) - !:FIX:DB.LibsDB.OscadaLibs: DevLib.IEC60870: Cleaned in treat the output transport timeouts setting directly in the template due to use the not requesting mode. - !!:DB.LibsDB.vcaBase: The "Main" library appended of the alarms frame "Alarms — report (alarmsStReport)". - FIX:Archives.Mess: Processing of the message buffer resize some fixed in checking the archiver headers and improved in the same processing code. - Transports: Some spare rules of the syntax highlighting of the log messages are commented. - !:FIX:DAQ.ModBus: The common function upVal() is separated to two functions upValStd() and upValLog() of the parameter types separate updating for the "Standard" firstly and the "Logical type" in the last, for cases of using data of the "Standard" type parameters in the "Logical" ones. - Transports.{Sockets,SSL,Serial}: The debugs and exchanging log are cleaned from the timeouted messages in the not requesting mode. - FIX:Transports.Serial: Some fixed for the original messages. - FIX:UI.{QTCfg,Vision}: Fixed in processing the syntax highlighting of the text fields to load firstly the syntax rules and next the text, to prevent the text corruption in some cases, detected into the transport exchanging log and Qt 5.11. 2019-09-16 Roman (stable) - !!:FIX:Archive,DAQ.Controller,Special.FLibSYS: Fixed for TSYS::curTime()/1000000 conversion to time_t for 32 bit architectures. - !:SYS.Android: The behaviour of using the environment variable QT_SCALE_FACTOR on Android is observed, what set to 1.5 and the default font "Helvetica,12,-1" with QScrollBar CSS rule are removed. - !:DB.LibsDB.OscadaLibs: DevLib.IEC60870: Appended for the package M_ME_TF_1 support which is not tested yet and treat of the output transport timeouts depending the template periodicity. - !!:DB.LibsDB.vcaBase: Main.alarmsSt: Revised during the documenting. - !!!!:Archive,DAQ.DAQGate: The messages bottom time border processing for redundancy and the DAQGate changed to use time of the last message to repeat it requesting for two time, to prevent the messages loss on the border. !!: The first alarms obtaining in the messages redundancy enabled only at presence the message archives in the redundancy. - !!:Archive,DAQ.Controller,Special.FLibSYS: For the current time of messages and values mostly used TSYS::curTime()/1000000 instead time(NULL) due to the message and value time is in microseconds and mark by TSYS::curTime(). - DB: The function TTypeBD::open() return changed always to the requested ID for already presented nodes. - !:Archive.{FSArch,DBArch}: Access control to the message put() and get() functions restored to the first one, due to changing the messages bottom time border processing in the redundancy and DAQ.DAQGate. - !!!:FIX:Archive.FSArch: Fixed for the info.db processing by using the DB address as a unique essence instead limited DB-identifier, what currently is named through indexing the equal ones. FIX: The message archivers also prevented for the empty info.db clearing, put new messages before the first checking and the first checking in whole after the object stop. - !:FIX:DAQ.JavaLikeCalc: The controller objects are restored in the possibility of edition of the controler object procedures after it enable. - !:UI.VCAEngine: The runtime widget appended of the user API function attrList() of obtaining list of the widget attributes. 2019-09-08 Roman (stable) - !!:DB.LibsDB.OscadaLibs: The ".dump" command of sqlite3 3.27 significantly changed, needs now for the parameter "--newlines" !!:DevLib.{ModBusScan,IEC60870}: Revised and appended during the documenting. Appended for the option "syncTimePLC" to controll the PLC synchronisation. The IOA address is set for allow DEC, HEX and OCT views of the determining. - !!:DB.LibsDB.vcaBase: Main.alarmsAct: Revised during the documenting. FIX: Fixed for processing the custom fields. FIX:Main.grph_panel: Fixed for tipTool and tipStatus content of the button "To cursor". - !:TArchives: The objects TMArchivator and TArchiveS appended of the function redntTm() and rdTm() to obtain last time of the message archives redundancy. FIX: TArchiveS::messGet() and the OpenSCADA control service "/serv/mess" are limited in the end time for time(NULL)-1, for the current time. !!: Placing messages to the archives of the redundancy procedure TMArchivator::redntDataUpdate() changed to use the function put(), to do this operation atomically for all obtained messages under a lock. - DAQ.TController: The service "/serv/mess" changed to obtain the last message time from the last redundancy operation time for controller objects under redundancy and time(NULL)-1 else. - !:Archive.DBArch: The messages archiver object appended by a RW-lock of the put(), get() operations. - !:Archive.FSArch: The messages archiver object is set to use globally the RW-lock in writing into put() - !:DAQ.DAQGate: The next time of the messages redundancy is set to s2i(prmNd->attr("tm"))+1 due to the returned time must be completed in the messages. - !!:FIX:UI.Vision: Manual scaling of the runtime window (for full-screen or maximise) improved and fixed in the processing the sign isResizeManual - it is cleaned in the end of the processing cycle and set just in the function fullUpdatePgs(), what must prevent of returning the window mode to one in the data model after manual resize, especially for big system fonts. FIX: Fix by workaround of false warning dialogs of changing the inherited widget precedure, which became actual on Qt 5.11 at the higlight rules setting, also for blocked events, through checking the text difference. 2019-09-01 Roman (stable) - SYS.Android: The building SDK parameters set to "". - !!!:FIX:UI.QTStarter: Fixed in crash at the event QContextMenuEvent call for not QWidget, into UI.Vision runtime mostly. The right key simulation disabling at focus loss is set wide to the source widget, otherwise we lose the first selection the widget in the simulation into UI.Vision runtime mostly. Precision of the right key simulation time risen to microseconds. - FIX:UI.WebVision: Fixed in the view "Load" processing of the "Button" mode of the primitive "FormEl" moving it back to the obligatory one primitives. 2019-08-26 Roman (stable) - SYS: The reforwarding requests of the redundancy appended by the option "reforwardRedundOff" of disabling this function for the user control interface. - !!!!:FIX:DB,DB.*: The configuration context resetting function cfgToDefault() used in the function dataSeek() and fieldSeek() begin, due to it is an obligatory operation for the configuration file at least and must be done for the DB configuration also, for new fields. 2019-08-25 Roman (stable) - !!:DB.LibsDB.vcaBase: Main.accept: Revised during the documenting. !:Main.userManager: Expanded to save the subsystem Security for just created and removed users. Main.graphCalc: Expanded to show range of the real loaded data. - !!!!:SYS,UI.{QTCfg,Vision,WebCfg,WebCfgD}: The function "Local primary commands transfer" of the redundant systems is unified and expanded for complete moving to TCntrNode::cntrCmd(), so the function works now for any calls also from the user programming environment. But this function must be leave to be compatible in work with old versions in the redundancy! !!: The Control Interface request "load" expanded for specifying the selected DB in the attribute "force" to perform such operations for concrete node and with the function of removing missed nodes in the configuration. - FIX:UI.{Vision,WebVision}: Fixed for severity of the days periodicity of the time scale of the primitive Diagram. - UI.WebVision: Some improved for the updating periodicity calculation for it limit after restoring the long missed connections. The exceptions processing of the function getXmlHttp().send() removed due to at the connection exceptions the main loop is just stopped and no exceptions generated. 2019-08-21 Roman (stable) - !!!!:DB.LibsDB.vcaBase: The ".dump" command of sqlite3 3.27 significantly changed, needed now for the parameter "--newlines" and removes quotes around the table names. !!:Main.userManager: Documented and revised during the documenting. - !!!:FIX:Archive: TValBuf.get() switched from the exceptions emitting to return EVAL at the requested data missing. !!:FIX: getVals() improved for the limit processing independently for the buffer and the archivers and their periodicity, to work the long ranged and high periodicity data requests. - !!:FIX:UI.Vision: Fixed for real hiding of the columns of the view "Table" of the primitive "FormEl" on Qt 5.11. FIX: The "Text" field of the primitive "FormEl" is fixed for show tooltips in the runtime mode. The text fields of description the libraries and projects expanded for the word wrap. Export to CSV for the diagrams improved for replacing the original EVAL value to the string "Empty". - !!:UI.{Vision,WebVision}: The primitive "Diagram" expanded in the time scale building for more days with the time complete hiding and show the first value in the left. 2019-08-18 Roman (stable) - !!:DB.LibsDB.vcaBase: Main.RootPgSo: Revised during the documenting. - !!!!:DB,DB.{SQLite,MySQL,PostgreSQL,FireBird}: Significantly unified for the transactions closing control into the OpenSCADA core, due to needs for closing faster than 2 secons period of the current implementation for the network DBMS, so the transactions closing task moved to the OpenSCADA core and the transaction options appended to configure on the DB object side. !!: The generic data requesting functions dataSeek() and dataGet() improved to read with new fields, for the default value. The DBs loading function appended for resetting to default values before the next operation. - !!:SYS: Appended for the definition SERV_TASK_PER=10 of the service task periodicity. !!:{TConfig,TCfg}: Appended by a function of setting the TCfg fields to the default value, to prevent loading values of previous records for miss fields. !!:XMLNode: The attributes getting function attr() expanded for the optional argument of the presence detection. !!:Modules version of the subsystem DB risen to 21. - UI.WebVision: Some original messages were updated. 2019-08-11 Roman (stable) - !!:DB.LibsDB.vcaBase: Main.{grpGraph,grpGraph10,ElViewGraph,graphSelPrm,graphCalc}: Revised during the documenting. Main.ElViewGraph: Size of the name decreased from 15 to 11 and trend color of the disabled items set by default to "gray". Main.graphCalc: Expanded for direct connections to the value archives. Some messages updated. - Archive: The object TVArchive appended for itself declaration as a part of the core object TCntrNode. - FIX:DAQ.ModBus: Fixed for the connection restoring time after the previous changes. - FIX:UI.VCAEngine: The runtime pages appended for the function lock in the call setProcess(), but in WebVision there can be concurrence access and for the linked pages it is oftener. - UI.{Vision,WebVision}: Some improved in the horizontal scale building of the primitive "Diagram". 2019-08-04 Roman (stable) - Archives: The messages table of the Control Interface in the mode of alarms display appended for the "Delete" command to delete single messages. - DAQ.Controller: The system and user API function alarmSet() enabled for not violation messages (lev >= 0) in the "Redundancy" mode. - DB.{SQLite,MySQL,PostgreSQL,FireBird}: The not string values cleared from the string brackets '{Value}' and that tested. - DAQ.ModBus: Period of the idle (waiting for connection) mode switched from the fixed periodicity in 1 (one) second to the main period, to prevent for high loading on big projects with more than one second main period. - !!:FIX:UI.VCAEngine: The linked pages switching mode improved to guaranty of closing proper linking page. The linking pages moved to complette restarting for equal to the main pages behaviour at their switching. - !!!:UI.WebVision: The main checking of the background objects is made unified and expanded for support the optional background objects, to decrease the overall number of the background objects. The optional background objects is currently "FormEl" and "Text". Background objects of the Web-sessions appended of the objects counter, to their allocation control and debug. The post requests default response returned to the result "204 No Content" due problems with the mode "Load" of the view "Button" of the primitive "FormEl". The modes "Load" and "Save" of the view "Button" of the primitive "FormEl" is fixed and improved for work in the optional background mode. The main window expanding threshold set to 10% of the window decreasing size at 50% for shrinking, to prevent flicking on FireFox for notes about block the external windows. 2019-07-28 Roman (stable) - !!:DB.LibsDB.vcaBase: Main.{TextLab,ImgLab}: Revised during the documenting. - DAQ.JavaLikeCalc: The work registers object "RegW" appended for the debug counters, to monitor the objects leak. - !!!:FIX:UI.VCAEngine: The project session command "close" of the service "/serv/pg" forced to processing, what actual to the linked pages. The UI attributes object "Attr" appended for the debug counters, to monitor the objects leak. Finishing time of the task of generating documents of the primitive "Document" increased to 3*STD_INTERF_TM(7). - !!:FIX:UI.WebVision: Fixed to close only complete sessions and restored to connect the ready VCA-session, only for root. The UI objects "VCAObj" and "VCASess" appended for the debug counters, to monitor the objects leak. The session information appended for the connected project and the user. 2019-07-21 Roman (stable) - !!:DB.LibsDB.OscadaLibs: base.codeState: Revised during the documenting. - !!!!:FIX:SYS: Fix for the negative priority of the policy "BATCH". !!!!:The tasks planning appended for phasing them invoking, what make the CPU loading even. - DB.{MySQL,PostgreSQL}: Priority of the transaction tracing task increased to 20. - FIX:UI.VCAEngine: Fixed in calculation of the maximum consumed time of the session items in the debugging. - UI.{Vision,WebVision}: Appended for the visualiser specific attribute "vs_winTitle" of the dynamic window title value. - FIX:UI.WebVision: Fixed for the statusbar updating and prevented from its flicking at the master page updating. 2019-07-18 Roman (stable) - FIX:DB.LibsDB.OscadaLibs: All alarm forming templates prevented from the messages loss in the code of the messages opressing at global controller object errors (missing connections) if the previosly set message gone in the time of the connection missing. - Model.AGLKS.vca: The parameter LogLevPrm.gen.CB7 switched to the template base.digitBlockUnif. - !!!:FIX:UI.QTStarter: The function updLookFeel() fixed for the void return type, where the boolean return causes to the guaranty crashes at the code building by GCC 8. - !!:FIX:UI.WebVision: Some fixed for the connection to already closed session but work has to do yet here. !!:The main requesting code of GET significantly simplified to prevent of reconnections to the VCA-sessions without the local ones. 2019-07-14 Roman (stable) - !!:DB.LibsDB.OscadaLibs: base.{digitBlockUnif,digAlarm}: Revised during the documenting. - !!!!:DB.LibsDB.vcaBase,Model.{AGLKS.vca,Boiler.St}: Main.grpGraph[10]: !!!!:Appended for a new control panel-window Main.graphCalc of the calculating trends data. !!:Main.grph_panel: Appended for an independent button of switching to the cursor time instead the indirect switching at the depth of decreasing. The microsecond part of the cursor time set hidden at the big intervals. - Model.Boiler.St: The simple pasport cadre replaced by the extended one. - DAQ: The user API function funcCall() expanded by the "err" argument. - FIX:SYS: Fixed from crashing at early exit in the lock-file presence. - UI.VCAEngine: Appended for some debug messages at the windows opening and closing. The attribute "tipTool" set to the "Text" type. - !!!!:FIX:UI.WebVision: The function servSet() of writing to the server switched to the synchronous mode to prevent losses FIX: The view ComboBox of the primitive "FormEl" is fixed for guaranty updating at the value changing. 2019-07-09 Roman (stable) - SYS:data/{debian,debian_mod}/control: Appended for the depending at libgd-dev, which actual one for Debian 10. - !!:UI.{QTCfg,Vision}: Adapted to build in the environment of Debian 10 for Qt5.11.3, GCC8 and an error about a conflict in the macro message() into StdLibC++ through Qt5. 2019-07-07 Roman (stable) - !!:DB.LibsDB.OscadaLibs: Updated for some messages. base.{anUnifSt,manInUnif}: Revised during the documenting. - !!:DB.LibsDB.vcaBase: Main.{anShow1,anShow1s}: Revised during the documenting. Main.RootPgSo: Improved for cleaning the control panel at changing content of the main container. - Archive: TArchiveS::valAdd() improved to return the result node ID. - FIX:DB: The function "Load the program from this DB" fixed for storing the node modification state. - !:DAQ: Appended for the attribute encoding into the common DAQ-path, to allow dots into the path. The function of setting archive improved to back-using of identifier of new created value archive, for cleaning the identifier. - !!:FIX:DAQ.ModBus: The mode "Asynchronous write" restored and tested in writing after restoring the connection. - FIX:UI.WebVison: Multiple items selecting of the view "List" of the primitive "FormEl" is fixed. 2019-06-30 Roman (stable) - !!:DB.LibsDB.OscadaLibs: The template library "S7" renamed to "tests". The field "Alarms delay, s" renamed to "Violations delay, seconds" and such one for other languages. The templates base.{simleBoard,digitBlock} marked as obsoleted. - !!:DB.LibsDB.OscadaLibs,ModelsDB.AGLKS.St: The template base.gasPoint moved to the template library "tests". - !!:FIX:DB.LibsDB.vcaBase: Fixed for some original messages. Removed for the attribute "defSrcMod" from Main.{alarmsAct,alarmsSt} and doc.docMessRep. The service call "/Transport/%2fsub%2fehost" appended for the attribute "upRiseSYS"=1, for accessing the ordinal users. FIX: Main.alarmsSt fixed for pointing "messCat" in the alarms requesting. - !:FIX:Archive.FSArch: Fixed for archiving double messages in the mode of preventing the doubles - rewriting. - !!:FIX:DAQ.ModBus: Fixed for work in the redundancy mode. - !!!!:FIX:UI.VCAEngine: Session objects moved under own data lock to prevent dead locking in the complex situations due to the style calls uses indirect parent(). - !!:FIX:UI.WebVision: Restored in the full widgets tree reloading to restore the function of removing missed widgets in the visualiser at their removing into the VCA-engine. Editing boolean fields of the view "Table" of the primitive "FormEl" set clean. Appended for checking to availability the common attribute "tipTool" and the document object of the primitive "Document". 2019-06-23 Roman (stable) - !!:DB.LibsDB.OscadaLibs: Using of the function alarmSet() moved to the new direct variant of the parameter. base.{digAlarm,codeState}: Prevented from call at the stopping. - !!:FIX:DB.LibsDB.vcaBase: doc.{docUsersSet,docAlarmsRep,docMessRep}: The field "Parameter" renamed to "Source" in the way of global unification of the alarm messages structure of the function alarmSet(). !!:doc.docMessRep: Switched to processing only remote stations as additional sources and anytime. !!:Main.{alarmsAct,alarmsSt}: The field "src" removed and the field "prm" renamed to "Source" where the processing only remote stations moved. FIX:Main.userManager: Fixed by commenting all debug messages. - !!!!:DAQ.{TController,*}: The function alarmSet() globally unified and completely described in the documentation for messages from the controller objects and DAQ-parameters, when the parameter-source in the message appended for the controller object name and the category and text format will be configurable. The DAQ-parameter appended for the User-API function alarmSet(). - !!:FIX:DAQ,Archive.DBArch: The TElem copy constructor was implemented to fix problems into Archive.DBArch at multiple groups-tables in the group table mode. - Archive.DBArch: Some improved for the locking space of reqRes and accm. - FIX:UI.QTCfg: Fixed for true striction of the removing nodes list into the requesting dialog. - FIX:UI.WebVision: The setting function setWAttrs() fixed in multiple-complete encoding the special symbols "<>". 2019-06-17 Roman (stable) - !!:DB.LibsDB.OscadaLibs: In way of the documentation update: the information about the DAQ-template "base" is updated, the DAQ-template base.anUnif revised and updated. - !!:DB.LibsDB.vcaBase: In way of the documentation update: the information about the VCA-library "Main" is updated, the widget Main.anShow revised and updated. The new document doc.docResourcesYear of the resources reporting at year appended but not finished yet. - FIX:DB.AGLKS.vca.db: The VCA-project fixed for linking to the new prescription manager place. - Archive: The friend function declaration archivatorDetach() cleared from specifying default values of the arguments, what may fix the compiling problem on GCC 9.1. - FIX:SYS: The function TMess::setUTF8() improved and fixed for generation three and more bytes UTF-8 symbol sequency. - DAQ: DAQ-templates allowed to save translation of the field "VALUE" for selectable IOs. - FIX:SYS.XMLNode: Fixed for processing of entities size limit in the common string length. - UI.{VCAEngine,Vision}: The tooltip of the procedure language combobox moved to the VCA-engine. - UI.Vision: The primitive "Diagram" have cleared from the Cap Style specific on Qt5 and Qt4. - !:UI.WebVision: Default styles of the border and background of the view "Table" of the primitive "FormEl" moved from the JS-code. The view "Table" of the primitive "FormEl" improved to gain focus at entering to edit a cell for the hotkey operations, the boolean type appended for the hotkey operations. The service operations "connect" and "disconnect" appended for the true user and sender information for the VCA-engine. 2019-06-09 Roman (stable) - DB.LibsDB/*,DB.{AGLKS,Boiler}: The Roman Savochenko EMail rom_as@oscada.org replaced by roman@oscada.org. - !!!!:DB.LibsDB.OscadaLibs: The full restructuring of the libraries was started for true documenting, revision and translation. !!: The template libraries "PrescrTempl" appended for the "Manager", moved from the controllers library. !!: The template libraries "Main" appended for the "UPS", moved from the "Devices" library. !: The function base.anUnif some improved and appended for the description. !: The function servProc.wacko2media appended for table headers true processing. - !:DB.LibsDB.vcaBase: The prescription cadres of the template project "tmplSO" relinked to the new prescription manager into the Logic Level controller object. - DOC: The document "Library of models of the technological apparatuses" appended for downloading to offline. - !!: DAQ,DAQ.JavaLikeCalc: The template libraries and JavaLikeCalc libraries appended for specifying documentation links by the key "DOC: {offline}|{online}" into the description. - !:SYS.XMLNode: Appended for entities size limit and silence at incomplete ones. - FIX:DB.MySQL: Appended for updating the table structure at ALTER errors. - !:FIX:UI.Vision: The view "Button" of the primitive "FormEl" is fixed for disabling at inactivity. The procedure language combobox appended for the tooltip of resetting the procedure at the empty value selecting. - !!:FIX:UI.WebVision: The setting function setWAttrs() fixed for encoding the special symbols "<>". FIX: The primitive "ElFig" prevented from crashing at coming the POST requests firstly. The ordinal users prevented from connection to foreign sessions. Unified for the ROOT users processing. 2019-06-02 Roman (stable) - !:DB.LibsDB.OscadaLibs: The template base.codeState appended for the code-text commands processing. - !:DB.LibsDB.vcaBase: The document doc.docUsersSet of the user actions appended of the user name. The cadre Main.ElCadr expanded for the current text state show into the text command combobox. - UI.VCAEngine: The attribute "tSize" range of the primitive "Diagram" expanded for one year (32e6 seconds). - !!:FIX:UI.WebVision: Fixed in form the statusbar size and then the alarm-level icon size. Fixed to apply the table columns widths for tables without the horizontal header, copying the style to the first row. Pressing the alarm lamp appended for generating the event "ws_alarmLev". 2019-05-26 Roman (stable) - !!:FIX:DB.LibsDB.vcaBase: The template project "tmplSO" fixed for the links renaming. Main.objProps expanded for the notification. FIX:Main.alarmsAct: prevented from very more expanding at appearing several events. - SYS: The user API function SYS.fileRead() expanded by the arguments of the reading block offset and size. The user API appended for the function SYS.fileSize(). - !!:FIX:UI.WebVision: Fixed for the status line size-padding-spacing and the Alarm icon size. FIX: Fixed to show the Alarm color of the alarmLev < 9. FIX: The view "Line" of the primitive "FormEl" in the variants Integer and Real fixed in the spin box on the scrolling frames. Fixed for the previous value saving after operations in the spin box. FIX: Prevented from the ToolTip setting at the empty attribute 'tipTool'. Appended for the message "View access is not permitted" translation. !!:Expanded for the possibility of the opened sessions manual closing from the administrator user. 2019-05-19 Roman (stable) - !!!:FIX:UI.WEBVision: The view "Tree" of the primitive "FormEl" is fixed for processing the empty string in the end. !!!: The alarm level appended to the status panel with a function of the global quietation. 2019-05-13 Roman (stable) - FIX:DAQ.{=Tmpl=,AMRDevs,BFN,Comedy,DAQGate,DCON,DiamondBoards,FT3,Fastwel,ICP_DAS,MMS,ModBus,OPC_UA,SMH2Gi,SNMP,System}: Fixed for default value of the property period(), co-related to "SCHEDULE". - !!:FIX:DAQ.JavaLikeCalc: The property period() is set actual in early, at the configuration "SCHEDULE" changing, for true data period of the archives, the problem detected at complex copy whole controller objects. 2019-05-05 Roman (stable) - DB.LibsDB.vcaBase: Main.cntrPaspExt: Expanded for the trand width in 2 pixels. - FIX:SYS.ValueArch: Forced for the values buffer updating at the data period update. - !!:FIX:DAQ.{=Tmpl=,AMRDevs,BFN,Comedy,DAQGate,DCON,DiamondBoards,FT3,Fastwel,ICP_DAS,MMS,ModBus,OPC_UA,SMH2Gi,SNMP,System}: The property period() is set actual in early, at the configuration "SCHEDULE" changing, for true data period of the archives, the problem detected at complex copy whole controller objects. 2019-04-30 Roman (stable) - !!!!:FIX:DB.LibsDB.{OscadaLibs,vcaTest}, Model.{AGLKS,Boiler}.Model: Completed for revision the functions library "Technological devices (techApp)" in removing all Cyrillic symbols from identifiers of the models and fixing all texts. - !:FIX:DB.LibsDB.OscadaLibs: TmpLib.Base.ntf: prevented from more douple messages generation at the first error connection. - DB.LibsDB.vcaBase: Main.{grph_panel,doc_panel}: appended for the "Begin and depth" label and the depth fields moved to a single line. Main.grph_panel: improved for conditional display the microseconds part in the cursor field information. - UI.Vision: The view "Button" of the primitive "FormEl" appended of setting the pointing cursor. - UI.WebVision: The view "CheckBox" of the primitive "FormEl" appended for scaling the element. 2019-04-22 Roman (stable) - !!!:FIX:SYS: The function nodeDis() waiting fixed for zero time and the function chldDel() set to no waiting by default. - SYS: The standard waiting time decreased to 5 seconds (from 10) and the standard interface waiting time set slightly more, that is 7 seconds. - !!:FIX:DAQ.LogicLev: Prevented from crashing at switching between the two types of the parameters, calling calc() only for the standard type. 2019-04-14 Roman (stable) - !!:DB.LibsDB.vcaBase: cntrRegul.trnd: The trends width increased to 2 pixels. Main.{doc_panel,grph_panel}: Expanded for the begin time, calculated from and to the depth. Main.RootPgSo: Set to not active to disable the activity cursor. Main.graphSelPrm: The DAQ items expanded for information of the controller object name. Main.{TextLab,ImgLab}: Expanded for the activity cursor support. - !!:DAQ,DAQ.{ModBus,Siemens}: TPrmTempl::Impl is set optimal in the links lock control, moving out most external calls, the locking problem detected on high loaded ModBus and DAQGate activities. - SYS: The decompression function some appended for the initialization. - UI.VCAEngine: Expanded for reading the visualiser specific attributes in the developing mode. - !:UI.{Vision,WebVision}: The primitives "Text", "Media" and "Box" expanded to display the activity cursor. - UI.{Vision,WebVision}: Some views of the primitive "FormEl" (Line edit, Text edit, Combo box, List, Tree, Table) expanded for custom background and border by the visualiser specific attributes "vs_background", "vs_border". - FIX:UI.WebCfgD: The tables help in cells is fixed. - !!:FIX:UI.WebVision: The built-in scaling mode set to use-enable in relation from window.devicePixelRatio equal to 1. FIX: Some original messages are fixed. FIX: The view "Tree" of the primitive "FormEl" appended for scaling the control tree images, fixed for the default italic style of the font, fixed in processing wrong current values. FIX: The view "Tree" and "Table" are fixed for true counting the border width and padding in the result geometry. The FormEl apply button set to adaptive from the built-in scale rate. 2019-04-07 Roman (stable) - !!:FIX:Archive.DBArch: Fixed in removing the archives group tables at removing the archiver. !!: Adapted to work in the only direct archive writing mode on the archives group mode for updating the meta at writing. - !:FIX:UI.Vision: Fixed in starting to the full-screen mode and not full scaling at restoring to not zero window position, preventing the restoring. FIX: Fixed in the trends drawing for big width on Qt5. 2019-04-01 Roman (stable) - !!:FIX:DB.LibsDB.{vcaBase,vcaTest},Model.{AGLKS.vca,Boiler.St}: Accomplished for the previous significantly cleaning and all original identifiers renaming to English of AGLKS. DB.LibsDB.vcaBase: Main.{grpGraph,grpCadr,grpGraph10}: The trends width increased to 2 pixels. DB.LibsDB.vcaBase: Main.graphSelPrm: Appended for the colors obtaining from the linked cadre. The light scheme improved for two colors labColorGrph4=#199696-200 and labColorGrph5=#3264C8-200. - !!!!:FIX:Model.Boiler.St: Significantly cleaned and all original identifiers renamed-pages to English for the documentation revision. - !!:FIX:DAQ.ModBus: Fixed for crashing at the logical pararameter template hot changing. !!:Expanded for the flag "s" of the strict requesting at the complex data. - DAQ.Siemens: The errors appended by the read code 0x3 - "An attempt to access outside the DB 'N' (200 family)". - FIX:Protocol.HTTP: Accelerated to load missing authentication sessions from the DB and fixed some in that context. - FIX:UI.QTCfg: Fixed for processing of selection lists of the combo. - FIX:UI.VCAEngine: Fixed in the attribute "value" of the view "Edit line" of the primitive "FormEl" for the spare flag TFld::TransltText for not string types. FIX: Fixed for disabling styles in the runtime at the style "Disabled (-1)". - FIX:UI.Vision: Fixed for crashing at setting configuration of the view "Date" of the primitive "FormEl". FIX: Fixed for the view "Time" of the primitive "FormEl". 2019-03-24 Roman (stable) - !!!!:FIX:Model.AGLKS.{St,Model,vca}: Significantly cleaned and all original identifiers renamed to English for the documentation revision. - !!!:FIX:SYS.DB,DB.{SQLite,MySQL,PostgreSQL,FireBird}: TBD::postEnable() moved from private to protected. The network DBMS improved to handle up the transaction closing as fast as that possible (after 2-10 seconds) but it holding locks access from other sources, that function placed in a different task due to a down connection can lock for long this significant task. SQLite: Also speeded up in the transaction handling but into the standard service task (after 10-60 seconds). - !!!:FIX:DAQ.DAQGate: Fixed in storing duple parameters from different controller objects, preventing the RO attribute "SHIFR" reading. !!!:Expanded by an option and a function of placing different controllers to the different virtual parameters. - FIX:DAQ.ModBus: Fixed for EVAL in the string type. - !!!!:Protocol.HTTP: Expanded for the DB table "HTTP_AuthSessions" of the external authentication sessions. - UI.QTCfg: The approving dialog of the nodes removing limited in big lists of the selected nodes. - FIX:UI.VCAEngine: Some fixed in copying the projects with the linked pages. - !!!:UI.VCAEngine: Expanded for the direct definition of the visualiser specific attributes, marking their by the prefix "vs_". - UI.WebVision: Expanded for NaN and EVAL processing into "Text" and "FormEl" integer. The view "Button" of the primitive "FormEl" appended for the visualiser specific attribute "vs_goHttpUrl" for going by the external links. 2019-03-17 Roman (stable) - SYS: The user API function cntrReq() improved for processing results of the remote requests. - !!!:FIX:DAQ.JavaLikeCalc: Fixed for crashing in hot compiling, in returning the correct procedure mostly at wrong one compiling, in case of the procedure uses internal functions and possible external ones also due to missing for clearing "fPrmst". All these clearings are unified in the functions buildClear(), workClear(). 2019-03-10 Roman (stable) - !!:FIX:DB.{LibsDB.vcaBase,Model.AGLKS.St,Model.Boiler.St}: The styles moved under a scheme of enabling styles at their presence instead disabling by "No style" and the style "Default" is appended. !!:Extra standard cadres of the graphics adapted to the styles. Main.userManager: finished for the translation. FIX:Main.graphSelPrm: Fixed for the item "" appending and the "event" generating. Main.ElViewGraph: Expanded for the item color processing, from the style. - !!!!:FIX:Model.Boiler.{St,Model}: Significantly cleaned and all original identifiers renamed to English for the documentation revision. - !!!:SYS.Mess: Appended for the environment variable LC_ALL cleaning and setting "LANG" if empty, to prevent from overriding LC_NUMERIC=C at the last. - !!:SYS.Archives: The common option "Add the attribute identifier to names of the automatic created archives" changed to "Mode of forming ID of the automatic created archives" with selection from the modes: "Both parameter and attribute ID", "Only parameter ID", "Only attribute ID". - !:FIX:DB.MySQL: Fixed completely for the error "BLOB/TEXT can't have a default value (1)" on modern MySQL server versions, wholly removing the DEFAULT for TEXT. - FIX:UI.{VCAEngine,Vision,WebVision}: Styles fixed in the new items creating The styles moved under a scheme of disabling styles at their presence instead "No style". 2019-03-03 Roman (stable) - !!!!:FIX:DB.{LibsDB.vcaBase,Model.AGLKS.St,Model.Boiler.St}: Most standard cadres and widgets adapted to styles and the style "Light" created for all projects. - FIX:SYS: Some original messages fixed. - UI.QTCfg: Prevented from the navigation tree updating at selecting any item. - !!!:FIX:UI.VCAEngine: Significantly fixed and mostly finished in the VCA-styles implementation, adapting most cadres and widgets at the style "Light". - FIX:UI.Vision: Fixed for the pages cache clean up at the VCA-style change. - !!!:UI.WebVision: Expanded for the VCA-styles support in their display and changing into the status bar. 2019-02-24 Roman (stable) - !!:DB.LibsDB.OscadaLibs: The temlate library LowDevLib appended for the template "MAX6675" of the low-level SPI Cold-Junction-Compensated K-Thermocouple-to-Digital Converter, from Arcadiy Kisel. - FIX:SYS.TCntrNode: OpenSCADA nodes TCntrNode prevented from left the modification mark after loading from a selected DB. - SYS.Transports: Size of the output transports ID set to OBJ_ID_SZ*2, since it can be combined from the ordinal node ID and some prefix, in the automatic mode. - !!:SYS.Archives: The value archives are appended by the common option "Add the attribute identifier to names of the automatic created archives" for the possibility of naming the archives just in the DAQ parameter ID. Size limit of the archive names defined as the constant ARCH_ID_SZ int tsys.h. - !:FIX:DB.MySQL: Fixed for the error "BLOB/TEXT can't have a default value (1)" on modern MariaDB server versions. - FIX:UI.VCAEngine: The allowed size for icons storing expanded to 100000. The DB field "ATTRS" cleaned from the default value "*". 2019-02-19 Roman (stable) - !!:FIX:Transports.*: Prevented from duplication of different protocols' connections. 2019-02-17 Roman (stable) - !!!!:DB.LibsDB.OscadaLibs: The templates library "DevLib" appended for the true DCON implementation in the templates DCON_Prt, DCON_Prt_DI, DCON_Prt_AO, DCON_Prt_DO, the user protocol object "DCON" is removed. The templates library "base" appended for the complex notifier implementation in the template "ntf", the separate JavaLikeCalc function and the user protocol objects "SMS" and "SMTP" are marked for obsolete. - FIX:DB.Model.AGLKS.St: UserProtocol_uPrt.test fixed for clearing the request. - SYS:ModelsDB/{AGLKS/oscada_AGLKS.xml,Boiler/oscada_Boiler.xml}: Increased for WEB-transports' KeepAliveTm=60. - !!!:SYS: Obtaining for the actual created node ID of the node function chldAdd() changed for direct return the ID and to just remove the new node for equal ones. - !:FIX:SYS: The DAQ-Templates implementation restored for blocking the templates by the execution context. - !!!!:Transports.*,Protocol.UserProtocol: Expanded for support the multiple protocols selecting and the function protocol() renamed to protocols(). Items identification of the protocols, mostly for Protocol.UserProtocol, moved into the input protocol name after removing protocolFull(). - FIX:DAQ.DCON: Prevented from removing parameters from their processing at the controller object stopping. - FIX:DAQ.JavaLikeCalc: Applied for the controller object procedure restarting at the template procedure changing. - !!:FIX:Protocol.UserProtocol: Fixed for processing both presented and direct procedures, separating the transport objects' identifiers. Fixed for the links clearing at the disabling. Fixed to show the tab "Input" in the DAQ-tempalte mode. - FIX:Special.SystemTests: Fixed for the test TrOut, means of the node ID possible changing. 2019-02-10 Roman (stable) - SYS.Android: Size of the default font decreased from 15 to 12 pixels. - FIX:DB.LibsDB.OscadaLibs: DevLib.ModBusScan fixed for cleaning the result at decreasing the begin. FIX: LowDevLib.ADS111x improved for ADS101x support. - !:FIX:DB.LibsDB.vcaBase: Main.userManager: The password editing field set to the view "Password". - UI.Vision: The primitive "FormEl", "Diagram", "Protocol" expanded for the font scaling and control, mostly to improve in Android. 2019-02-06 Roman (stable) - !!:DB.LibsDB.OscadaLibs: The templates library LowDevLib appended for the templates ADS111x and MCP4725 of the low-level I2C chips implementation. - User:Archive.setVal(): Access to the archive writing function restricted only for users in the group "Archive". - !!:DB.LDAP: Appended for the messages translation on Ukrainian and Russian into the document. - FIX:Protocol.ModBus: Fixed for crashes in accessing links of the DATA nodes. - FIX:Special.FLibSYS.vArh(): Appended for write accessing to archive of users in the group "Archive" of the object VArchObj. 2019-02-01 Roman (stable) - FIX: Function.IO fixed for the default value loading in the selectable mode of IO, what had problems for the string value type. - Protocol.HTTP: A detailed message of "Error loading the META header" added to detect source of the rarely warning message of parsing the template. - !!:FIX:UI.QTCfg: Fixed for applying forgotten changes of the editable widgets at switching to a different node, from using the new node path instead the previous one and missing changes of the hidden tabs. FIX: The TextEdit items fixed for the editing sate detection unbidden from its visibility. - !!!:UI.{VCAEngine,Vision,WebVision}: The variant "LineEdit" of the primitive "FormEl" appended for the view "Password". - !:FIX:UI.Vision: The runtime executing was fixed from crashing in closing external windows at closing the main window. 2019-01-25 Roman (stable) - FIX:SYS: The console help call by the key --help or -h fixed for unlocking the early loaded objects, stopping the subsystems forcely. - User:Archive.setVals,Special.FLibSYS.VArchObj(): Access to the archive writing functions restricted only for users in the group "Archive". - FIX:DAQ.JavaLikeCalc: Fixed for the token name FUNCTION. - FIX:Protocol.HTTP: Fixed for the message "Wrong authentication from the user ..." not in a proper place. - FIX:UI.VCAEngine: Fixed for information of the heritors of the projects. FIX: Prevented from the multiple execution of the linked pages. Warning messages of the big number connections to the attributes moved behind the data lock. - UI.Vision: The pages cache of the sessions appended for the pages number limit control, its information appended to the sesion information and it improved in whole. - !!!:UI.WebVision: Appended for the pages cache be controlled in the lifetime and the pages maximum number, both on the server and WebBrowser side. The cache information appended for the sesion information. Then the module is more suitable now to work in the operative mode! The server side yet can work with old modified interface JS files, in the old unlimited cache mode! 2019-01-20 Roman (stable) - !:FIX:DB.LibsDB.vcaBase: Main.{alarmsAct,alarmsSt},doc.docMessRep: Corrected for obtaining the source of messages of the DAQ controller objects. !:FIX:Main.RootPgSo: Completed in the views unification for their accessibility control. Moved to use the new function uiCmd() of the project sessions to open pages, from the combo, what is the singe true method now of the linked pages openning from the user space. - !!!:SYS.Archive: The common function TVArchive::getVals() improved for processing not free buffers (for a fixed period) of the data requesting through the buffer and different archivers since it is significant one, using a buffer array which is back replayed at the end. The exceptions processing added here also. !!!: The user API function getVals() added to implement generic archives/history requesting mechanism in an array and the fixed periodicity. - SYS: The function str2atime() is appended to convert from string time to the Unix epoch time supporting GMT. - FIX:SYS: The user function Array.concat() prevented from unlocked acces to the source array. - UI.QTCfg: Set fast for the closing time of the configurator window with many OpenSCADA inactive external hosts, by early notifying the host tasks. - !!:FIX:UI.VCAEngine: The linked pages to the logical container pages fixed in their enabling. !!:FIX: The user API function uiCmd() added and its internal function uiComm() renamed to uiCmd() and fixed for empty source argument. FIX: Fixed for the linked pages switching. FIX: pageList() appended for force cleaning the input argument since that can be passed for the container and template pages. !!:The pages opening in the project's execution (sessions) improved to prevent spare and double opening and closing, which is critical one to manage the linked pages. The linked pages managing properties "pathAsOpen", "pathAsOpenPrev" moved under a lock. - !:FIX:UI.{Vision,WebVision}: The days local time marging of the view "Trend" of the primitive "Diagram" improved using the time converting to GMT and taking the difference with the Unix epoch time. - !:FIX:UI.Vision: The low threshold of enabling icons of the widget tree set to 0.1ms, in the tested value taken from a real remote environment. The item indicators of the project tree forced to show and don't show. Time of the automatic cancel of the line editable fields of the runtime increased to 10 seconds. - !!:UI.WebVision: Appended for the state of the opened sessions on the control page. !!: The pages cache disabled both on the module and WebBrowser side, before it will be improved for the limits of time and size. 2019-01-13 Roman (stable) - SYS: AutoHD::at() appended for the commented code of the crashes causing instead the exception "No init!", to observe the message cause in future. - SYS: chldList() and chldPresent() set to virtual. - FIX:DAQ.OPC-UA: reqService() prevented from accessing free transports and the exception "No init!". - !!!!:FIX:UI.VCAEngine: Pages of the projects appended for the type "Link", to optimize the memory consumption on fully dynamic and highly replicated pages, on the project's session side. FIX: Projects, Widget liraries and Widgets are fixed for the error message of creating already presented node. FIX: Fixed for the page status "Opened" only for the pages. Pages list in the project set to access only for the page type "Template" or "Container". List of the page types restricted by the not templated pages. - FIX:UI.Vision: Fixed for the global state updating, appending the selected item modify state. FIX: Fixed for updating the projects tree items, firstly their are same projects. FIX: Fixed for the context menu in the edition, for the item "Copy". The projects tree and the widget libraries tree is disabled for the selection loss at the focus loss. 2019-01-11 Roman (stable) - !!!:FIX:DB.LibsDB.vcaBase: Appended and fixed for the messages translation on Ukrainian and Russian into Main.{RootPgSo,userManager,cntrPaspExt,alarmsAct,alarmsSt} and other ones. !!!: Main.RootPgSo: Expanded for support the signal object buttons generating in the right of the logo. prj_archBrowser_incl and prj_tmplSO_incl cleaned from spare records by the new function of UI.VCAEngine. FIX: tmplSO.pg_control.pg_graphSelPrm fixed in the impossibility of searching into the parameters list, clearing the attribute "value" changes. Main.{alarmsAct,alarmsSt}: Appended for the attribute 'defSrcMod' of preventing in show the default source module name in the source field. - FIX:DB.Model.Boiler.St: prj_kotel9_incl cleaned from spare records by the new function of UI.VCAEngine. Fitted to the new Main.RootPgSo changes and the main page standard geometry. - !!!:FIX:UI.VCAEngine: The VCA pages loading procedure appended for a function of cleaning spare records and records of inherited but missed widgets of the "*_incl" table. !!!:FIX: Fixed for full access to the attributes of the service control request "/serv/attr". The info control services "/prm/cfg/prj", "/page/page" appended by getting of number of the child pages in the attribute "chPgN" at setting "getChPgN", for requesting the projects' tree elements. Appended for translation to the last changes. Appended to omit the widgets' icons transmitting in the control service "/serv/wlbBr" of the complete widgets' tree loading, setting the attributes "disIconsW", "disIconsCW" - !!!:FIX:UI.Vision: Fixed in the warning about the inherited calcualting procedure changing, to prevent this warning the dialog tabs switching (reloading), and the signal coneection moved just after the widget creating. !!!: The projects tree switched to download the branches partially at expanding, to improve it work on slow connections. !!!: The widgets tree improved in the work on slow connections, disabling the widgets' icons downloading at the threshold of the complete tree downloading time more for 5 seconds and enabling that at the time less for 1 second. - FIX:UI.{Vision,WebVision}: Next final of the improving for the scrollbars control of the included pages. :) 2019-01-06 Roman (stable) - FIX:UI.Vision: Fixed for the warning about the inherited calcualting procedure changing in cleaning the accepting state. - FIX:DAQ.JavaLikeCalc: isNaN() to string fixed for the RE test result inversion. 2019-01-06 Roman (stable) - !!!!:FIX:DB.LibsDB.vcaBase: Main.RootPgSo: Improved for dynamically create signal objects, the number is limited only by the SO name length and two rows of the SO. !!!!:The views also unified for ID "view[1..6]", when user can their assign in self way. The compatibility with the original names of the views was saved, for present projects! The template project "tmplSO" adapted to the new views model. FIX:Main.cntrPaspExt: Fixed for the tab "Data" forming (hungs and generates more equal data) for bigger at 1 second periodicity of the data. Main.{alarmsAct,alarmsSt},doc.docMessRep: Expanded by the property "Default source module (defSrcMod)" to hide the equal information of the source. - FIX:DB.Model.{AGLKS.vca,Boiler.St}: Some adapted to the new changes of the main page. - !:SYS: The user space Array expanded by the functions indexOf() and lastIndexOf(). - !:DAQ.JavaLikeCalc: The User API functions expanded by isNaN() for bool, integer, real, string (especially for checking numbers in the string). - !!:UI.{VCAEngine,Vision}: All information moved to the status field for widgets, libraries and projects. The information appended by the calculating procedure state - inherited, redefined. UI.Vision: Appended for warnings about the inherited calculation procedure changing. - FIX:UI.VCAEngine: The user API function wdgAdd() fixed for the name setting after the new widget enabling. - !!:FIX:UI.Vision: Final of the improving for the scrollbars control of the included pages. Final fix for the tables fitting, moving the procedure in events: create, resize and show. - FIX:UI.WebVision: "word-break: break-all" removed from the table styles. Final of the improving for the scrollbars control of the included pages. 2018-12-31 Roman (stable) - FIX:DB.LibsDB.vcaBase: mnEls.El_Kran_Sh: Fixed for the attribute "close" type changing from the type "String" to "Boolean". - !:SYS,DAQ.JavaLikeCalc: The limits appended by USER_ITS_LIMIT (1000000) for limit the items number like to user arrays from DAQ.JavaLikeCalc. The arrays creating limited for USER_ITS_LIMIT and appended of processing the system exceptions with an error message and freeing the wrong arrays. - UI.QTCfg: Tables fitting returned to use only the widget maximum view port size due to the scrollbar size newer can be used here since it initially has 100 and does not update more. - !:FIX:UI.Vision: The widgets including fixed for resizing after his container resizing, has observed in a problem of direct opening included pages on the full screen. Next time improved for control scrollbars of the included pages, taking that behaviour from UI.WebVision. FIX: Tables fitting prevented from use processEvents() due the possibility of the widget going in the closing. Tables fitting improved to use maximum width from the widget size and the maximum view port, but the maximum view port only can be uninitiated here yet. - UI.WebCfg: Revised for all messages and the documentation. 2018-12-25 Roman (stable) - DB.LibsDB.{OscadaLibs,vcaBase}: Controllers.prescr and Main.{prescrRun,prescrRunSimple} expanded to pass commands in the pause mode. - !:DAQ: Appended for the user API function daqAt(). - FIX:UI.{Vision,WebCfg,WebCfgD,WebVision,=Tmpl=}: Fixed for the XHTML header on FireFox. - UI.QTCfg: Set to disable "actUpdate" at the periodic update. - UI.WebVision: Improved for the scrollbar control of the included pages. The view "Table" of the primitive "FormEl" improved for the real type represent. 2018-12-23 Roman (stable) - FIX:UI.VCAEngine: Size of the Mime identifiers increased to 40. Widgets prevented at last from setting names double to identifier, at the copying mostly. - UI.Vision: The behaviour of forming scroll bars of the included widgets some improved to prevent single of the bar. The view Table of the primitive FormEl improved in using the relative table column width. The mode of inactivity improved to remove all selecting and to restore edited values. - UI.{Vision.WebVision}: Improved in removing the end position mark at the data natural order and its size decreased. 2018-12-18 Roman (stable) - !:DB,Security,Transports,DAQ,Archive,DAQ.{BlockCalc},Protocol.{ModBus,OPC_UA,UserProtocol},UI.{VCAEngine,WebUser}: Appended in the adding functions to treat the ID for trimming and locking the child access resource in time of reading the end identifier. - !!:DAQ: Identifiers of the logical level IO of the DAQ-templates expanded to the size limit up to 1.5*OBJ_ID_SZ=30 symbols and have added for these shrinking on creating. - !!!!:FIX:DAQ,DAQ.{ModBus,Siemens}: The DAQ-Templates implementation fixed using own lock "lnkRes" instead the node data lock, due to that causes to locks into the links initialisation in the external access. - !!:UI.{Vision,WebVision}: The primitive "Diagram" improved in work on slow channels and with the value buffers period in 10 seconds. 2018-12-16 Roman (stable) - FIX:SYS: Fixed for building the Debian moduled profile (data/debian_mod). 2018-12-16 Roman (stable) - !!!!:SYS: Version of the OpenSCADA core library risen to 4.0 and modules version of all subsystems risen to 20, to prevent collisions with the LTS version when the core library from LTS but all modules from Work. - DB.LibsDB.OscadaLibs: DevLib.OWEN: Closed to the implementing due to missing any feedback from the developper and these devices already. Switched to use charCodeAt() in "UTF-16BE" for access two bytes. Finished for the data types. - !!!:DB.LibsDB.vcaBase: The widgets library was appended for an implementing of the users manager cadre, for runtime. - !:SYS:data/openscada.spec: Appended for the separate packages openscada-plc and openscada-server of the daemon mode executing. - !!:SYS.TCntrNode,DAQ,DAQ.JavaLikeCalc: Appended for the function load__() to treat some doings in the loading end. DAQ: Fixed for the early starting of the template libraries, really after the whole loading and after the DAQ.JavaLikeCalc functions. - !!!!:SYS,TConfig,Security,DB.SQLite,UI.QTCfg: The function strEncode() appended by the variant "Limit" to limit the string size counting for the UTF-8 variability. SYS: The special function strMess() with such limit is removed. !!:TConfig: The key fields appended for their size limiting before cutting on the DB side. !!!!:DB,Security,Transports,DAQ,Archive,DAQ.{BlockCalc},Protocol.{ModBus,OPC_UA,UserProtocol},UI.{VCAEngine,WebUser}: Adapted in the adding functions to treat the ID or name forming and to limit its size, returning the result name to the creator. SYS: The user API function strEncode() appended for support the variants "ToLower" and "Limit". DB.SQLite,UI.QTCfg: Moved to use the function strEncode() in the variant "Limit" instead strMess(). - !:SYS.TMess,XMLNode: Appended for the function setUTF8() of forming UTF-8 from their code, taken from XMLNode to use in other places. SYS: The user API functions appended for the function strFromCharUTF() of forming string from UTF-8, UTF-16, UTF-16LE, UTF-16BE, UTF-32, UTF-32LE, UTF-32BE. - !!:DAQ.JavaLikeValc: The functions charAt() and charCodeAt() expanded to support UTF. - FIX:DAQ.ModBus: Fixed for the Input Coils identification into the Logical Level links. - FIX:UI.WebVision: The view "List" of the primitive "FormEl" prevented from creating items in the attribute "value" at missing, as into UI.Vision. The view "Table" of the primitive "FormEl" set to updating at the value changing, to take in acount the specific background color of the selected items. 2018-12-08 Roman (stable) - SYS.configure.ac: Fixed for name of the required libldap library. - FIX:Archives: messGet() expanded for sort the buffer messages and to prevent collisions at the clock correcting. - !!:SYS.{TConfig,*}: The user API functions cfg() and cfgSet() of the configuration expanded by the permition control. - Security: The user and group adding expanded for limiting the identifier and returning the result one. - !:DAQ.JavaLikeCalc: Expanded for try of the restoring the previous procedure executing at the new one error, mostly from DAQ-templates. - UI.VCAEngine: Reverted for the prcElListUpdate() first call from the calculating procedure due it performed into setProcess(). - !!:FIX:UI.Vision: The operation of lowering down of the single attribute changes appended for requesting a confiramtion due it can cause to the widget moving to its parent in whole at missing here. FIX: Fixed for new created widgets selecting in the visual widgets developing mode. FIX: The external windows are set to force closing before their deleting, for saving the window position. FIX: Prevented from casual crashing into the view "Table" of the primitive "FormEl". - FIX:UI.WebVision: Improved for style of the PopUp menu and Calendar dialog window. 2018-12-02 Roman (stable) - !!!!:DB.LibsDB.OscadaLibs: The library "DevLib" appended for a full featured implementation of the protocol OWEN in the data acquisition part. Currently there are problems yet with some configuration functions like "O.ALr", which initially return error 0x31 on their reading. - FIX:DB.Model.AGLKS.St: Fixed in the transport Serial.testRelease to prevent the writing to the system PTS /dev/pts/6, disabling it. - DB: The attribute "TBD::mEn" moved to the protected space. - FIX:SYS.DAQ.TParamContr,DAQ.DAQGate: Fixed in the copying operation, disabling the destination node before. To copy attributes and their archives of DAQ.DAQGate mostly. - !!!!:DB.{MySQL,PostgreSQL,FireBird}: Improved and tested for hot restoring of the loss connections and without the data loss. - !!!!:FIX:DB.FireBird: Restored for the main work in the primary keys requesting and adapted to FireBird version 3. - !!!!:FIX:DB.MySQL: Resolved for crashing in the built-in reconnection (by MYSQL_OPT_RECONNECT), which replaced for the own and hot reconnection. - !:FIX:UI.VCAEngine: Fixed in forming the processed ellements list at the runtime function start (f_start). - !:FIX:UI.Vision: Fixed in updating the geometry properties on the graphical widgets editing. FIX: Fixed in removing the selection dots at the included widget removing in the graphical widgets editing. FIX: True prevented from spare requests to the remote station at the windows moving. - FIX:UI.WebVision: Fixed for small selection list of the editable combobox. FIX: Prevented from updating the editing tables. 2018-11-25 Roman (stable) - FIX:data/*.init: Fixed for initial projects starting in the daemon mode, by the command-line argument "--projUserDir". data/*.xml: Default KeepAliveTime of the WWW-transports set to 60 seconds. - FIX:DB.LibsDB.OscadaLibs: base.codeState: fixed for the type "Integer" of the IO "in". - !!:SYS.Function,DAQ.{JavaLikeCalc,LogicLev,ModBus,Siemens}: Expanded for tracing the function program changing and hot restarting the executing procedures setting the flag "f_start". - !!:FIX:DAQ.JavaLikeCalc: Fixed for the recursive call, observed on the recursive widgets creating in UI.VCAEngine. Some original messages expanded. - !!:FIX:Protocol.UserProtocol: Fixed for the DAQ-template links init after the protocol copy. Some exchanging attributes of the DAQ-mode set to optional one. Expanded for work only into input or output requesting mode, additionally to the both one. - Transport.Sockets: The session object cleaned from spare clntDetchCnt. The "IO log" expanded for some extra messages to the output transport starting stages. - !:UI.QTCfg: The moving operations of the configuration table expanded by the hot keys "Ctrl+Up" and "Ctrl+Down". - !!:FIX:UI.VCAEngine: Expanded for limiting the project widgets depth in 10 levels, mostly for limiting the recursion. FIX: The User API function wdgAt() fixed for return zero at wrong connection. Removed for the spare field "Use" on the session widgets. - !!!:FIX:UI.Vision: Expanded for the planning of the updating period depending to the real connection quality of the runtime mode, like to UI.WebVision. FIX: Fixed in the properties edition dialogues of Pages/Libraries and Widgets for: - preventing for closing at Esc; - disabling for timeouted cancelling of the LineEdit; - unbinding the edited state from the visibility for TextEdit; - preventing from changes loss into the tab "Process". FIX: Fixed for LineEdit marging from the hidden icon size, for the span Real and Integer. - !!!!:UI.WebUser: Expanded by the DAQ-templates support. Revised for all messages and the documentation. - UI.WebVision: External windows of the interface prevented from flicking by it real closing after missing this page in the VCA-engine. 2018-11-19 Roman (stable) - FIX:Protocol.UserProtocol: Fixed for the limiting message. 2018-11-18 Roman (stable) - !!!:FIX:DB.LibsDB.OscadaLibs: The temlate library tmplib_DevLib appended for the counter modules Pulsar-M, sponsored by Zubarev Dmitry (IP INTEGRAL). !!!: The temlate library Base appended for the "codeState" template of the state forming by a code. !!!: The temlate library LowDevLib appended for the template "SHT3x" of the low-level humidity sensors implementation. FIX: Most templates are fixed for the stored attribute values in one space ' '. !: base.digAlarm: Improved for custom errors forming from the custom procedures. - !!!:FIX:DB.LibsDB.vcaBase: The widget library Main appended for the widget "ImgLab" - image labels. !!: The widget "Main.{alarmsAct,alarmsSt}" and "doc.docMessRep" expanded for the source field, taking from the OpenSCADA remote station or the DAQ source. !: Main.{anShow,anShow1}: Expanded for the custom errors processing. - DB.Model.AGLKS.St: The ModBus protol nodes' table cleared. - !!:SYS: ResMtx set to true for "isRecurs" but it is the typical situation. Some original messages improved. TFunction::ioAdd() appended by the result for the appended IO position. TPrmTempl::Impl::cntrCmdProc() expanded by the prefix "pref" argument. - FIX:Protocol.ModBus: Fixed for prevent the linked attributes translation of the Nodes. Expanded for the Nodes time stamp. The program language editable selection set to the pure selection. The types list of the IO data table appended by the type "Object". - FIX:DAQ.ModBus: Fixed for the Asynchronous mode process in processing the linked Logical parameters' list. Appended by some context help. - FIX:DAQ.System: Fixed for some translations. - !!!!:Protocol.UserProtocol: Expanded by the DAQ-templates support. Revised for all messages and the documentation. - FIX:Special.FLibSYS: IO: write() fixed for the default data type obtain. Wrong data type obtaining set safe. - FIX:Transport.{SSL,Sockets}: Fixed for true address obtain, mostly for IPv6, from the input connections. - UI.WebVision: Expanded for SVG-files processing by setting the attribute "preserveAspectRatio" to "none". 2018-11-03 Roman (stable) - !:DB.LibsDB.OscadaLibs: base.digAlarm: Prevented from alarms at the controller object errors. LowDevLib.DS3231: Expanded for support DS1307. - DB.LibsDB.vcaBase: Main.alarmsSt,doc.docAlarmsRep: Expanded by the attribute "messCat". - DAQ: Expanded for early enabling the template libraries in the loading stage, initially for transport protocols based on the DAQ-templates. - FIX:DAQ: The templates implementation fixed for the selectable attributes updating. - FIX:DAQ.JavaLikeCalc: Fixed for the comment expression "/*/" correct processing. - !!!!:FIX:Protocol.ModBus: The input part expanded for the DAQ-templates using and fixed for links saving. - FIX:UI.Vision: Prevented from processing operations of the widgets arrangement in the inactive windows. - FIX:UI.WebVision: Prevented from couple processing of the included pages and their opening both for including and as an external window. 2018-10-28 Roman (stable) - DB.LibsDB.{OscadaLibs,vcaBase}: Some translation updating. - !!!!:DB.LibsDB.vcaBase: Appended for Main.alarmsSt and Main.alarmsAct expanded for support quittance, comments and custom fields. - !!:Special.{FLibComplex1,FLibMath}: Revised for all messages and the documentation. - Transport.SSL: Prevented from twice SSL_library_init() call at OpenSCADA projects switch due it cause some time to crashes, seen on Ubuntu 16.04. - UI.VCAEngine: Widgets prevented from names setting to their ID, at the copying mostly. - !!:UI.Vision: The focus control rewrote to the VCA-widgets specific one and not Qt-widgets, like to UI.WebVision, what prevents some problems. - !!:FIX:UI.WebVision: Improved for the focus control behaviour and fixed to prevent mouse events to behind pages. 2018-10-23 Roman (stable) - DB.LibsDB.OscadaLibs: base.manInUnif: Expanded for alarms setting from the preprocessing custom procedure. - DB.LibsDB.vcaBase: doc.docAlarmsRep: Improved for the space wrapping in the last two columns. - DAQ.DAQGate: The parameters' attribute "err" set to "10:Data not available." after loading. - FIX:DAQ.LogicLev: Fixed for the template configuration field processing "Only attributes are to be shown". - FIX:DAQ.Siemens: Tested and fixed on the real PLC connection after migrating to the new API of the unified DAQ templates. 2018-10-20 Roman (stable) - Transports: Input transports appended by the virtual functions keepAliveReqs(), keepAliveTm() for the true KeepAlive on Web. - TUIS: Changed for the behaviour of determining the file extension "svg" as "image/svg+xml" for correct and multiple SVG files display on WEB. - !!!!:FIX:Protocol.HTTP,UI.{WebCfgD,WebUser,WebVision}: Fixed for KeepAlive true implementing then fast working on high latent channels storring the connection. User API functions pgAccess(), pgCreator() moved from TProtocol to TProtocolIn. Mime types cleaned from ";" and after it in the end. - !!:Special.SystemTests: Revised for all messages and the documentation. - !!:UI.WebVision: Prevented from spare and separate requesting of the included pages' content, in the starting. 2018-10-16 Roman (stable) - FIX:UI.Vision: Table forming prevented from the fliclking. - !!:FIX:UI.WebVision: Control interface's pages prevented from overriding service attribute "id" of the main tag, which causes to impossibility to open an external window. 2018-10-14 Roman (stable) - DB.OscadaLibs: DevLib.ModBusScan: the ModBus scanner implementation improved for the list attribute "type" direct creation with the new DAQ-template's function. tmplib_S7.test: some expanded for testing new functions of the module "DAQ.Siemens". - !!!:SYS,*: TFld::Selected everywhere renamed to TFld::Selectable. - FIX:SYS: The internal program languages list, by the service "/plang/list" appended for the empty item "" to allow for reset the fields, mostly for VCA. - !!!!:FIX:SYS.Transport.{Sockets,SSL}: Common locks mechanism is added by a locks container, the function commonLock(), and for system functions like to getaddrinfo(), which is not multithreaded one. !!!!:FIX: Transport.{Sockets,SSL}: getaddrinfo() wrapped to a common lock to prevent the critical problems. The function crypt() moved under the common locks. - !!!:SYS: The DAQ-templates and all their implementations appended by a function of selectable attributes creation from the template field "Value" of the two and three lines. TFunction::IO appended by the flag IO::Selectable. - !!!!:DAQ.{*,ModBus,LogicLev,Siemens}: The new API of the unified DAQ templates implementation TPrmTempl::Impl is finished and all DAQ-modules migrated to it. - DAQ.JavaLikeCalc: Appended for the copying functions of the controller objects. - !!!:DAQ.Siemens: Extended for direct specifying the link address type, which is not tested fully and may be buggy!!! - !:Transport.{Sockets,SSL}: Connection info of the output transports appended by the real connected IP-address. - !!:Transport.Serial: The flow control field moved to the options field due to a need with direct disabling some options like to -RS485. - UI.{QTCfg,Vision}: Table forming improved for the allowed width taking from maximumViewportSize(). - !:FIX:UI.QTCfg: Prevented from the commands "set", "load" and "save" impact into the generic request and character warnings. Make the cycle updating period slower after the busy dialog. - !:UI.Vision: Prevented from updating selection of the developing widget, mostly for slow channells. !: The big texts editing dialog set for allowing access to other main windows. 2018-10-06 Roman (stable) - FIX:SYS: Resend true SVN-log information. - FIX:TSecurity: Prevented from empty users appending to groups and appended for the empty users processing in the group's users list. - !!:FIX:Archive.DBArch: Fixed for the value archives including to an archiver for the not grouped archiving mode. FIX: Finally fixed for the single-value request of the value archive, after the not full fix from 2018-02-23 only for the archiver data period 1 second. - Transport.Sockets: The waiting of any data after zero reading disabled due it proven the senselessness on VPN and other. - !!:FIX:UI.Vision: Fixed for the master page regular replacing (crashing) and scaling into the run-time mode. 2018-09-30 Roman (stable) - DB.OscadaLibs: An implementation of the ModBus scanner added to the templates library "DevLib" as the template "ModBusScan". - DB.Model.{AGLKS,Boiler}.St,*.xml: Continue of the Transport.Sockets addresses for the TCP type simplifying. - FIX:SYS: Fixed for the flags TFld::SelfFld and TFld::Selected setting into TFld::setFlg(). - SYS,DAQ.{JavaLikeCalc,ModBus},Protocol.UserProtocol,UI.VCAEngine: The message "Translate program" translated to "Completely translate the procedure" everywhere. - !!:DAQ.Siemens: LibnoDave updated to 0.8.5.1. The own implementation of ISO-TSAP appended for errors processing of the functions requesting. 2018-09-29 Roman (stable) - DB.LibsDB.vcaBase: wlb_doc.docAlarmsRep: Spare attributes "p*" removed. - DB.Model.{AGLKS,Boiler}.St: Transport.Sockets addresses for the TCP-type simplified. - !!:SYS,UI.{QTCfg,WebCfgD},Transports: Table of the control interface expanded for difference help per columns and cells. The generic help of the "Tasks" table moved to the concrete column "CPU set". !!:Transports: Table of the external OpenSCADA hosts expanded for the context help to the transport address cell, depending the selected transport type. - !:FIX:SYS: Losses the configure file changes prevented by pre-saving all changes before it loading. - !!:Transports.{.,Sockets.SSL}: The output transports expanded by the attempts field of the generic control. The function outAddrHelp() of taken common address help for the output transport modules was added. - !!:Archive.DBArch: Revised for all messages and the documentation. - DAQ.ModBus: Expanded in limiting the ModBus frame size for workaround the bad hardware flood. - !:Protocol.SelfSystem: Expanded for the output transport attempts support. - !!!:Transport.{Sockets,SSL}: Expanded for support IPv6 both for input and output transports using getaddrinfo(). The output transport address expanded by global arguments which can be the timings and attempts. Appended for processing (connecting) all IP addresses resolved from the symbolic one, especially for the output transports. Output transports appended for direct definition several host adresses. Output transports' IO log expanded for starting errors. - !:Transport.SSL: The output transport status appended for the last connection time. The default port set to 10045. - !:Transport.Sockets: "TCP:" prefix of the addresses set to nonobligatory-optional. The address mode of the input transports set to 1(do not close, only by the KeepAlive parameters) by default. The default port set to 10005. - UI.QTStarter: Some improved for the right mouse key emulation, terminating by the keyboard focus events. - FIX:UI.WebCfgD: Some fixed-improved in the table cells editing. 2018-09-10 Roman (stable) - FIX:UI.QTStarter: Fix building with Qt4. 2018-09-09 Roman (stable) - !!:UI.QTStarter,Android: Right mouse key and context menu emulation is added at holding the left mouse key during the time set by the command line option --simulRightMKeyTm. This time set to 2 seconds for Android. - FIX:DB.OscadaLibs: UserProtocol_uPrt.DCON fixed for guaranty CRC in two symbols. - !!:Transport.SSL: Revised for all messages and the documentation. - !!:UI.QTCfg: The Node groups hint is added for the addition node command and this command is allowed now for node groups into the control tree. Window title of the busy progress bar set directly. tmess.h moved after qtcfg.h which must fix for building with Qt5.11. Pages content updating at the item selection into the control tree moved to the timeouted update due releasing mouse events loss for the right mouse key emulation. 2018-08-28 Roman (stable) - DB.OscadaLibs: base.{anUnif,anUnifSt}: The imitation expanded for random offset. - !!:DB.DBF,Transport.Serial: Revised for all messages and the documentation. - DAQ.JavaLikeCalc: Expanded for expressions with the keyword "var" processing at presence the same name variable "var". - Transport.{SSL,Sockets}: Some original messages is fixed. - FIX:UI.VCAEngine: Prevented from copy not modified attributes at widgets copying. - FIX:UI.Vision: Performs the focus moving to the active subwindow at the drag and drop from the widgets inspector. The field "Inherit" of the Widget addition dialog set to be hiden at copying/adding to the widgets containers. - UI.WebVision: Expanded for setting the VCA visual elements, the "class" attribute to "Primitive {WPrimitive}" and the "id" attribute to the widget identifier like to "wdg_{id}" for simplifying the customisation. 2018-08-19 Roman (stable) - Android/build.sh: Improved in building under environments with the system Qt5 development files. - !:DOC: "DAQ", "DAQ.DAQGate" expanded by links to the resources. "Release 0.9" expanded for the participants list. - !!:DB.FireBird,DAQ.Siemens: Revised for all messages and the documentation. 2018-07-22 Roman (stable) - SYS,Archive.FSArch: Completed in renaming "Archivator" to "Archiver". - FIX: Some next original messages are fixed. - !!:DB.{MySQL,PostgreSQL},Protocol.SelfSystem,Special.FLibSYS: Revised for all messages and the documentation. 2018-06-25 Roman (stable) - FIX:data/openscada.spec: Fixed for building on SuSE. - FIX:data/openscada_mod_ALT.spec: The openscada-server package fixed for including the file oscada_server.xml. - DB.MySQL: tcon.reconnect replaced by mysql_options(&tcon, MYSQL_OPT_RECONNECT, ...); to provide building with MariaDB >= 2.4. - FIX:Transport.Serial: The extended parameter "reqRetrMult" of the char symbol time of the output transport is fixed in the processing. - !:UI.VCAEngine: The runtime procedures of the widgets are enabled for using the actual (for the last request) user and language, for dynamic translation. - FIX:UI.WebVision: Fixed for hiding the overflowed context in the standard buttons, observed on Chrome. 2018-06-20 Roman (stable) - The work branch switched to the version 1+r0000. - DOC: Fix all documents for wrong deleting "", detected on FireFox. 2018-06-15 Roman (stable) - DOC: The document "Modules/BFN" translated to Ukrainian and revised. - DB.OscadaLibs: servProc.releaseTests: Significantly expanded for the tests after their execution before 0.9 LTS. servProc.{wacko2media,docOffLine}: Appended for description. - DB.Model.AGLKS.St: Appended by some nodes for the release tests: Sockets.{in_testRelease,in_testRelease1,in_testRelease2}, SSL.in_testRelease, Serial.in_testRelease DBArch.1s set to address "SQLite.arch" and to enabled at launch. - FIX:SYS:ChangeLog: Some fixed for the text after 0.8.20 LTS. FIX:data/openscada_start.in: Fixed for the new busy checking. data/ModelsDB/AGLKS/oscada_AGLKS.xml: Appended by some DB for the release tests: {SQLite,MySQL,PostgreSQL,FireBird,DBF}.testRelease. The DB SQLite.arch is added, its address set to "arch.db" and, it set to enabled at launch. TCntrNode: Changed for using the definition STD_WAIT_TM(10) instead DEF_TIMEOUT(2) and DEF_TIMEOUT_EXIT(60). TCntrNode::chldDel() prevented from exceptions in the mode DoDisable. FIX: Some original messages next improved. Some control interface properties (ID, NAME, DESCR) set to relation with the DB configuration, for: TFunction, TPrmTmpl, JavaLikeCalc.FLib. FIX: The function TMess::codeConv() prevented from error messages due a recursion at wrong codepage. - SYS.TFunction,UI.QTCfg: The control field "rows" of the control interface expanded for true processing, as a hint. - !:FIX:Archives: The archivers' objects copying prevented from startup and fixed for copying addition properties. - FIX:DB: Fixed for reloading databases at the configuration file reload. - Transports: The external hosts of OpenSCADA prevented from changing the modification time and reconnections at the loading. - !!!:DB.SQLite,DAQ.BFN,Protocol.HTTP,UI.{WebCfgD,WebVision}: Revised for all messages and the documentation. - !!:FIX:Transport.{Sockets,SSL,Serial}: Preventing, by processing, the executions at closing the input protocol. - Transport.Sockets: Appended by the IO log for UDP requests. - !:FIX:UI.QTCfg: Fixed for crashes at going to in the list by double-click. - FIX:UI.{QTCfg,Vision}: Fixed for crashes at the module detaching. - UI.VCAEngine: Duplicated for the user API function alrmQuietance() to the old one alrmQuittance() and the service "quietance" to the old one "quittance". - UI.{WebCfg,WebCfgD,WebUser,WebVision}: The module information fields "Name", "Author", "Description" prevented from duplication. - FIX:UI.WebVision: Fixed for the status bar scaling, checking for availability and help processing. Header of the protocol table set to hidden at its disabling. 2018-06-05 Roman (stable) - !!:DOC: The document "UI.Vision" is fully revised and translated to Ukrainian. - SYS,UI.{QTCfg,Vision}: Some original messages next improved. - Archive.FSArch: Last entry of the direct specified permition of the creating file replaced to SYS->permCrtFiles(). - UI.QTStarter: Resolved for QStyle direct declaration but it is needed some time. - UI.Vision: Finished for revision the translation to German. 2018-05-29 Roman (stable) - !!:DOC: The document "UI.VCAEngine" is fully revised and translated to Ukrainian. - FIX:DB.Model.{AGLKS,Boiler}.St: Some original messages fixed. - !!:SYS.*: Command line help unified in the function optDescr() for getting the hierarchical help in a string and for its printing in single place of the function TSYS::load_(). !!: A new command-line argument --consoleCharSet added for control the console charset, for console messages and help. TCntrNode: The message "Expecting release %d users!" appearing set seldom and with period 1 second. - FIX:DAQ.JavaLikeCalc: Fixed for translation and output links setting from the table edition. - FIX:UI.{VCAEngine,Vision}: Fixed and expanded for original messages. - FIX:UI.Vision: Fixed for closing child windows on QNX, commenting pg->setAttribute(Qt::WA_DeleteOnClose) FIX: Fixed for fit main page to the main window size on small screens - prevents from appearing scroll bars. FIX: Fixed for crash on main runtime window close with palyback of the primitive "Media" in the types "Animation" and "Full video". - !!:UI.WebVision: Expanded for own statusbar support, currently only with the user information and the status messages. 2018-05-18 Roman (stable) - !!:DOC: The document "VCAEngine (VCA)" is started for revision. - data/debian: Expanded by appending the package openscada-plc. - SYS.XMLNode: isspace() replaced by own implementation isSpace(), mostly for QNX where isspace() is broken for UTF-8. - !!:DAQ.{TPrmTempl,JavaLikeCalc}: Finished and tested at the implementing the class TPrmTempl::Impl of the using unification of the DAQ templates. Access to the links moved under the critical section. - Protocol.HTTP: Expanded using the project icon as the main module icon. 2018-05-14 Roman (stable) - !!:DOC: The document "DAQ" is fully revised. - DAQ.{*.ModBus},Protocol.UserProtocol,UI.{VCAEngine,WebUser}: Internal programming languages list made plain, moved to the generic request "/plang/list" and used everywhere. - !!:DAQ.TPrmTempl: Started for expanding of the using unification by the class TPrmTempl::Impl creation, due the planes for exptend some OpenSCADA parts by the DAQ templates: DAQ.JavaLikeCalc, Protocol.{ModBus,UserPrt}, UI.WebUser; and for parts already using the DAQ templates: DAQ.{LogicLev,ModBus,Siemens}. - !!:DAQ.JavaLikeCalc: Initially extended for using the DAQ templates. The functions selection list made plain one and appended by the DAQ templates. - FIX:UI.QTCfg: Fixed for crashes at opened warning-error dialogs. Going to branches through the list set for placing the previous address to the back list. - !!:UI.Vision: The requisting into different thread set to be enabled at the unpublic command line option "ReqInDifThread" but Qt loss releasing mouse events now, into event(). Then, by default the requisting into different thread is disabled now. 2018-05-11 Roman (stable) - !!:DOC: The document "DAQ" is mostly revised. - !!!:FIX:Archive.FSArch: Cache access moved under a critical section, for preventing crashes at high load. - DAQ.GPIO: SUNXI part expanded by the ports J,K,L,M,N,O. - !!:DAQ.SNMP: Expanded for the connection error control at the parameter level. - !!!:FIX:UI.{QTStarter,QTCfg,Vision}: All Qt objects removing moved to use deleteLater(), for safe removing under processEvents() call from the requesting in different thread. - !!!:FIX:UI.Vision: The primitive "Diagram" and "Box" fixed after wrong improving in the tracing call on close but for the development mode. 2018-05-05 Roman (stable) - !!:DOC: The documents fully revised: Archive.FSArch, DAQ.{LogicLev,DAQGate,ModBus,GPIO}, Transport.Sockets. - FIX:DB.Model.AGLKS.St: DAQ.LogicLev.experiment fixed for the reflection DB specifying as "LogLevPrmRefl_experiment". - !!:SYS,Archive.FSArch,DB.SQLite,DAQ.{DAQGate,GPIO,LogicLev},Transport.Sockets: Some original messages next improved. - FIX:Protocol.UserProtocol: Prevented from breaking all next starting protocols after one error starting. - !!!:FIX:UI.QTCfg: Fixed, in the closing mostly, for processing of requests into the different threads in way of the function implementation for the runtime mode of UI.Vision. The fit of the vertically scalable items made more precision. Added for HTML encoding into the HTML helps. - !!!:FIX:UI.VCAEngine: Archive mode of the primitive "Document" fixed by the specific attributes set to the new mode Attr::NotStored. - !!!:UI.Vision: Requests of the runtime mode moved to different thread. Notificators switched to direct requests, behind the different thread. The primitive "Diagram" and "Box" improved for late enabling (after whole loading) in the runtime mode, mostly for slow and bad remote connections. Access to user's name and password moved under the critical section. 2018-04-27 Roman (stable) - data/openscada-proj: Expanded by the command "update" of updating the configuration 0.8.0 LTS to 0.9. - !:FIX:SYS.Archives: Fixed for archivers loading at some archive module missing. - !:FIX:SYS.TCntrNode: Appended by the definition "DEF_TIMEOUT_EXIT(60)" for use the timeout of the nodes disable/remove at the program exit. Mostly to prevent crashes at the exit when there some long-time procedures executed. - !:FIX:TRegExp: UTF8 flag force setting at UTF8 system locale is prevented at the reason of there impossible disable the flag for non-UTF8 source. The attribute "err" added to the result array of the match() request. - DAQ.{DAQGate,MMS,ModBus,OPC_UA}: TSYS::sysSleep() in idle (missing connection) replaced to TSYS::taskSleep() for correcting the maximum requesting time. - !!!:DAQ.GPIO: Expanded by the OrangePi (SUNXI) support and unification the user static functions. - DAQ.ModBus: Some original messages expanded. - !!:DAQ.SMH2Gi: Expanded for SMH4 support. - FIX:UI.QTCfg: Take in account the item's description set after its zero value. Forming item's WhatsThis and ToolTip some improved. - FIX:UI.Vision: Translation some fixed. 2018-04-22 Roman (stable) - !!!!:DOC: The document "Release_0.9" has formed and the document "DAQ.GPIO" added. - !!:SYS: DAQ.BCM2835 renamed to DAQ.GPIO and expanded for different boards support. - SYS: The DB selection item "*.*" removed for the main page. - DAQ: create() and destroy() of TTypeParam moved from constructor and destructor of TParamContr to postEnable() and preDisable() respectively, to prevent access to unformed object of TParamContr. - !!!!:UI.QTCfg: Fully revised for the original text messages. Representing for help unified for "StatusTip", "ToolTip" and "WhatsThis" in one function "setHelp()". "ToolTip" limit set for control by a new configuration parameter "ToolTipLim", which is 150 by default. "ToolTip" expanded for HTML labels. - FIX:UI.QTStarter: Fixed for original Qt-messages translation into the main-threading mode. - !!!:FIX:UI.VCAEngine: Prevented from saving not enabled yet items at "enableByNeed". - !!:FIX:UI.Vision: Scaling the main runtime window made absolute from the window original size. Some original messages yet improved, sync with QTCfg and the translation to German advanced. 2018-04-16 Roman (stable) - FIX:data/openscada-proj: "dPrjUser" fixed for set to "~/.openscada" at the variable missing. - !:SYS: "OpenSCADA system" in headers and sources fully renamed to "OpenSCADA". - FIX:UI.WebVision: Primitive "FormEl" processing into the server side moved into a critical section. 2018-04-10 Roman (stable) - FIX:Archive.FSArch: Third argument of the function open() with the option O_CREAT. - !!!!:DOC: "Quick Start" revision and it translation to Ukrainian finished at last. - FIX:DB.LibsDB.vcaBase: The "Analog show" widget translation expanded for the whole expression. The widget "Cooler (cooler2)" renamed to "Cooler 2". Main.{grpGraph,ViewCadr,grpGraph10}: Direct links to "name" replaced by the dynamic one "this.attr("name")", due it processing can be lost sometime. Main.RootPgSo: Prevented for locking all pages of selected signal object (SO). - FIX:DB.Model.AGLKS.vca: All links to the ball cranes were updated. - FIX:data/openscada-proj.in: Fixed for the negative result code of the return operation. - !!!!:SYS,UI.{VCAEngine,Vision}: The term "quittance" renamed to "quietance", from the word "quiet" which is a logical one for the alarms. - !:SYS: main.cpp improved for the original messages. "OpenSCADA system" in headers of the source files mostly renamed to "OpenSCADA". - FIX: Archives: The archivers' objects copying prevented from copy the configuration field "ADDR". - !!!!:Archive.FSArch: Hardly prevented from the configuration field "ADDR" changing both for messages and values. A procedure of the configuration field "ADDR" checking for duplicates added. - !!:FIX:DB.{SQLite,MySQL,PostgreSQL,FireBird}: Translation columns creation at the table fixing added for already and partial translated tables into the non multi-language mode. An additional debug tracing label added. - !!:DAQ.{DAQGate},UI.{VCAEngine,Vision}: Fully revised for the original text messages. - DAQ.JavaLikeCalc,UI.QTStarter: Some revised for the original text messages. - UI.QTCfg: Appended by the navigation tree refreshing after the error copying. - !!!!:UI.{VCAEngine,Vision}: The projects expanded by the using sessions accounting for new pages hot enabling on the sessions. The "Use" field also added for the widgets libraries, as a count of whole using of their widgets. - !!!!:FIX:UI.VCAEngine: FIX: Fixed for accessing to the wrong created session items. Attr::ProcAttr was also appended to the direct inheriting like to the links. - UI.WebVision: The attribute "value" clearance was added after accomplishing the mode "Save" of the view "Button" of the primitive "FormEl". 2018-04-01 Roman (stable) - !:DOC: "Quick Start" continued to revision ongoing of it translation to Ukrainian, in the part 4. - FIX:DB.LibsDB.OscadaLibs: Some original messages are fixed. - SYS: "Template library" renamed to "Templates library". The expression "Gather task priority" replaced in whole to "Priority of the acquisition task". The Ukrainian word "Включено" replaced in whole to "Ввімкнено" and "Виключено" to "Вимкнено". - !!:Archive.FSArch,DAQ.{LogicLev,ModBus}: Fully revised for the original text messages. - FIX:UI.VCAEngine: The attribute "value" of the primitive "FormEl" prevented from the modification flag set at the type change. - UI.Vision: The mode "Load" of the view "Button" of the primitive "FormEl" expanded for use mime and placing the selected file name to the header. - !!!:UI.WebVision: The modes "Menu", "Load" and "Save" of the view "Button" of the primitive "FormEl" are implemented. Some properties of the primitive "FormEl" were fixed to detect the changes. The tree view implementation was set the generic one for use in two places. 2018-03-24 Roman (stable) - !:DOC: "Quick Start" continued to revision ongoing of it translation to Ukrainian, in the part 3. - !!!:SYS: The option --enable-QtMainThrd of the configure time of the building was replaced by the execution command-line option --QtInNotMainThread of the module UI.QTStarter. And Qt working into the main thread is the default mode. - DB.LibsDB.OscadaLibs: DAQ templates base.{manInUnif,anUnif,anUnifSt} expanded for NORM messages oppressing also at wrong connections to the source. - FIX:DB.LibsDB.vcaBase: doc.{docGasNodeDayA,docGasNodeMonthA} fixed for the archival mode and improved for the dynamic mode. - SYS: *.desktop.in fixed for the original name and description. data/{openscada.spec,openscada_mod_ALT.spec,openscada_mod_RH.spec}: The daemon mode init script "oscadad" and "openscadad" renamed to "openscada-server" and separated to "openscada-plc" for the generalization. data/oscada_start.xml: the input transports were commented due to clarify the default configuration file of the desktop mode. data/openscada_start.in: expanded to check for "lock" file of the new project manager. - FIX:SYS.*: The function cmdOpt() set to return empty strings at the empty command-line parameter. The function cmdOptPresent() is used only for the parameter presence checking. - FIX:UI.VCAEngine: Restored and fixed for hot tracing into sessions of changes into widget's links. The session project forbidden to edition into the enabled mode. - !:FIX:UI.Vision: The copy command final rised before the cut one. The InputDlg widget expanded for controlled save and restore the window size, for very expanded ones on the example of the fullsized text edition. FIX: The view "Button" of the primitive "FormEl" forcing to its background color fixed for set the default color. - !!:UI.WebVision: The view "Button" of the primitive "FormEl" some improved and expanded for the extended mode "Save" support. Tracing for the main window resizing set only for the height and with 10% margin in decreasing. 2018-03-16 Roman (stable) - !!:DB.LibsDB.vcaBase: doc.{docGasNodeDayA,docGasNodeMonthA} significant expanded for work in the dynamic mode also. - !!!:FIX:SYS.Android: Expanded for: deep attenuation of the look, building with the official NDK r13, building and signing the release target, setting the package version to 0.9. FIX: For condition variables where CLOCK_MONOTONIC was selected but CLOCK_REALTIME used. Setting for locale added as setlocale(LC_CTYPE, "C.UTF-8"); for Android >= 5. - !:SYS,UI.QTStarter: Generic font was added to the list of the look control fields, initially for Android. - UI.QTCfg: Set adjustable to the generic font real size for: the control tree and the splitter width, the main window initial size. Loading of the "endRunTimer" is decreased. - FIX:UI.QTStarter: Prevented from open the QTStarter main window after successful log in into the QTCfg module. - UI.VCAEngine: Prevented from the missing attributes warnings at switching the primitive "Document" to the dynamic mode. - UI.Vision: Set adjustable to the generic font real size for: the tree view. The view "Button" of the primitive "FormEl" forced to its background color changing by using CSS also, which is needed for the Qt Widgets style "GTK+". - FIX:UI.WebVision: The primitive "Text" disabled from padding arguments by " " and " " used instead. Tracing added for the Web-browser main window resize and the OpenSCADA main page reloading. 2018-03-09 Roman (stable) - SYS,UI.QTStarter: Android look adapted to a default custom theme and CSS. - !!:DOC: Off-line documents Documents/How_to/{Cyclic_programming,Debug,Transferring_project_configuration,Build_from_source,Crash_report,Create_module} are appended by the prefix "How_to_". - DB.LibsDB.OscadaLibs: DAQ templates base.{manInUnif,anUnif,anUnifSt} are appended by checking their execution controller state for oppressing their violations about wrong connections to the source. - FIX:DB.LibsDB.vcaBase: Wrong "tittle" renamed to "title". - DATA.icons,UI.{QTCfg,QTStarter,Vision}: Some low-resolution images of GUI toolbars expanded up to 64x64 dimension in way of the Android look improving. - Archives: Clean up of the current violations table was added by a new button. - DAQ.JavaLikeCalc: The function String.toInt() of the user API set to the base "10" by default. The user API expanded by functions {Boolean,Integer,Real}.{toReal,toInt}(). - !!!:UI.{QTStarter,QTCfg,Vision}: Size of icons and sub-fonts made adaptive from the main-system font real size, for: the title font, toolbars' icons, the navigation tree's icons; by the new function icoSize() and in way of the adaption to Android. !!:Force switching to the style QPlastiqueStyle() (Qt4) or QCommonStyle() (Qt5) was removed by presence of OpenSCADA control of the look and feels. Moving dialogs to the centre of the screen was added for Android. - !:UI.QTCfg: The images "ok.png" and "identity.png" removed and replaced. The fitting mechanism of the scalable items was made faster. - UI.QTStarter: An icon "it_add.png" was added for the button "Create-update a project". Using of the native menu-bar of Android disabled by the attribute Qt::AA_DontUseNativeMenuBar. - !!!!:UI.{VCAEngine,Vision,WebVision}: The primitive "Text" was appended by an attribute "inHtml" and the support of display HTML. - UI.Vision: The images "it_*.png" renamed to "v_it_*.png". The images "ok.png" removed and replaced. 2018-03-04 Roman (stable) - !!:DOC: Appended by Documents/How_to/{Cyclic_programming,Debug,Transferring_project_configuration,Build_from_source,Crash_report,Create_module},Documents/API. - DB.LibsDB.OscadaLibs: servProc.docOffLine appended by the documents Documents/How_to/{Cyclic_programming,Debug,Transferring_project_configuration,Build_from_source,Crash_report,Create_module},Documents/API(EN) for the offline documentaion list. servProc.docOffLine switched more to the default language "en" for common images and generic documents - only in English. - !!!!:SYS,UI.QTStarter: The manager of the OpenSCADA projects expanded for: data/Android/AndroidManifest.xml: data/openscada-proj.in: The user directory of OpenSCADA projects allowed for disabling, setting to priority before the system one and placing to FAT. The user directory of OpenSCADA projects set to "/storage/sdcard0/.openscada". data/debian[_mod]/*.init: Set for disable the user directory of OpenSCADA projects. - !!!!:SYS,DAQ.{*,JavaLikeCalc,SNMP},UI.QTStarter: Most original messages at last improved and corrected. - !!:SYS,DB.DBF,Archive.FSArch,UI.Vision: Generic control for permition of created files by OpenSCADA, added by the command-line parameter "--permCrtFiles" and the function TSYS::permCrtFiles(). - !!:Archive.FSArch: New objects of archivers sets to the default path of storage "ARCHIVES/MESS/" for the projects of OpenSCADA. Archive files renamed from the format "%F %T" to "%F %H.%M.%S" to allow their creation on FAT. - FIX:DAQ.ModBus: Fix for copy parameters of the logical type at the links initiate after. - FIX:UI.QTCfg: Vertically scalable elements fixed for guaranty the previous fit reset before the same fitting. - UI.QTStarter: The look and feel are made for renewing on the go. The manager of the OpenSCADA projects merged the user and system directories of the projects and was set for the projects sorting. The function "Create-update a project" was moved as an independent button, after the projects list. 2018-02-23 Roman (stable) - !:DOC: Appended by Works/To_do,Documents/How_to/{Install,Live_disk,Violations,_alarms_and_notifications}. - DB.LibsDB.OscadaLibs: servProc.docOffLine appended by the documents Works/To_do,Documents/How_to/{Install,Live_disk,Violations,_alarms_and_notifications} for the offline documentaion list. servProc.docOffLine switched to the default language "en" and the missed pages link to there. - SYS:*.spec,debian/control: Translation packages set for dependent from English one. - !!!!:SYS,UI.QTStarter,DAQ.System: QtSensors support was added for the sensors reading into UI.QTStarter and a shared object preparing for DAQ.System and the user API. - !!:SYS: The folder "data/Android" of configuration of the OpenSCADA building for Android was added. data/openscada-proj.in was adapted and its permition checking and setting to the executable was added for call from Android. The command-line argument --modDir was added as a copy of the configuration file parameter "ModDir". - SYS: The function cmdOptPresent() was added for the user projects directory role next expanding. - SYS: ARM CPU-frequency reading expanded in reading "scaling_cur_freq" which available for the ordinal users. - !:FIX:Archive.DBArch: Fixed for single-value request of the value archive. - FIX:UI.QTStarter: Visibility of the button of the OpenSCADA projects call some fixed for Android. 2018-02-09 Roman (stable) - !:DOC: "User API" revision finished. - SYS: data/{debian,debian_mod}/control,data/openscada.ebuild,data/*.spec: somewhat updated for some packages description. - SYS: TODO was updated for re-link to the online document. README was updated. - PrmTmpl,DAQ.JavaLikeCalc,UI.VCAEngine: The document "User API" call from some pages of the configurators of OpenSCADA was added. - !:UI.{QTStarter,QTCfg,Vision}: Qt Windows show mode support was added by the commandline parameter --showWin, for initial and allowed to change from. - !:UI.Vision.ElFigure: Some properties of the common part of the developing mode were moved to the private widget part - for allowance of the feature of the parallel edition at widgets of the primitive execution. 2018-02-02 Roman (stable) - !:DOC: "Program Manual" revision and it translation to Ukrainian finished at last. "UI.QTStarter" significant revised and actualised. - DB.SQLite: Expanded for an error message mark as "Read Only". - Transport.{Sockets,SSL}: The connection error of the outgoing transport was expanded by details. - FIX:UI.QTStarter: Some original messages were fixed. 2018-01-28 Roman (stable) - !:DOC: "Program Manual" continued to revision ongoing of it translation to Ukrainian. - SYS: The meaning of the OpenSCADA station ID set more clear and associated to the station role that is: WorkStation, ServerStation, PLCStation, SimulatorStation. For the main roles WorkStation, ServerStation, PLCStation there were added some representative icons and the station icon set check to its name before. - !!!!:SYS, UI.QTStarter: UI.QTStarter expanded by the Look and Feel control itself and its profiles support from the configuration file table "LookFeel" of the module. Currently to the table "LookFeel" added three pallete profiles of the configuration files oscada_start.xml, oscada_AGLKS.xml, oscada_Boiler.xml. Most of the standard configuration files of OpenSCADA revised for their properties translation and the original messages. - !!!!:SYS: All command line help messages of the core library and modules of OpenSCADA fully revised for the original texts and their translation to Ukrainian, Russian and German. - !!:SYS,Archive.{DBArch,FSArch}: Most original messages and help ones of the subsystem "Modules scheduler", "User interfaces", "Special" and some others were fixed and improved. - SYS: The station name "Empty Station" renamed to "Initial Station". - !:Special.SystemTests: Especially significant revised for all command line help messages. - UI.VCAEngine: The syntax highlight rules of CSS expanded for comments by /* */ of the primitive "Document". - UI.WebCfgD: Renamed from "Dynamic WEB configurator" to "Program configurator (Dynamic WEB)". 2018-01-19 Roman (stable) - DB.AGLKS.St.db: ModBus tests expanded for reading a big PDU by the register 100 reading. - SYS:data/{debian,debian_mod}/rules: The configuration appended by the argument "--disable-static" to disable the static library of the OpenSCADA core build. - !:DOC: "Program Manual" continued to revision ongoing of it translation to Ukrainian. - !!:SYS,Archive.{DBArch,FSArch}: Most original messages and help ones of the subsystem "Archives-History" and some others were fixed and improved. - FIX:UI.QTStarter: Prevent from a multiple entry from processEvents() manual call, observed on QTCfg. - !!:UI.VCAEngine: Implemented for hot update of the widget procedures of the runtime mode. - !:FIX:UI.Vision: Prevented from the runtime window manual resize drop at the user change. !:The view "List" of the primitive "FormEl" rewrote to implement the light updating, for mobile devices like to Maemo, MeeGo. 2018-01-13 Roman (stable) - DB.AGLKS.St.db: Appended by the documented Logical Level parameter experiment.CB7. - !:DOC: "Program Manual" continued to revision ongoing of it translation to Ukrainian. - SYS:Changelog: Some messages are fixed. - SYS,DAQ.{BFN,BlockCalc,DAQGate,FT3,JavaLikeCalc,LogicLev,ModBus,OPC_UA,Siemens},Protocol.UserProtocol,UI.{VCAEngine,Vision,WebUser}: "ID" renamed to "Identifier". - SYS: Help messages of the subsystem "Data acquisition" are improved. - !:FIX:SYS: Final counters dysplay set before the object "Mess" deletion. - !!:Transport.Serial: Added measuring of the maximum char symbol time of the output transports in the requesting mode in the Debugging. Char timeout calculation expanded for take in account whether the device is local (ttyS{X}) where the char timeout multiply to 3 for not local ones. - !!!:UI.{QTStarter,QTCfg,Vision}: The QTStarter menu forming yet one time changed for make the actions independent but the problem of the native menu bar forming in Unity. QTStarter toolbar forming moved direct to the end module. Force visibility of the menubar disabled for the native menu bar. - UI.QTStarter: Qt Style and StyleSheets are temporary added, before full implementation of the custom look and fill control by itself. Icon of the system tray and the main selection dialog appended for the custom project icon by its identifier. - UI.Vision: Main window of the runtime mode set to readjust at the user change. Main menu of the main window of the runtime mode set to the not disabling mode. 2017-12-27 Roman (stable) - FIX:DB.LibsDB.vcaBase: doc.{docGasNodeDayA,docGasNodeMonthA} Fix the summary document generation data for the account hour 0. - SYS:*.spec,debian/*.links: Final switch straight links from "openscada_start" to "openscada". - SYS.{Mess,DAQ,Archives,Transports}: Expand for subsystem specific unloading by implement the function unload() for cleaner complex OpenSCADA projects switch. - SYS: "EmptySt" renamed to "InitSt" as the initial station by default. - FIX:DAQ.DAQGate: Fix for attributes in EVAL for the stopped and disabled modes. - !!!!:UI.QTStarter: Expanded for close (windows) and starting into the system tray. !!!!: Significantly revised for the interface fully creation into the Qt events loop of exec() and WinControl functions moved to the StApp descendant of QApplication. Menu of QTStarter with the Qt modules list was unified as the static storage of the actions for extending menus and toolbars of windows of the Qt modules and the system tray icon. Set icon of the QTStarter dialog to one of the actual project. - !!:FIX:UI.Vision: Maximising, Full-screen, return to the original size of the runtime windows of the visual projects made true and unified at last. 2017-12-22 Roman (stable) - !!:FIX:DB.LibsDB.OscadaLibs: flb_doc.getVal fix for wrong archivators work out. - FIX:SYS: FIX:openscada.spec: Fixed for building on %_vendor == "redhat" and oscada_plc.xml appended beside oscada_server.xml. FIX:*: Some build warnigs are fixed. *: Unwrapping all the shortcuts "(sec)" to ", seconds". !!:XMLNodeObj,XMLNode: Full children clear set from the end for much speed up. Changelog: Some messages are fixed. Some original help messages fixed. Add debug counters clean up into unload(). - DB: Spare configuration area of the table object "/prm/cfg" removed. - FIX:Archive.DBArch: Appended by wrong archives pass of the values. - FIX:Archive.FSArch: Archive files multiple pack-unpack prevented. - DB.SQLite: Requests "BEGIN;" and "COMMIT;" moved under the critical section "connRes". - Protocol.HTTP: mNoFull renamed to mNotFull. - !!:Transport.{Sockets,SSL,Serial}: Output transports were appended by the responsible time measurement in the Debug mode. - !!:FIX:UI.QTCfg: Prevent error messages at resizing and make it after 0.5s. !!:FIX: Fix vertical scalable widgets "Tables" and "Lists" by their placing at the end of the widgets stack. 2017-12-16 Roman (stable) - DB.LibsDB.OscadaLibs: servProc.docOffLine appended by the documents Modules/{Quick_start,How_to}(without Ukrainian still) for the offline documentaion list. - DB.AGLKS.vca: Table "prj_AGLKS_incl" clear from spare records with "ATTRS"='' from old versions of OpenSCADA. - DB.Boiler.St: Table "prj_kotel9_incl" clear from spare records with "ATTRS"='' from old versions of OpenSCADA. - !:DOC: "Program Manual" continued to revision ongoing of it translation to Ukrainian. Appended by Modules/{Quick_start,How_to}(without Ukrainian still). - !!:FIX:SYS,UI.QTStarter: The new project manager adapted to lighter reloading at the projects switching in way of holding UI.QTStarter that fix some Qt configurations exactly for Maemo and seems for Android. Then the reloading performs now on the subsystems level with holding some modules. FIX: Checking filesystem items of projects for presence some fixed. - !!!!:SYS: Switch to the new projects manager: - for desktop files: openscada.desktop, openscada_AGLKS.desktop, openscada_Boiler.desktop; - initial scripts of the daemon mode: debian/openscada-server.init; - new configuration files of the projects "server" and "plc" of the daemon mode and their appending to debian and RPM packages, for: oscada_server.xml, oscada_plc.xml; old direct configurations of this mode must be in function; - the default configuration file oscada.xml moving to the exclusively projects initial configuration where only module ui_QTStarter.so allowed to a project fast selection; - the projects managing external script openscada-proj adapted to create projects' folders at their configuration file only availability, mostly for the daemon mode projects "server" and "plc"; -the old project manager script openscada_start left to the compatibility of the early created *.desktop links. - !!:FIX:SYS.*: Full switch to cmdOpt() from getCmdOpt() and some command-line options ongoing processing fix from early direct using of the system function: --messlev, --modPath. - !!!!:FIX:SYS: XMLNode fixed from spare string size reserving in encoding of the serialization which caused to its performance significant degradation especially on big trees. It must significant rise overall performance in network interaction by XML. - SYS.*: Unwrapping all the shortcuts "(s)" to ", seconds". - SYS: Redundancy appended by the maximum value of measuring of the processing time. - Archives.*: Values and messages archivators appended by the maximum value of measuring of the processing. - DAQ.AMRDevs: Finish of translation to German. - !!:Transport.*: Appended by measurement of the current and maximum time of requesting to protocol, in the "Debug (0)" mode. - !!:UI.QTStarter: Set holded at reloading by signal SIGUSR2 of projects reloading. Self menu for other modules made single one and placed also into property "menuStarterAddr" of the application main object. Made some optimal for busy screen devices like Nokia N900. - !!:FIX:UI.VCAEngine: Document processing tasks closing at executions prevented by these executions processing. !!: Different big (from the main task of the session) perioded widgets processing adapted to execution into different phases then to make the main task loading plainer and lesser at all. - !!FIX:UI.Vision: Runtime menu creation moved to whole mode that is full creation at needs and full clearing at not needs, for prevent the menu show at its inactive mode into some environments like Maemo and Unity. In that menu creation there is used the property "menuStarterAddr" of the QTStarter menu from the main object of the application. 2017-12-08 Roman (stable) - DB.LibsDB.OscadaLibs: DevLib.Nik2303I improved for natural termination criterion checking by Ruslan Yarmoliuk . servProc.docOffLine appended by the documents Modules/{BFN(without Ukrainian still),SoundCard,SMH2Gi} for the offline documentaion list. - DB.AGLKS.St: A preconfigured sound controler object of DAQ.SoundCard set to "default". - !:DOC: Appended by Modules/{BFN(without Ukrainian still),SoundCard,SMH2Gi}. - !!!!:SYS,UI.QTStarter: Built-in manager of projects of OpenSCADA implementation is finished for: - implementing of the platform specific placed to the script openscada-proj which also can be used independently and supports commands: list, proc, create, remove; - directory of user projects set configurable by a command-line argument --projUserDir; - multiple start preventing implemented by functions prjLockUpdPer(), prjLock() and a command-line argument --projLock; - icons and statuses added to prolect's items of the list of selection; - the actual project manager in a BASH script yet allowed but it will be switched to the new built-in at next turn-commit and currently you can see it simple call "openscada". - SYS: Command-line option --coreDumpAllow replaced by --noCoreDump to generate core dumps by default. - SYS,DAQ.{BlockCalc,DAQGate},Protocol.{ModBus,OPC_UA,UserProtocol},UI.VCAEngine: State lablel "Enable" renamed to "Enabled". - !!:FIX:DAQ.SoundCard: Significant revised and fixed for work with the real hardware and virtual ones like PulseAudio and tested on sample rates up to 192000. - FIX:UI.WebVision: Calendar dialog closing fixed and set at the clear timeout also and set it to 10 seconds. 2017-12-02 Roman (stable) - FIX:UI.QTStarter: Fix build for Qt5 in the main thread. - FIX:DB.LibsDB.OscadaLibs: servProc.docOffLine appended by the documents Modules/{Vision(without Ukrainian still),WebCfgD,WebCfg,WebVision,WebUser} for the offline documentaion list. - !!!!:DB.LibsDB.OscadaLibs: DevLib is appended by implementing of electricity counters Nik2303I from Ruslan Yarmoliuk . - !:DOC: Appended by Modules/{Vision(without Ukrainian still),WebCfgD,WebCfg,WebVision,WebUser}. - SYS: Default DB of the config file oscada.xml changed to the same config file, mostly to prevent empty DB files creation at initial configurations. - !!!!:SYS,UI.QTStarter: Initial support of projects OpenSCADA was added in way of which there appended: - strEncode() expanded by the mode "ToLower" for conversion to lower register; - command-line options preloading and direct access-modification by a new function cmdOpt(). - subsystem's modules unloading by unload(); - stopping by user's signals into stop(), where SIGUSR2 reserved for projects switching; - projects managing core functions: prjCustMode(), prjNm(), prjSwitch(); - UI.QTStarter: list of projects of OpenSCADA for controlled switching from initial (only a project selection) or other project; - the actual project manager in a BASH script yet allowed and here left to implement: RW projects copy, new projects creation at template, locking from multiple starting of single project. - DAQ.JavaLikeCalc: "Compile error ..." information expanded by the function ID. - !:FIX:UI.Vision: State of opened windows appended by their users. Main dialogs of the developing mode size and splitter's properties storing and restoring were added. Qt > 5.3 fix for wrong QAbstractTableModel::sibling() implementation by it reverting to QAbstractItemModel implementation. 2017-11-25 Roman (stable) - FIX:DB.LibsDB.OscadaLibs: servProc.docOffLine appended by the documents Modules/{VCAEngine(without Ukrainian still),QTStarter,QTCfg,FLibSYS,SystemTests,FLibMath,FLibComplex1} for the offline documentaion list. - !:DOC: "Program Manual" continued to revision ongoing of it translation to Ukrainian. Appended by Modules/{VCAEngine(without Ukrainian still),QTStarter,QTCfg,FLibSYS,SystemTests,FLibMath,FLibComplex1}. - !:DB.SQLite: Journals removing before open any DB was added. - !!:DAQ.{BlockCalc,DAQGate,DCON,LogicLev,Siemens,System}: The deprecated attribute "Clock period (ms)" removed. - Special.SystemTests: Some original messages fixed. - UI.{QTCfg,Vision}: Main window (developing for Vision) size and splitter's properties storing and restoring were added. - UI.QTCfg: Pages refresh at vertical size changing was added. Stop for cyclic refreshing at wait dialog termination was added before same termination. 2017-11-17 Roman (stable) - FIX:DB.LibsDB.OscadaLibs: LowDevLib.BME280 next some fixed by Arcadiy Kisel. FIX: servProc.wacko2media appended for processing "__", "!!(color)!!" and fixed for unpaired paddings before list symbol " *". servProc.docOffLine appended by the documents Modules/{ICP_DAS,Siemens,DiamondBoards,Comedi} for the offline documentaion list. The execution limit next risen to 240 seconds. - DB.LibsDB.vcaBase: Main.cntrPaspExt expanded to parameter name into the title. - !:DOC: "Program Manual" continued to revision ongoing of it translation to Ukrainian. Appended by Modules/{ICP_DAS,Siemens,DiamondBoards,Comedi}. - SYS: --enable-QtMainThrd set conditional in it default value that is "yes" for Qt5 and "no" for Qt4. - FIX:Archive.FSArch: Translation to German some fixed by Oleksiy Bondarchuk. - !!:FIX:DAQ.{DCON,ModBus,Siemens}: Mutex objects "enRes" and "reqRes" set to recursive ones by Alexey Bondarchuk. - Special.SystemTests: The name and description some expanded. - !!:FIX:UI.Vision: Main window restored for correct title into the runtime mode. !!:FIX: View "Text" of the primitive "FormEl" is fixed for crashes at placing on external windows of the runtime mode. Spare Mutex Objects removed from the object "UserStBar". 2017-11-14 Roman (stable) - FIX:DB.LibsDB.OscadaLibs: LowDevLib.BME280 fixed from SYS.Transport.SerialnodeAt(). - !!:SYS.TConfig: Prevented from recursive entry to cfgChange() by a flag mInCfgCh. - FIX:SYS.Security: Prcessing of plain passwords storing was fixed for hashe's salt limit in 8 symbols. - FIX:Transport.Serial: SPI_MODE_0 using set to a direct number "0" but some environments miss the definition. 2017-11-10 Roman (stable) - !!:DB.LibsDB.OscadaLibs: servProc.docOffLine appended by the document Modules/SNMP for the offline documentaion list. The execution limit risen to 180 seconds. All templates of the library "LowDevLib" fixed for connection to a transport using nodeAt(). The templates libary "LowDevLib" appended by a new template "BME280" of the chip BME280 support implementation from Arcadiy Kisel. - !:DOC: "Program Manual" started to revision ongoing of it translation to Ukrainian. Appended by Modules/SNMP. - SYS,DAQ.SNMP: Some original messages were fixed. - SYS.Function: Number of manual calculations of internal procedures set to 1 again, by default. - SYS.Security: In hashed passwords their allowed to store in plain, mostly for the storages which are primarily in edition. - !!:Transport.Serial: Expanded for initial support the bus "SPI". - UI.{VCAEngine,Vision}: Deleted widgets from inherited containers resoring was added at alike widget creation try, instead incomprehensible messages. That is the first service used the warnings mechanism of the control interfase of OpenSCADA! 2017-11-03 Roman (stable) - !!!!:DOC: OpenSCADA switched to a new scheme of the project off-line documentation forming directly from the project Wiki just by the OpenSCADA procedure "docOffLine" execution. Then folders doc/{en,uk,ru} of the source texts tree of the project were cleaned from previous old documentation in PDF and generated for a new one in HTML. The new off-line documentation is not a completed one and will be appended in way of readiness of the documentation sorce on Wiki of the project! - !!!!:DB.LibsDB.OscadaLibs: The part of low level devices of the parameters template "DevLib" disjoined into a different library "LowDevLib" and the remained part was mostly updated and translated. JavaLikeCalc library "Service procedures(servProc)" appended by the function "wacko2media" of Wiki syntax convertion from WackoWiki to MediaWiki and by the function "docOffLine" of the project offline documentation generation from the project Wiki. - !:SYS: Original messages of the program core some updated and number of calculations of internal procedures set to 1, by default. - !:SYS,UI.{QTCfg,QTStarter,Vision}: Off-line documentation call adapted to the new new scheme of the project off-line documentation forming. - !!!:SYS.XMLNodeObj: Appended by an user API function getElementsBy() of XML nodes list obtaining by tag name or some attribute value. - SYS.TArrayObj: arSet() adapted to the array end appending by a negative index. - !!:FIX:SYS.XMLNode: Unified and fixed in serialization to XHTML for: preventing self-finished tags for "script", "div; preventing of symbols "'" and '"' encoding into text (also for generic XML); UTF8 symbol 0xA0 encoding to " ". - !!:FIX:Archive.FSArch: Some messages expanded for more information. Name of objects of archive files moved under resource by using MtxString. Added checking and clearing for zero archive files. Buffers of archivation of messages and of info-files of values set safer, for possible random data reading. Checking for parameters of value archives added to prevent crashes at wrong ones of deep broken archives. - DAQ.JavaLikeCalc: Original messages some updated. - FIX:UI.QTCfg: Prevented from high load at the respond waiting progress dialog. 2017-10-21 Roman (stable) - !!!!:DB.LibsDB.{OscadaLibs,vcaBase}: JavaLikeCalc.Controllers.prescr and Main.{prescrEdit,prescrRun,prescrRunSimple} expanded for backgrounded steps support and some fixes about pauses. - FIX:UI.Vision: View "CheckBox" of the primitive "FormEl" processing fixed for signals preventing at set value from the model. - FIX:UI.VCAEngine: Attribute "var{X}val" of the primitive "Text" set to translated for strings. 2017-10-11 Roman (stable) - SYS,DAQ.{MMS.libMMS,OPC_UA.libOPC_UA}: After adaption to build for OpenWrt and with uCLibC, resourcesAllow true checking some changed but it has yet problems with Automake 1.9. - FIX:SYS.Mess: {mLang2CodeBase,mLang2Code} moved under the data resource. Strings' encoding disabled for language "C" and the encoding "ASCII". - FIX:SYS.Security: Fixed for crash on try login at not initiated empty password with its hashing support. Functions crypt_r() and crypt() processing was added. - Special.FLibSYS: Function str2real() moved to use s2r(). 2017-10-06 Roman (stable) - SYS: In way of adaption to build for OpenWrt and with uCLibC there was made: - resourcesAllow true checking for build without the resources (folders "data" and "doc"), mostly by problems at "automake" here execution; - librt checking changed from the function clock_gettime() to clock_nanosleep(); - for libcrypt checking there used function "crypt"; - including to src/tmess.h; - checking for __UCLIBC__ into TUser::auth(); - iconv buffer set to "const char *". - SYS,UI.QTStarter: Word "system" mostly replaced by the word "program". - !!!!:SYS,DAQ.{AMRDevs,FastWel,ICP_DAS,SMH2Gi}: A self implementation was added and used for the function atof() and strtod() in the function TSYS::str2real() and its shortcut s2r() and for understand both radix symbols of float point value that is "." and ",". That doing was made in way of switching to native LC_NUMERIC value but here yet present other problems: scanf() for floats and external environments work, like JavaScript of WWW. - DAQ.{MMS.libMMS,OPC_UA.libOPC_UA}: Function TSYS::str2real() and its shortcut s2r() placed and used to the independent library. - FIX:SYS: Call for online documentation fixed for the main page "Documents/". - SYS,Transport: Offset part in left added to binaries decoding by the argument's value "". - FIX:SYS.XMLNode: Encoding UTF code 0xA0 to " " replaced to " " but " " caused errors on pure XML (not XHTML), observed on UI.WebCfgD. - DAQ.BlockCalc: Attributes description format some rewrote. - !!:Special.FLibSYS: VArch::set() expanded for single value writing to the archivator of the archive. - UI.{QTCfg,WebCfgD}: Scalable items set optimal for vertical fitting, but straight increasing per 5 pixels too slow on some graphical environments like virtual machines and VNC. - FIX:UI.{VCAEngine,Vision,WebVision}: Adapted to mark service commands, like primitive's "Diagram" tracing", to "noUser" and doesn't perform updating UserActTm on their. 2017-09-23 Roman (stable) - SYS.DB: Height of the field of the SQL requests decreased to 2 rows. - SYS: Binaries decoding expanded by the argument's value "" for text field in right forming. - FIX:SYS: Call for online documentation fixed for correct translation of opened document's page and for some pages: "Documents/Program_manual". - !!!!:SYS.Transports,Transports.*: Generic IO log for both input and output transports was added into the core and all transport modules. Resource lock object nRes renamed to assTrRes, its type changed to ResMtx and function nodeRes() removed for the input transport object. Manual requests result of the output transports in binary mode switched to the new variant "". - Protocol.ModBus: Resource object nodeRes() (nRes) replaced by the system one dataRes(). - Protocol.SelfSystem: Some renamed. - Archive.FSArch,Protocol.{ModBus,HTTP},UI.{QTCfg,QTStarter,Vision,WebVision},Special.SystemTests: Some source codes cleaned. 2017-09-14 Roman (stable) - FIX:SYS: Disable wrong DB.LDAP building for all Debian based. - DB.LibsDB.vcaBase: export="1" for all documents with values was added. - SYS: Checking for ldap.h for module DB.LDAP was added. - SYS: data/debian/control: Appended by a commented dependency for libldap2-dev. - !:SYS,UI.{QTCfg,QTStarted,Vision}: The online documentation call was switched for call ones from the new Wiki but some pages are not allowed here now before them moving. - !!:DB: Tables' content display set to configurable limited, by default it is 100 rows. - FIX:SYS.TRegExp fix in function match(), for hang and crash prevent. - !!:DB.{SQLite,MySQL,PostgreSQL,FireBird}: Preloading of fieldSeek() set limited on 100 records, for long unterminated hangs prevent. - UI.QTCfg: Shorted long helps for ToolTips were appended by "Shift+F1". - UI.WebCfgD: Adapted to hierarchical help pages, for symbol "/" encoding. 2017-09-08 Roman (stable) - !!:DB.LibsDB.vcaBase: doc.docGasNodeMgn fixed for the table title. - !!!!:DB: A new module LDAP was added. 2017-08-25 Roman (stable) - !!!!:SYS.Transports,Transports.*,DAQ.{AMRDevs,DCON,MMS,OPC_UA,SMH2Gi,Siemens,ICP_DAS,FT3},Protocol.{ModBus,HTTP,SelfSystem,UserProtocol}: The generic accessing lock of the outgoing transport was moved to mutex and the argument "noRes" was removed from the function messIO() to prevent from unexpected outcomes from the critical section of requests. - DB.LibsDB.OscadaLibs: The template base.gasPoint was expanded for connection to a real diaphragm. - !!:DB.LibsDB.vcaBase: doc.{docGasNodeDayA,docGasNodeMgn,docGasNodeDayOrder} was adapted to generic nodes link as a template and the translations were fixed. All documents of the library "Documents" were some updated and their procedures were set to not translated. - FIX:DB.Model.AGLKS.{St,vca}: Generic flow-account node was linked to diphragm PP1 of the model of the technological process AGLKS both for the DAQ object and its documents. - SYS.TFunction: Expanded by a field language for functions lang(), setLang(). OpenSCADA control items from "/tr/langs" of the tab "Translation" of the main page were moved to permition RWRW__. - DAQ.JavaLikeCalc: Expanded in translation command tr() for set and use force language. - !:Protocol.HTTP: Expanded by a list of users allowed for auth. - !!!!:Transport.{SSL,Sockets}.out: Transport's functional lock of resources was merged with reqRes(). - Transport.Serial.out: Input buffer clear set to double one and moved closer before same writing. - !!:UI.VCAEngine: Next level of improving of dynamic messages translation for requesting user and language: into primitive "Document" and its procedure, session attributes. !: Added control for user action by its last action time. Appended by user functions of the session space: reqTm(), reqUser(), reqLang(), userActTm(). FIX: Restored for values and configurations translation of user's attributes. - !!: UI.Vision: Added control for the runtime user by a visualizer specific attribute "userSetVis" of the main page and by expanding of the user's status widget and the selection dialog. 2017-08-18 Roman (stable) - FIX:DB.Model.AGLKS.vca: Signal objects KM101 name translation was also fixed. - !!!!:SYS,DB.*,DAQ.{BFN,BlockCalc,JavaLikeCalc,LogicLev,ModBus},Protocol.{ModBus,OPC_UA,UserProtocol},UI.VCAEngine: The flag TCfg::TransltText was moved to TFld::TransltText and used instead TFld::NoStrTransl also which removed. - !!!!:FIX:SYS,*: The dynamic messages translation mostly finished and expanded after gettext adaption to the dynamic messages translation: !!: Gettext translation was expanded by language selection different from system one into functions TMess::I18N(), TMess::I18Ns() and their moving to not static ones, TModule::I18N(). !!:*,UI.VCAEngine: Functions set of the dynamic translation was expanded for complex translation by pointed language and user next; by functions: trLU(), TMess::translGetLU(), trSetLU(), TMess::translSetLU(). !!: The OpenSCADA control interface was expanded by generic attribute "lang" additional to "user" one for the dynamic messages language checking firstly. FIX: The config file accessing functions were fixed and closely adaptred to the dynamic messages translation. !!:TModule,DAQ.JavaLikeCalc,Special.SystemTests,UI.{QTCfg,QTStarter,VCAEngine,Vision,WebCfg,WebCfgD,WebUser,WebVision}: modInfo(): expanded for name syntax "{NAME}[:{lng}]" and request for information translation in pointed language. TModule: Twice translation try was disabled for modules - first is self and second is from core. FIX:DB.{SQLite,MySQL,PostgreSQL,FireBird}: Dynamic messages translation saving was fixed for not base languages. !!!!:Protocol.HTTP,UI.{WebUser,WebVision}: Expanded for multi-languages interface by: URL parameter "lang", auth user's language, Web browser's language. Templates also set to support multilanguage. !!!!:UI.Vision: Mostly adapted to system menus and dialogs dynamic messages translation of the run-time interface. Left untranslated only Qt-internal messages which unallowed to dynamic translation and without all system locale changing! 2017-08-05 Roman (stable) - DB.LibsDB.vcaBase: Main.TextLab adapted for only color dynamic control. doc.{docGasNodeDayA,docGasNodeMonthA} significant expanded for new methods, to control archivator and the report hour. - DB.LibsDB.vcaElectroEls: Expanded by new widgets: Transformer (tr), Transformer (tr1), Switch (sw). - FIX:DB.Model.AGLKS.vca: Signal objects KM102, KM201, KM202, KM301, KM302 name translation was fixed. - FIX:UI.VCAEngine: Improper pages closing was fixed for multiple container pages. 2017-07-28 Roman (stable) - !!:DB.LibsDB.OscadaLibs: flb_doc.{getVal,sumVal,averVal} were significant cleaned, rewrote and expanded but with back compatibility saving. - !!:FIX:DB.LibsDB.vcaElectroEls: Significant clearing and full translation were finished. Procedure of the item "Key" was fixed. - Archives: Tabs "Messages archive" and "Value archives" of the control page were renamed to "Messages" and "Values" respectively. - !!!!:FIX:DAQ.JavaLikeCalc: The resource fRes() dead locking was prevented after the wrong optimization. - FIX:UI.QTCfg: Function ConfApp::pageDisplay() double call sometime was prevented. - UI.WebVision: The source code was some cleared. 2017-07-21 Roman (stable) - SYS: "langinfo.h" and "syscall.h" were set for conditional one, initially for Android original NDK. __ANDROID_API__ getting was added to deep control for conditions of Android, initially it is for pthread_condattr_setclock(). - !:UI.Vision: Working without printers by QT_NO_PRINTER was added, initially it is for Qt 5.8 on CrystaxNDKr10. 2017-07-14 Roman (stable) - !!:DB.LibsDB.vcaElectroEls: Significant cleared and expanded. Will be continued to finish the cleaning and translation. - UI.VCAEngine: Limit of the generic attributes "geomXsc" and "geomYsc" was expanded from [0.1:100] to [0.01:100]. - FIX:UI.Vision: ID of copying and moving widgets was set to encode for TSYS::oscdID to prevent errors here for wrong symbols. FIX:Included widgets resizing and moving in the developing mode by keyboard were fixed for mouse cursor position changing even to the widget's changes. !!!:FIX: Main window maximising and opening to full-screen were fixed to prevent the operations by the visualizer specific attribute "runWin" working only from the master page. The main window size was set to fit the master page size after return from maximising or the full-screen and opening in the original size. - FIX:UI.WebVision: Text of buttons into the custom mode was fixed for next line symbol "\n" and words breaking at overflow by CSS property "word-break". 2017-07-05 Roman (stable) - FIX:DB.LibsDB.vcaBase: doc.docMessRep was final fixed for filtering by level, for all languages. - FIX:DB.LibsDB.vcaElectroEls: Fixed for procedures of the last items: "stGen", "stGen1", "conBus". - SYS.acinclude.m4: Macro AX_PTHREAD was updated to last version. - SYS:Changelog: Significant cleaned in process of releasing 0.8.18 LTS. - SYS,DAQ.OPC_UA.libOPC_UA: ieee754.h included to adapt for float point in IEEE754. - DAQ.{LogicLev,ModBus}: Values size of the stored attributes of the logical parameters expanded from 200 to 1000000. - FIX:DAQ.LogicLev: Fixed for uninitiated access to "err(f_err)" attribute into the debug mode. - FIX:{DAQ,Protocol}.ModBus: The extended type "String" was fixed to ModBus register's natural order in "BigEndian", seen on Sycon Instruments STM-3. FIX:Syntax highlighting was fixed for four digits-registers for extended types "_u4", "_d". - UI.QTCfg: Binary data representation changed to view "B[{ByteStream}]". - FIX:UI.{Vision,WebVision}: Some original messages were fixed. - UI.Vision: Items visibility were restored for editing widget and for: "VisItClear", "VisItChDown", "VisItProp". 2017-06-30 Roman (stable) - SYS:data/{debian,debian_mod}/control: Build with MariaDB as a variant of MySQL was added. - SYS:Changelog: Significant cleaned in process of releasing 0.8.18 LTS. - FIX:DAQ.DAQGate: Was finally fixed and tested for hierarchical parameters processing for levels more at 2. - SYS.Transport.SSL: The method "SSLv2" was finally removed but it is not secured and fully removed from OpenSSL 1.1. - UI.QTStarter: A first module starting at empty list of started modules was disabled. - FIX:UI.VCAEngine: The translations were some fixed. - FIX:UI.Vision: Images of primitive "Media" clean at an empty string set was added. - FIX:UI.WebCfgD: Table of the table items wrong indent was fixed. - FIX:UI.WebVision: Scale dimension was increased to 3 digits after dot for correct scaling to big screen. 2017-06-23 Roman (stable) - DB.LibsDB.vcaBase: doc.docMessRep was fixed for filtering by level. - DB.LibsDB.vcaTest: test.gen was decreased to fit the cadre into project AGLKS. - FIX:DB.Model.AGLKS.vca: The project was fixed for "frame" removing from pasport's widget. - SYS: An command-line option "lang" was added, initially for Android. Generic integration to call from Android JNI finished. - SYS.SSL,Transport.SSL: Symbol for checking SSL library changed to "SSL_free" but SSL_library_init missed on OpenSSL 1.1. The method "SSLv2" was removed (commented) but it is not secured and fully removed from OpenSSL 1.1. - SYS: Values' (attributes of parameters of DAQ) info were appended by state "Read only". - FIX:DAQ.DAQGate: Was fixed for hierarchical parameters processing for levels more at 2. Expanded for allow write to configure's attributes "NAME" and "DESCR". - UI.{VCAEngine,Vision,WebVision}: An attribute "mult" was added to view "List" of the primitive "FormEl" to able multiple lines selection. 2017-06-21 Roman (test) - DB.LibsDB.vcaBase: Main_io.cntrPaspExt was expanded for: full-frame mode of "View" at other modes hide, hidden attributes list support into "hideAttrs", removing "frame". - FIX:SYS: Qt checking macro was fixed for Qt4 checking before. - SYS: TMess::getUTF8() function was added and used for UTF-8 symbols detect into XMLNode::encode(). - FIX:Transport.out: User API function messIO() was expanded for return string type everywhere. - !!!:XMLNode: User API function text() was expanded by argument "full" for all child's texts combine. Functions save() and saveNode() set to constant ones. !!!: The serializer was expanded to true check for UTF-8 symbols and " " processing in function encode(). !!: The parser was expanded for entity " " processing on UTF-8. - DAQ.DAQGate: Size of the configuration field STATIONS was decreased to two rows. - !!!:UI.QTCfg: Scalable vertically items were finished to implement their true fitting for: texts, tables and lists. 2017-06-16 Roman (stable) - DB.LibsDB.vcaBase: Icons of views of the main page were restored to opaque but not in full size, for buttons' background seeing. - DB.LibsDB.vcaElectroEls: Was appended by some new items. - FIX:SYS,DAQ.JavaLikeCalc,Protocol.{ModBus,UserProtocol}: Some original massages were fixed. - Protocol.{ModBus,UserProtocol},UI.WebUser: Expanded for tracing and notification for program's changing. - UI.QTCfg: Text items size was fixed. - UI.QTStarter: Splash ensuring was disabled for Qt starting not into main thread. - FIX:UI.Vision: Separator "\n" was set for encoding by TSYS::base64 to storages. FIX:Opening to developing windows fitting was set conditional for an active and maximised window miss but there has a problem in Qt. - UI.WebCfgD: Acknowledgement buttons of text items moved to left, for big screens. - UI.WebVision: Switched to use filters for display inactive images into buttons. 2017-06-09 Roman (stable) - !!!:FIX:SYS: A new configure option --with-qt5 was added for Qt5 forcely checking and using. A new configuration option --enable-QtMainThrd was added to switch the module UI.QTStarter for working in main thread of the program. A new configuration option --disable-CoreLibVersion was added to disable version of the core library. Android messages support was added. Modules separator of option "ModDir" of OpenSCADA was changed to ';'. FIX: The function TSYS::sysTm() was set adaptive one for the task "SYS_HighPriority" execution. - DAQ.JavaLikeCalc: Entry to procedures of the module set more optimal by direct locking the critical section. - FIX:DAQ.LogicLev: The parameter's debug mode was disabled for passive modes (f_err is EVAL) of the parameters but the debug message accumulates into the attribute "err". - !!!:Protocol.HTTP,UI.{WebUser,WebVision}: ACL support was added to control access and visibility of items of indexes of Web resources. - FIX:UI.QTCfg: sizeHint() and minimumSizeHint() processing was fixed. - !!!!:FIX:UI.QTStarter: Two modes of execution Qt were added, first is old one into different thread (by default) and second is new one into main thread (by the configure option -enable-QtMainThrd). FIX: Splash set to passive one for second mode. - UI.WebVision: Font of title of the child's windows was set to 12pt. 2017-06-02 Roman (stable) - !!!!:DB.LibsDB.OscadaLibs: DevLib is appended by implementing of electricity counters Mercury 200 and 230 from Arsen Zakojan . - FIX:DB.Model.AGLKS.vca: Fixed for a spare horizontal line. - !!!:FIX:SYS.ModSchedule: Modules closing at exit was set to all the modules closing firstly and next all the module's libraries unlinking. For fix like to WebKit crashes at exit. !!!: Modules scanning procedure was expanded by the module's name template into the end of the path, mostly for Android where all libraries place into one folder. Function ScanDir() and CheckFile() were renamed to dirScan() and fileCheck() respectively. - !!!!:FIX:SYS: Some original messages were fixed. !!!!: The system core in generic expanded for support main thread monopoly modules, like Qt GUI main thread into QtStarter. Generic service calls moved to a different thread "SYS_Service". The main function main() appended to OpenSCADA core library for builds for Android. - FIX:DAQ.ModBus: Managing of duplicate attributes of the standard parameter was fixed. - FIX:Special.FLibComplex1: The translation was some fixed. - !!!!: UI.QTStarter: Moved to Qt execution into the main thread by main thread monopoly modules mechanism of OpenSCADA core. - UI.VCAEngine: Links checking for activity was added to the dynamic linking mechanism. - FIX:UI.Vision: Icons setting of internal windows moved before the window show, for the development mode. - FIX:UI.WebVision: The property "wordWrap" of primitive "Text" support was added. 2017-05-26 Roman (stable) - DB.LibsDB.vcaBase: A new cadre "Main.alarmsAct" of table of active alarms is added and used into main page of the project AGLKS. A new cadre "doc.docMessRep" of unified protocol of messages is added and used into the project "archBrowser". The generic page implementing expanded by buttons of views hide at pages miss here. The project "archBrowser" moved to an unmodified main page, graphics group "grpGraph10" using and a new cadre "doc.docMessRep" appending to generic messages observe. Translation some updated. - FIX:Archive.FSArch: Fix for translation. - FIX:UI.Vision: Fixed for opened to edition widgets size on big screens. 2017-05-19 Roman (stable) - DB.LibsDB.vcaBase: Main.objProps adapted to the first column hide. - Archive.{DBArch,FSArch},DAQ.LogicLev: Some original messages were fixed. - !!!:Archive.FSArch: Expanded for INFO files store into a standalone DB file of SQLite into the archivator's folder. - FIX:UI.WebVision: Borders and transparent backgrounds processing was fixed. Spaces processing for primitive "Text" was set to "white-space: pre-wrap". 2017-05-12 Roman (stable) - !!:FIX:DB.LibsDB.vcaBase: Main.RootPgSo some fixed for the combobox with the allowed for directly select pages. FIX: Main page of the project "archBrowser" expanded for the combobox with the allowed for directly select pages. !!:Projects "tmplSO" and "archBrowser" were switched to the extended pasport of the standard parameters. The external pasport (Main.cntrPaspExt) adapted some to display by UI.WebVision. - !!:DB.ModelsDB.{AGLKS.vca.db,Boiler.St.db}: The Project was switched to the extended pasport of the standard parameters. - FIX:DAQ.DAQGate: Requests were fixed after moving to different station. - FIX:DAQ.System: Some warnings from Valgrind were fixed. - !!!!:FIX:Transport.SSL: Fixed into client's part for correct free which caused for crashes and blockings. !!!!: Wide tested on browsers Chrome, FireFox; for file handlers free and into Valgrind. - FIX:UI.VCAEngine: Some original messages were fixed. - UI.Vision: The view "Table" of the primitive "FormEl" was expanded for field "width" equal to 0 processing to hide the column. - UI.WebCfgD: The navigation tree and dialogs forming were some improved. - !!!!:FIX:UI.WebVision: View "Tree" of the primitive "FormEl" implemented. FIX: Dialogs, small built-in windows, forming was some fixed and improved. FIX: System context menu oppressed for active widgets. FIX: View "Table" expanded for columns hide by field "width" equal to 0 and the selection loss was prevented. 2017-05-05 Roman (stable) - DB.LibsDB.vcaBase: Main.RootPgSo expanded by yet one pages navigation element that is combobox with the allowed for directly select pages. - SYS: The generic node was expanded by a user API function "messSys". - !!:FIX:Transport.SSL: Fixed for SSL_free() missing and variables "ctx", "ssl", "conn" clean at second start, into the output part. - !!:FIX:UI.WebCfgD: The "Table" element processing for big content was some improved and fixed for key items edition. 2017-04-21 Roman (stable) - UI.WebVision: Items edition implemented for the view "Table" of the primitive "FormEl". 2017-04-14 Roman (stable) - DAQ.ModBus: Set for using ID at empty Name part of DAQ. - UI.WebVision: Active mode for selection for the view "Table" of the primitive "FormEl" implemented, Next task are edition of content of the cells of the table... 2017-04-07 Roman (stable) - SYS:configure.ac: Checking for "libintl" was changed for function "libintl_bindtextdomain" and checking for libiconv was moved before. - FIX:DB.LibsDB.vcaBase: Main.objProps fixed for checking to the write mode. - UI.Vision: X scaling used into result column width of the view "Table" of the primitive "FormEl". - UI.WebVision: Context display for view "Table" of the primitive "FormEl" mostly implemented. Next tasks are selection processing of items (cell, column, row)... 2017-04-02 Roman (stable) - SYS:configure.ac: Checking for LibGD was set combined with and next without PKG_CHECK_MODULES(pkg-config). - SYS:configure.ac: Fix for Fedora 12 - SYS:configure.ac: Checking for LibGD was moved to PKG_CHECK_MODULES(pkg-config) for proper static linking. - SYS: The environment variable HAVE_GD_CORE was renamed to HAVE_GD_FORCE. Checking for HAVE_CONFIG_H was added for "config.h". - DAQ.ICP_DAS,UI.{QTStarter,QTCfg,Vision,WebCfgD,WebVision}:Makefile.am: *_LIBADD was replaced to *_LDFLAGS. - FIX:UI.WebCfgD: Checking for "gd.h" was fixed. - FIX:UI.Vision: The primitive "FormEl" in view "Table" was fixed for properties of columns. 2017-04-01 Roman (stable) - DB.LibsDB.vcaTest.db: Tests collection cadre of primitive "FormEl" expanded for view "List" and "Table". - SYS:configure.ac: Checking for "linux/can.h" moved to same the module Transport.Sockets. Checking for "inux/serial.h" was added for the module Transport.Serial. Checking for LibGD was removed from the module UI.WebCfgD. The order of modules of the subsystem "Special" was set to the priority one. - SYS:acinclude.m4: LibGD checking macro was expanded for dependencies "-lpng -ljpeg -lfontconfig -lexpat -lfreetype" to allow the libraries linking statically. - FIX:SYS,DAQ.System: Some original messages were fixed. - Transport.SSL: Adpated to tmpnam() wrong placing into "/tmp/??" on Android. - FIX:Transport.Serial: Checking for "linux/serial.h" was added and for "linux/i2c-dev.h" was fixed. - FIX:UI.Vision: The primitive "FormEl" in view "Table" was fixed for properties of columns. - !!!:FIX:UI.WebVision: Expanded for view "Table" of the primitive "FormEl" initial implementation. Internal functions nodeText() and setNodeText() were replaced to "textContent". FIX: The view "Button" of the primitive "FormEl" was fixed for words wrap on Chrome browser. Views of "Combo box" and "List" of the primitive "FormEl" were made simplified. 2017-03-25 Roman (stable) - SYS:configure.ac: Test AX_LIB_OpenSSL() call fix for DAQ.OPC_UA. - SYS:configure.ac: String [0.9] of the replacing version of the OpenSCADA building fix. 2017-03-24 Roman (stable) - FIX:DB.LibsDB.vcaBase: wlb_Main.graphSelPrm fixed for linking "/DAQGate/..." and for current item's address correct display into the "prm_" prefix. - SYS:configure.ac,acinclude.m4: The source texts were mostly cleaned for the formation style and messages. - SYS:acinclude.m4,Special.FLibSYS: OpenSSL checking macro was expanded by the optional test "AX_LIB_OpenSSL_opt" and the tests were appended by the libcrypto checking. - SYS:configure.ac: Checking for spare header's files was removed. Checking macros of the modules OpenSCADA was placed into the importance order. - SYS: Some spare headers were removed from the source code. - SYS:TModSchedul: Adapted for optional pointing the core library name and path by the configure environment "CoreLibNmToDlOpen", on LibC variant Bionic of Android. - SYS:TSecurity: Support of the hashed passwords was expanded to use the locked function crypt() on crypt_r() miss. - FIX:DAQ.DCON: Include/builtin to the OpenSCADA core fixed. - FIX:DAQ.{LogicLev,Siemens,System}: Some originale messages were fixed. - DAQ.OPC_UA: Adapted to include/builtin into the OpenSCADA core. libOPC_UA: Needed parts of ieee754.h were moved to the file directly. - Special.FLibSYS: Description of the function dbReqSQL() was expanded. - Transport.SSL: The function getservbyname_r() was switched to getservbyname(), for Android. SSLv3_server_method() and SSLv3_client_method() functions were set to disabled by OPENSSL_NO_SSL3 definition. - !!!:FIX:UI.WebVision: Width of the popupmenu was fixed for context menus. FIX: Behavior of the primitive "Media" for not "Fit" mode was fixed to prevent the scale problems in way of full removing the tag . Vertical alignment was added to images of the primitive. !!!: The views "Spin bar" and "Scroll bar" were implemented. The view "Scroll bar" is equal to "Spin bar" now. 2017-03-19 Roman (stable) - SYS:build: Into configure.ac the AC_CHECK_LIB was replaced by AC_SEARCH_LIBS mostly and the library "librt" checking was added. 2017-03-18 Roman (stable) - SYS:data/{debian,debian_mod}/rules: dh_compress was prevented from files of documentation in ODT compression also. - SYS: Some pre-adapting to Android by: build: The macro AX_PTHREAD was appended and used. AM_INIT_AUTOMAKE call was set shorter. Libraries were moved from their direct pointing into src/Makefile.am to checking, for: -lpthread, -lm, -ldl, -lcrypt, -lz, -lpcre Some messages into configure.ac were fixed. ResAlloc: Check and define "__GLIBC_PREREQ" to 1. pthread_condattr_setclock() disabled for Android as it missed. Needed parts of ieee754.h were moved to the file. Multi CPU management and pthread_attr_setinheritsched() were disabled for Android. Mess: Messages encoding was disabled for a charset "US-ASCII", it's default one on Android. Security: libcrypt checking was expanded for crypt.h. Transport.Sockets: The function getservbyname_r() switched to getservbyname() for Android. - DAQ.Siemens: "INCLUDES" was replaced by "daq_Siemens_la_CFLAGS" and "daq_Siemens_la_CXXFLAGS". - Special.FLibSYS: The user API function dbReqSQL() was moved to the features of the function SYS.BD["TypeDB"]["DB"].SQLReq(). - !!!:UI.WebVision: View "Line" of the primitive "FormEl" was expanded by the calendar dialog for date variants. Generic CSS properties moved to *.html file. Processing event of the wide combobox (list) was changed from "onchange" to "onclick" to the processing guaranty. Generic improvement. 2017-03-13 Roman (stable) - SYS:data/{debian,debian_mod}/rules: dh_compress prevented from files of documentation in PDF compression, to allow its using from UI.QTCfg mostly. - FIX:UI: docGet() is fixed at online documentation processing after the local one unsuccessful processing. 2017-03-12 Roman (stable) - FIX:UI.QTCfg: InputDlg wrong initialization on the previous commit fixed. 2017-03-11 Roman (stable) - UI.QTCfg: Fields "ID" and "NAME" of the node control dialog were set to the unlimited size for next these changing from inforamtion of the control interface. - !!:UI.WebVision: The visualizer specific attributes support was added through its activation. !!:Main page scaling to fit to the window of the browser allowed space was added, only to grow and with the aspect ratio control. !: Background of the primitives processing was moved to common and after the ones processing and the background transparency-opaque support was added by a separated block (div) creation with the opaque level. 2017-03-05 Roman (stable) - DB.LibsDB.OscadaLibs.db: DevLib.1602A expanded to connect by I2C (PCF8574). - DB.LibsDB.vcaBase: Main.ElViewGraph expanded to the name "" blink prevent and spare saving prevent once after the successful loading at start. - FIX:UI.WebVision: WebVisionVCA.html fix for its presence into EXTRA_DIST. 2017-03-04 Roman (stable) - FIX:UI.WebVision: Miss file WebVisionVCA.html placed to the source tree. 2017-03-03 Roman (stable) - SYS: The user API functions are appended by function utime() and mtime(). - !!:FIX:Archive: Fixed for checking for a proper archivator by its periodicity, which allow for correct selection archivators in periodicity more then one minute in graphics building. - !!:FIX:Archive.FSArch: Fixed for too long messages back reading and wrong messages reading was prevented at all. Function of archivators checking is fixed for correct processing of the capacity limit of the values archiving by the archives sorting to remove its files at maximum quantity. - !!!:UI.WebCfgD: Fitted to allowed space for scalable by vertical elements: texts, tables, lists. Border color of the input elements was changed to "gray". The structural class "SSess" was moved to strucure type. - !!:UI.WebVision: The XHTML part of page was moved to an separated file like the JavaScript one. All generic CSS rules were moved to the XHTML file. Moving to using pgCreator() was finished. pgCreator() was expanded for simple requests processing in local. The structural class "SSess" was moved to strucure type. 2017-02-26 Roman (stable) - SYS: data/openscada_start.in: workarounded for bug into "zenity", for sending selection items as "{item}|{item}" (observed on Ubuntu 14.04). - Archive.Value: User API functions were appended by setVal(). Direct writing to archives was expanded for all buffer's which aren't the buffer of archive. - FIX:DB.{.,SQLite,MySQL}: Some control items of OpenSCADA control interface were fixed for their permition. - DAQ: Some fields of the diagnostic request dialog are merged to single line, for controller object. - FIX:UI.{docGet(),QTCfg,QTStarter,Vision}: Force documents in background execution for online ones. Checking for online documents is disabled by it's can be long and wrong, then there use only links to default language pages (EN). Function rewrote for options as flags. - !!!:UI.WebCfgD: GD library was replaced by the CSS filters and set optional by --enable-LibGD. FIX: List items processing was fixed for ones without ID. Internal dialogs were expanded by drop shadow and a transparent background for disable access to the main area. Date fields were moved to a type "datetime-local" of the tag "input". Online documentation call was added. FIX: Elements merging into single line was fixed by CSS rule "white-space: nowrap;" but the constant was set to "white-space: normal;". Elements indent was set to "padding-left: 10px; text-indent: -10px;". Length of the number elements was set to the fixed one by 10 symbols. Item copy was expanded by it copy to its root through self. 2017-02-16 Roman (stable) - The ChangeLog significant cleared next. - FIX:Protocol.OPC_UA{*.libOPC_UA}: The resource "mtxData" added to object Server and used for the security channels container management. - Special.FLibSYS: The static function str2int() expanded for 64 bits. - Transport.Serial: Checking to present the header file linux/i2c-dev.h added to build on Linux distributives like SuSE. - FIX:UI.WebCfgD: List items were expanded for commands to empty list. Self dialogs were expanded for the main space locking and for a box shadow appendeding to them. 2017-02-11 Roman (stable) - DB.LibsDB.OscadaLibs: DevLib.{1W_DS9097,W_DS9097U}: Expanded by configuration property "tryEVAL" to manage spuriously connections loss. - The ChangeLog significant cleared. - SYS.TFunction: Spare attribute "mDimens" removed. - FIX:Archive.DBArch: The requested values area set to fill by EVAL before the real data reading to set holes by EVAL. Direct requesting for values criterion set for the period of requesting data to archive's one bigger at 10 times. - DB.=Tmpl=: The functions getVal() and setVal() set to the unified view. - DB.{FireBird,SQLite}: The function setVal() set to the unified view. - DAQ.AMRDevs: The configuration's file size limit for Kontar source set to USER_FILE_LIMIT(1048576 byte). - DAQ.JavaLikeCalc: The translation is appended some. - FIX:Protocol.=Tmpl=: Adapted to actual semantic of the function TProtIn::mess(). 2017-01-31 Roman (stable) - SYS: MtxString expanded by the object's constructor. - !!:FIX:DAQ.ModBus: ResString in whole replaced to MtxString. FIX:Attribute "addr" and "real" of the logic mode were placed to MtxString for prevent crashes on its modification at run. - UI.WebCfgD: New standard design some expanded and improved. - UI.WebVision: Primitive's "Text" and "FormEl.Button" set for "white-space: pre-line". 2017-01-27 Roman (stable) - DB.PostgreSQL: Statistic of control the activity and lags expanded by the maximum time request. - UI.QTCfg: The window title forming some changed. - !!!!:UI.WebCfgD: A new design created. Adapting to new HTTP call functions HTTP_GET, HTTP_POST and there is moving whole to the generic pages creator HTTP::pgCreator(). 2017-01-19 Roman (stable) - FIX:SYS: The message "Some tags on path '%s' are missed!" was fixed for the argument and rewrote to "Entry %d of the path '%s' is missed!" - SYS: The function TVarObj::AHDDisConnect() rewrote to prevent a messages into the lock section. - !!:DB.PostgreSQL: DB object expanded by a statistic to control the activity and lags. - DAQ.JavaLikeCalc: Controller's object status was expanded by the maximum time of execution. - Protocol.HTTP: Source codes were appended by the user API function pgCreator() description. - FIX:Special.FLibSYS: Translation was fixed something. - !!!:FIX:UI.VCAEngine: FuncM resources lock set for a recursive to prevent dead locks. - FIX:UI.WebUser: Source code cleaned and the translation corrected. 2017-01-17 Roman (stable) - SYS.DB: Errors placing to result's Array attribute "err" from exceptions are added for user API function SQLReq(). - SYS.Module: modFunc() of declared functions pointer getting was expanded by no exceptional calls and a result. - !!!!:Protocol.HTTP: Significant unified into service pages creation by the single function pgCreator(). The function pgCreator() primarily implemented as an user API function of HTTP module's object for allow its using into WEB-submodules for self but single-style service pages. The main page's template splited from the generic template for allow absolutely custom main pages. !!!: External calls to the WEB submodules expanded by functions HTTP_GET(), HTTP_POST() with an argument TProtocolIn *iprt, but the old calls HttpGet(), HttpPost() also continued to check and support. Current folder force added to the template's resources checking. - !!!!:UI.{WebUser,WebVision}: Expanded for using the unified service interface from Protocol.HTTP by pgCreator(). - !:UI.WebUser: Semantics of the page's function expanded by two objects' arguments "This object" and "Protocol's object". - !!:UI.WebVision: Font's behaviour was expanded to support for text decorations "underline" and "line-through". The primitive "Text" representing for rotated texts moved to use CSS property "transform: rotate({X}deg)". 2017-01-12 Roman (stable) - FIX:Protocol.HTTP: Navigation by FS for the templalate file was fixed. External template using expanded for main page without the Web-modules index and to allow for redirect to other page there, for Login/Logout using the internal templete continued in that case. - Special.FLibMath: The source code cleaned. - Special.FLibSYS: Appended by function floatExtract() for extract exponent and mantissa from that float value. 2017-01-09 Roman (stable) - !!!!:Protocol.OPC_UA{*.libOPC_UA}: Hello/Acknowledge properties set configurable and client's ones also storing. New OPCAlloc object is added for mutex handle and its automatic free for exception. Some locks loss fix. A copy constructor was added for object NodeId and the strange problem here closed. !!!!: Chunks support was added to server's part. Tested on chunks into input requests for insecure and secure connections. !!:FIX: Publish requests, and messages in general, queuing and next its processing fixed for secure connections and for Acknowledges for insecure ones after in direct processing. - !!:FIX:UI.QTCfg: Crashes into ConfApp::selectItem() prevented after "selectPage()" call by the possibility of the items selection changing. Dangerous missed page refreshing prevented into applying changes on widgets of the replacing page, "Apply dialog for changes missing prevent". - FIX:UI.VCAEngine: Something prefixes ":" replecing to ": " fixed yet. 2016-12-29 Roman (stable) - data/icons: Images Protocol.HTTP.png and Protocol.SelfSystem.png updated. - SYS: Disabled nodes are prevented in processing into TCntrNode::isModify(). - Protocol.OPC_UA.libOPC_UA: Maximim notifications per publish limit processing some improved. - UI.{WebCfg,WebCfgD,WebUser,WebVision}: Module's icon obtain machanism is changed. - UI.WebVision: Icons to project's and session's items are added. 2016-12-26 Roman (stable) - DAQ.{LogicLev,ModBus}: User API function attrAdd() expanded to apply flags "text" and "ro" for present attributes. - FIX:Protocol.HTTP: Check for module's icon and other images into folder "icons/" moved after the template's resources checking. 2016-12-25 Roman (stable) - FIX:DB.LibsDB.vcaBase: Main.{grpGraph,grpGraph10} Trend's control panel open at the cadr open changed for work on UI.WebVision. - data/icons: Protocol.UserProtocol.png changed and UI.WebUser.png added. - UI.TUIS: Expanded by function mimeGet() to detect mime type by the original info, file extension and tis content. - !:Protocol.HTTP: Expanded for the main selection dialog with images and context help for allowing WWW-modules. - !:UI.VCAEngine: Adapted to TUIS::mimeGet() using. - UI.Vision: Unloaded mimes' extension sets to stored with the resource before taken from the mime type. - !!!!:FIX:UI.WebVision: adapted to asynchronous calls for all regular updatings by servGet() and makeEl() adapting to it. For primitive "Text" set "line-height" for prevent upper font's padding. View "Button" of primitive "FormEl": fixed for next line processing, fixed for true text and image represent. Generic views of primitive FormEl set for padding to "0". SVG images show fixed by correct mime processing into UI.VCAEngine and TUIS::mimeGet() using. 2016-12-19 Roman (stable) - Protocol.OPC_UA.libOPC_UA: Subscription cycle's counter restore. - DB.LibsDB.OscadaLibs: User protocol "DCON" in the input part was fixed for commands detect "#" and "@". - Protocol.OPC_UA.libOPC_UA: Expanded to early publish requests processing after requests of subscription and monitored items creation, for the init publish requests. 2016-12-16 Roman (stable) - TArchive: EVAL_RFlt and EVAL_RDbl detection for values fix. - TConfig: EVAL forms conversion is added to TCfg::set{S,R,I,B}(). Integer conversion fix to 64bit. - !!!!:DB.{SQLite,MySQL,PostgreSQL,FireBird} : Expanded to NULL using for generic EVAL store/represent. getVal() some expanded and unified. - !!:Archive.DBArch: Cleared and simplifyed for subtypes and its EVAL variants support. - DAQ.JavaLikeCalc: User API string's function toInt() is expanded to int64. 2016-12-13 Roman (stable) - SYS: Debian packages building was appended by translation for module BCM2835. - FIX:DAQ.*: Wrong word "Parameteres" fixed. 2016-12-11 Roman (stable) - DB.LibsDB.OscadaLibs: The template DevLib.UPS expanded by attribute "alDelay" for alarms delay control. - !:FIX:SYS: Function strNoSpace() expanded for processing symbols control and renamed to strTrim(). Default processing symbols set to " \n\t\r". For function strTrim() created a short call sTrm() and its used everywhere. FIX:XMLNode's flag LD_NoTxtSpcRemEnBeg fixed for spaces in begin. - FIX:DAQ.BCM2835: Fixed for the static function place into the control interface. - DAQ.JavaLikeCalc: String functions list expanded by a function trim(). - !!!:Protocol.SelfSystem: XML loading expanded by option LD_NoTxtSpcRemEnBeg using to allow for spaces at begin and end of the text items. 2016-12-09 Roman (stable) - DB.LibsDB.OscadaLibs: The template DevLib.UPS expanded by alarms' borders. Templates base.{anUnif,anUnifSt} expanded by attribute "var" into the input processing procedure for allow stored counters implement and so on. - DB.{AGLKS,Boiler}.St: Main archivators' limits some changed and set all archives's size limit. - !!!!:DAQ.OneWire: Removed by replacing proper user protocol templates. - DAQ.BCM2835 is appended by translations. - UI.WebVision: Some changed in ElFigure implementing code for crashes in Post. 2016-12-07 Roman (stable) - DB.LibsDB.OscadaLibs: DevLib is appended by GPIO devices' templates: Humidity Sensors DHT11, DHT12, AM2302, AM2320 and LCD Display Module 1602A. DevLib.SCU750 changed to IO fix for type "int8". - DB.AGLKS.St: Modbus controller objects fixed for logical type's storing table. - DB.{SQLite,MySQL,PostgreSQL,FireBird}: Message about rows missing at get some appended. - FIX:DAQ.ModBus: Fixed and adapted to user attributes processing pass. - FIX:Special.FLibSYS: IO is fixed for types "int8" and "char" split processing, mostly in its read. - UI.QTCfg: Allow page update after warnings at items loading. 2016-12-06 Roman (JavaLikeCalc_testing) - DB.LibsDB.OscadaLibs: Templates base.{anUnif,anUnifSt} expanded by attribute "alDelay" for split it from "Tf" for alarms delay and propogate it for all alarm types. Notifications dispatcher is pevented from early starting at "f_start". - DAQ: Program translation sign of templates set to disabled by default. - !!!!:DAQ.JavaLikeCalc: Support of the dynamic linking to external functions added in way: function {nm} = "{addr}"; {nm}();. External functions link and call optimized at all. - FIX:DAQ.LogicLev: User attributes removing prevented at the parameter's object enable, for passive ones. 2016-12-02 Roman (core_testing) - !!!!:FIX:SYS: TCfg was fixed to use TVariant string as a constant for STL string. TVariant expanded for STL string using always except fields marked as "stdStringOmit", mostly for TCfg as string constants (DB table's keys). - !!!!:DAQ.JavaLikeCalc: Object's functions call was optimized for the name direct pass into the calling command. 2016-11-27 Roman - !!!!:DB.LibsDB.OscadaLibs: DevLib is appended by RTC chip on I2C DS3231 implementing. DevLib.UPS: expanded for values in EVAL process. DevLib.{1W_DS9097,W_DS9097U}: Expanded by support 1Wire chips: DS2408, DS2450, DS2438. UserProtocol is appended by a memory chip AT24CXX access procedure. - !!:DAQ.DAQGate: Adapted to store parameters' assignment for stations to allow its for early restoring without need to sync. - FIX:DAQ.JavaLikeCalc: workRegControl() moved under function resource's locking. 2016-11-16 Roman - FIX:SYS: Main config property "ClockRT" fixed for load only from the config-file and in its description. TValue::chldAdd() fixed for the Archive subsystem mark as setToUpdate() only for successful appending. - FIX.Archive.{FSArch,DBArch}: checkArchivator() prevented from exceptions at a wrong archive starting else to pass it. - FIX:UI.Vision: Events notify objects removing at the master window minimizing fix. 2016-11-15 Roman - !!:DAQ.DAQGate: Control for automatic removing parameters and attributes added by an option. Spent time expanded by the maximum value. - FIX:UI.VCAEngine: Widgets list into the widget's parent field expanded and fixed for list all items of project tree to any depth. - UI.Vision: Expanded for authentication message error detailing. 2016-11-13 Roman - DB.LibsDB.OscadaLibs: DAQ.JavaLikeCalc service procedures, controllers and regulators libraries were cleaned and unified. Devices template library was appended by template of the pressure I2C sensor BMP180. - Function,UI.VCAEngine: pthread_mutex_t replaced by ResMtx. 2016-11-09 Roman - SYS: sysSleep() moved to clock_nanosleep(), CLOCK_MONOTONIC and clock_gettime() for short times lesser to 300us. - FIX:DAQ.BCM2835: Librarie's function bcm2835_delayMicroseconds() moved to clock_gettime() for prevent crashes into the not privileged mode. - FIX:UI.VCAEngine: Static functions' name and description of the primitives are fixed. 2016-11-08 Roman - Transport.Serial: "No stop on proceed" option is added to output transports. 2016-11-07 Roman - TSecurity: User API function User::groups() and Group::user() added. - DAQ.JavaLikeCalc: "Program translation allow" disabled by default. String's user API function parseLine() is added. 2016-11-03 Roman - FIX:DB.LibsDB.OscadaLibs: Notifications dispatcher adapted to object's attributes deletion by the operator "delete". - FIX:DB.LibsDB.vcaBase: Main.ElViewGraph: Adapted to store static parameters in the selection mode. - SYS: TVariant::propClear() expanded to single property clean. - !!!!:DAQ.JavaLikeCalc: Expanded by operator "delete" for objects or its properties free. 2016-11-02 Roman - FIX:SYS: Discard for attributes of object clear at EVAL assign. - !!:FIX:DB.LibsDB.OscadaLibs: Notifications dispatcher expanded by the notify messages criteria of its category and level. - SYS: data/openscada_start.in: expanded by first argument --ProjName={PNm} project's selection. - !!:DAQ.System: Expanded by "FS" data source. Automatic creation of sources expanded to modes of the sources "Fast" and "Slow". - UI.QTStarter: X Session manager disabled from restart the closed at exit programms. 2016-10-30 Roman - !!:FIX:DB.LibsDB.OscadaLibs: Notifications dispatcher unified, stabilized and status is added for SMS and EMail sent by direct OpenSCADA functions. !!:Self SMS send implementing unified and expanded for: disable ECHO, check/set PIN, TEST and PDU SMS mode. FIX:Self SMTP implementing fixed for localized field "Date" by use an external call for utility "date". - FIX:UI.Vision: Cursor wrong setting sometime for current time position fix for primitive "Diagram". 2016-10-29 Roman - FIX:Transport.SSL: TLSv1.1, TLSv1.2, DTLSv1 set to build for SSL version >= 0x1000114fL. - Transport.Serial: Char limit value expanded to 10000 ms, for output. - FIX:UI.QTStarter: Build for Qt5 fixed. 2016-10-28 Roman - !!:FIX:DB.LibsDB.OscadaLibs: DevLib.IEC60870: Fix for the new behavior of attributes of Object free by EVAL set. !!:Self implementing for EMail sent by SMTP is added as an user protocol's function, implemented: pure, SSL/TLS, AUTH. !!:Notifications dispatcher Controllers.ntfDispatch expanded by using self SMTP implementing for EMail send. - !!!!:SYS: More functions set to constant after some objects appending by a copy constructor. !!!!:More errors and warnings fix from PVS-Studio report, thanks to Maksim Kochetkov: TCntrNode: Possible wrong into copy node function by unsigned group's index. TCntrNode,TConfig,TRegExp,Archive,DB.{MySQL,PostgreSQL},DAQ.{AMRDevs,JavaLikeCalc},Special.FLibSYS,UI.{Vision,WebVision}: Possible collision into function arguments or an internal variable name and the class method. TVariant: Middle strings reallocation is set to the result check. XMLNodeObj,DAQ.{*,AMRDevs,Siemens},Archive.{*,FSArch},UI.QTCfg: Some logic made simply. !!: Adapted and some fixed to build by GCC v6 with C++11 by default. - DAQ.{Templates,JavaLikeCalc},Protocol.ModBus,UI.VCAEngine: Items deletion procedure termination at DB error added. - FIX:Special.FLibSYS: FFT buffers "free" using fix, instead "delete". - !:Transport.SSL: Expanded by the direct methods TLSv1.1, TLSv1.2, DTLSv1. - UI.QTStarter: Adapted to Qt5 specific method QTranslator::translate(). - FIX:UI.VCAEngine: Virtual function PrWidget::setEnable() fixed for the second argument. 2016-10-25 Roman - FIX:DB.LibsDB.vcaBase: Main.{grpGraph,grpGraph10,ElViewGraph} fixed to per-user saving selected graphics. - !!:FIX:DAQ.Templates,Archive.FSArch,DAQ.{JavaLikeCalc,ModBus}: Data fields removing at the preloaded SEEK fixed. 2016-10-24 Roman - DB.LibsDB.vcaBase: Attributes Main.{grpGraph,grpGraph10}.grpName were removed at last. Main.{grpGraph,grpGraph10,ElViewGraph} adapted to per-user saving selected graphics. - UI.VCAEngine: Programs translation by default set to false. - FIX:UI.Vision: Events MouseButtonPress, MouseButtonDblClick fixed for put to next level widget into this container. 2016-10-23 Roman - FIX:DB.LibsDB.OscadaLibs: Notifications dispatcher Controllers.ntfDispatch as a JavaLikeCalc function is added for send EMail (by sendemail) and SMS. UserProtocol.SMS: fixed, expanded and adapted for stated work. - SYS: TSecurity::access() function expanded for allow groups list as a separated by ',' one. Base64 encoding/decoding method some expanded for line separator point as an argument. TVarObj: pthread_mutexattr_t next replaced to ResMtx. Properties clear at EVAL set is added. - FIX:DAQ.JavaLikeCalc: Internal function's space splited for temporary registers. - UI.{QTCfg,Vision,WebCfg,WebCfgD}: Primary commands expanded by "copy". - !:UI.Vision: Widget's tooltip and statustip show some fixed and included to put the events to next level widget into this container. 2016-10-18 Roman - FIX:DB.LibsDB.OscadaLibs: DAQ template DevLib.SSCP: Loading of big LIST files performance some rised, by OpenSCADA core fix also. - !!!:SYS: TVariant for string type expanded for store too big data, more for STR_BUF_LEN(10000), as the standard string, and then significant increase the performance. - !!!!:DAQ: Template's configure's field variant "Constant" renamed to "Variable" and "Public constant" to "Constant" respectively. - UI.Vision: Widget's tooltip and statustip set to show at not full transparent widget's parts. 2016-10-11 Roman - DB.LibsDB.OscadaLibs: DevLib.IEC60870: Expanded for single items description. - !!:FIX:SYS: LibZ functions were rewrote for some unification and the used memory optimization. - FIX:DAQ.{BlockCalc,LogicLev}: Input links processing moved out of the attributes modifications detection into calc(). 2016-09-28 Roman - FIX:DB.LibsDB.OscadaLibs: DAQ template DevLib.SSCP: Fix for bool type represent. Load big LIST files performance some rised. - FIX:SYS: The functional templates fmin() and fmax() added. FIX:TRegExp fix in function split(), for hang and crash prevent. - Archive: Into getMess() used fmin() for previous problem. Attribute "tm" of the Array result of user API function "getMess" changed to type "int". - FIX:Archive.DBArch: Messages archivation part fixed for "needMeta" and to deny an access to the archivator before the successful meta get. - FIX:DAQ.JavaLikeCalc: The syntax highlight some fixed for strings and backslash '\' in variant "\\". - Special.FLibSYS: Function strParse() expanded for multisymbols separation. 2016-09-23 fido_max - DAQ.FT3: KA DAQ refactored and fully implemented (BTU, BVT, BVTC, GZD, GNS). Params save/load, set/refresh implemented. 2016-09-22 Roman - FIX:Arhives: getMess() fix for double call modules' function get(). Some fields of the messages request dialogs are merged to single line. Some debug messages are added to getMess(). - UI.Vision: Source code of primitive ElFigure some addition cleaned. 2016-09-21 Roman - !!:Archive.DBArch: Lost DB managing and its early connection restoring is added and some tested. - !!:FIX:DB.*: EVAL writing fix. Detected and tested on PostgreSQL. Messages and errors forming moved to new API. - DB.PostgreSQL: Some tracing debug information is added. Error transactions commit is added. 2016-09-20 Roman - DB.LibsDB.vcaBase: Main.{grpGraph,grpGraph10}: Set to the trend's control panel open on it start. - FIX:DAQ,Archive: The redundant request procedure fix for prevent the object stop at scaning requests, by previous host. - FIX:Archive: getVal() fix for request to the current value but the buffer end() some lesser to it. - FIX:Archive.{*,FSArch,DBArch}: Exceptions into archivatorAttach() at the archivator's object stopping are prevented for allow the archive early start. Archive.{FSArch,DBArch}: The modules adapted for early archivators init and archive's meta set from the physical archives. - !!!!:FIX:Archive.DBArch: Reading of the value archives set optimal for the request time, up to ten times, through using the "MARK" key and the seek request. FIX: The end of pushing accumulated values set to minimum from the data block's end and the group end. Adapted to direct writing beyond the main accumulation process with limits and meta update. Adapted to redundancy. Values archivation period limited to the resolution in seconds. 2016-09-16 Roman - !!:FIX:Archive.{*,FSArch}: Spare writings direct to the archivators prevented for TVArchive::setVals(). !!:FIX:Last read buffer information is added and the property using fix. - DAQ: The value archive's part set firstly readed for redundancy processing. - FIX:Archive.DBArch: Set values processing mostly fixed to return the correct last time. 2016-09-12 Roman - DB: LibsDB.OscadaLibs.db: DAQ template of the protocol "Temperature measurement IT-3 (IT3)" were expanded to detect the external connection loss. Template PCF8574 is added to the library DevLib. PCF8574 is I2C 8DIO. - FIX:SYS: data/oscada_gentoo.init is some fixed by IrmIngeneer. - !!:FIX:Archive: Value archivator is expanded for the accumulation mode support, mostly for Archive.DBArch. FIX:TValBuf: Fix for the object copy by the copy constructor appending and some fields lack. - FIX:TConfig: Fix for the object copy by the copy constructor appending and its reserved for implementing of copying the items to single ones. - FIX:TElem: Fix for the object copy by the copy constructor appending and its reserved for full implementing further. - FIX:Archive.FSArch: Adapted to values accumulation API. Values archivator fixed for the function stop() prototype. - !!!!:Archive.DBArch: The value archivation part expanded by the archives grouping into one group table, mostly for the archivation performance rise. Checking of the module meta table is added for creation the lack value archives, like into Archive.FSArch. Value archives limit is risen to days. Extended types int16_t, int32_t, int64_t, float and double archivation support is added. - FIX:UI.WebVision: The prototype "Media" processing some fix for "fit" toggle and container's scale changing. 2016-08-31 Roman - DB.LibsDB.vcaBase: tmplSO.graphSelPrm some improved. - FIX:SYS: Long locking at the redundancy state request is prevented by the resources reorder. - UI.VCAEngine: Sessions were expanded for diagnostic and profiling per pages/widgets and subtrees. 2016-08-30 Roman - !!:DB.LibsDB.OscadaLibs: DAQ template DevLib.IT3 and the user protocol part expanded by a passive mode, by list a different session. JavaLikeCalc function lowLevDevs.DHT expanded for AM2320, DHT22 (AM2302) support. - !!:DB.LibsDB.vcaBase: tmplSO.graphSelPrm significant expanded for selection from list and fast search. Main.{grph_panel,grpGraph,grpGraph10} adapted to store scaling context by mouse's window. - DAQ.LogicLev: Expanded to allow writing from external to the RO attributes "err" and all other for the "f_err" EVAL. - !!:FIX:UI.VCAEngine: Session calculation time expanded by its maximum value. Attribute addition expanded and used at manual creation by the attribute "allInher" for its creation inheritance. New created attribute's ID ("newAttr") and NAME set for indexing. - !:UI.Vision: The view "List" of primitive "FormEl" expanded by appending the pointed but missed values to the list. - FIX:UI.{Vision,WebVision}: Current values tracing of primitive "Diagram" for big periodics, in days, is fixed. 2016-08-26 Roman - !!:DB.LibsDB.OscadaLibs: DAQ template DevLib.1W_DS9097U finished and final working. - !!:DB.LibsDB.vcaBase: Main.grpGraph adapted for show self scale of a selected parameter. Main.grph_panel fixed for restore after scale by window only for allowed data. Main.ElViewGraph expanded for select by focus in also. - Transport.Serial: User API function sendbreak() is added to output transport. 2016-08-25 Roman - !!!!:FIX:DB.LibsDB.OscadaLibs: DAQ template DevLib.oneWire renamed to DevLib.1W_DS9097 and some simplified. New DAQ template DevLib.1W_DS9097U is added for allow OneWire support by an adapter DS9097U, based on the chip DS2480. DAQ template DevLib.SSCP expanded for types "dt" and "time" support and the allowed to selection variables list moving to RO text attribute. Groups of graphics and the control panel expanded to visualizer UI.Vision specific feature of selection/scaling by window drawn by mouse. The attribute "enForce" naming of ElViewGraph fix. - FIX:UI.VCAEngine: setEnable() of widget and its succession was expanded by the argument "force" like to pages. FIX: Primitives force activation for not loaded active attributes is added after the widgets loading try, into the widgets libraries. FIX: Units removing after the preloaded seek is fixed. FIX: Session's pages force enabling, at a request, prevented after its manual disable. FIX: User attribute ID prevented to set for empty. Visualizer specific attributes activation expanded for only present attributes activation, no creation. - !!:UI.Vision: Visualizer specific attributes are allowed for the primitives and an attribute "sclWin" added and used for primitive "Diagram" for trends view in scale by window drawn by mouse. 2016-08-25 fido_max - DAQ.FT3: General cleanup and refactoring of source code. KA DAQ implemented (BTU, BVT, BVTC, GZD, GNS). KA TANK object added. Translation fixed. Major erros fixed. 2016-08-16 Roman - UI.Vision: For primitive "Diagram" of the mode "Trend" the sliding by mouse is added in the time axis. 2016-08-15 Roman - !!!!:SYS: Function mess_sys() is added to the object TCntrNode to create system messages with the node path into the category and the node's location into the message begin, by the new function nodeNameSYSM(). Function err_sys() is added to object TCntrNode to create error objects with the node path and the node's location. The new TCntrNode object's functions have used everywhere into the OpenSCADA core. Some of the system messages moved to the debug category. - Archive.FSArch, UI.VCAEngine: The module moved to use the functions TCntrNode::{mess_sys,err_sys}(). 2016-08-11 Roman - FIX:DB.LibsDB.OscadaLibs: DevLib.SSCP some fixed for type "real" process and messages. - !!:FIX:Special.FLibSYS: IO object was fixed for byte orders of type "real" using as the integer bytes, but not native. 2016-08-07 Roman - !!!!:DB.LibsDB.OscadaLibs: To the templates library "DevLib" new template "SSCP" is added for implement Shark Slave Communication Protocol. !!!:DAQ template DevLib.oneWire: fix to the search algorithm and it's tested for 13 sensors on the bus; appended by the devices support: DS2413 (tested), DS1822, DS1820/DS18S20/DS1920. DAQ template DevLib.PCF8591 some fixed for set values to EVAL on errors and stability. - FIX:SYS.XML: Crashes on empty string encoding try to fix. - !!:FIX:DAQ.JavaLikeCalc: Freeing of the function's test execution context is added on this function stop, for some crashes on exit prevent. !:FIX:Return of the included functions fix for the string constant "" override. - !!:FIX:Special.FLibSYS: The system functions were appended by the Message Digest 5 (MD5) calculation function by OpenSSL. FIX: IO object was fixed for type "char" (1 byte) counted reading. 2016-08-02 Roman - !!!!:DB.LibsDB.OscadaLibs: To the templates library "DevLib" new template "oneWire" is added for implement OneWire bus by DS9097 and for DS1820. Template DevLib.PCF8591 expanded by the AI set to EVAL on errors. - SYS: For user API TVal::set() there prevented writing to no writable values of the configurations. New user API function TVal::isCfg() added. - DAQ.ICP_DAS: SDK was updated to the last version of "ICP DAS". - DAQ.JavaLikeCalc: Syntax highlight expanded to the command "~". - Transport.Serial: The timeout "symbol" was expanded by "the next request's multiplicator to the {symbol} time, 4 by default". 2016-07-27 Roman - SYS: taskUtilizTm() expanded by the argument "max" to obtain the maximum value and the value changed to seconds. The function taskDescr() added to get a link to the current task description structure. - DAQ.{BlockCalc,LogicLev,ModBus,Siemens}: The task's execution status was expanded by the maximum consumption value. - !!!:DAQ.LogicLev: Moved for set the attribute "f_frq" to the real (instantaneous) frequency, taken from the task description structure. The parameters task's consumption measurement is added, into attribute "err", into the Debug mode of the controller object. 2016-07-24 Roman - !!!!:SYS: The RW resources allocation object "Res" renamed to "ResRW". Conditional variable management object "CondVar" is added. FIX: ResRW::{resRequestW,resRequestR}() in wait timeout are forced to CLOCK_REALTIME but the pthread_rwlock unallowed to use any other. The object ResString moved from the direct mutex managing for the ResMtx. - !!:UI.QTCfg: Moved from QMutex and QWaitCondition to ResMtx and CondVar, mostly to prevent here hangs on the system time changing. 2016-07-23 Roman - !!!!:SYS: The system option "clockRT" is added for select the tasks planning clock as CLOCK_REALTIME but else it's CLOCK_MONOTONIC (default now). time2str() and tm2s() of the astronomic time were renamed to atime2str() and atm2s(). time2str() and tm2s() of the relative time were moved from microseconds to seconds origin. taskSleep() in the "cron" argument is moved to pure (string) representing for the origin point hold for the astronomic clock changing detect and cron's target correction then and also for the consumption meassuring by the taskUtilizTm(). - DAQ.{BlockCalc,DCON,LogicLev,Siemens}: The deprecated property "PERIOD" processing fix to allow it's replace next by the propery "SCHEDULE" forcing to rewrite and "PERIOD" to clean. - DAQ: The unfinished module "EPICS" was removed but the project "YAPU" forbidden. - FIX:UI.QTCfg: Crash prevents for system's time change. 2016-07-21 Roman - !!:Transport.Sockets: Output transport's reading for reply in check to SO_ERROR moved to step 2 to take some time for delayed reading but same SO_ERROR reading sometime long. 2016-07-19 Roman - DB.LibsDB.OscadaLibs: Template PCF8591 is added to the library DevLib. PCF8591 is I2C 8-bit A/D and D/A converter. - !!:Transport: User API function messIO() expanded by the input buffer size. The input buffer size was also added to the manual request dialog of the output transports. - Transport.Serial: Checking for the allowed I2C_SLAVE definition is added, and to build for Nokia N800. - UI.QTCfg: Checking for integer input field's range is added. 2016-07-18 Roman - !!!:FIX:DB: DBs loading interruption is prevented after loading with the ready configuration and an error here. - !!:FIX:DAQ.BlockCalc: For IO presenting check there was used an uninterrupted ioId() of the function object. - !!:Transport.Serial: Output transport expanded to check and use I2C. - !!:Transport.Sockets: Reading reply of the output transport after FD_ISSET is false expanded by reading socket's SO_ERROR and waiting interruption on any socket error. Early broken pipe detection and like ones for sockets allowed. 2016-07-17 Roman - Transport.Serial: Some cleaned about the RTS toggle (true/false) flow control and echo filtering and the translations update. - UI.Vision: Direct access checking for root is restored at "userIsRoot" miss. 2016-07-15 fido_max - Transport.Serial: Appended by RTS toggle (true/false) flow control and echo filtering. 2016-07-13 Roman - UI.{VCAEngine,Vision}: To the "connect" service there is added the checking of user for root by attribute "userIsRoot" and using it for menu visible. - DB.LibsDB.{OscadaLibs,vcaTest}.db: CREATE TABLE cleaned from default values like '''''''''. - !!!!:SYS: Node's function load() and load_() expanded by argument TConfig *cfg for allow direct loading after the seeking request. All parts adapted to the new argument "cfg" of loading functions, preloaded dataSeek() and the direct loading after the seeking request. Overall loading time decresed from 36% (Core) to 15% (VCAEngine) and some parts down to 80%. Argument "force" of node's function load() was removed and replaced by modifG() pre-call. Modules version of the subsystem "DB", "DAQ", "Archive", "Protocol", "UI" risen to 12. Modules version of the subsystem "Transport" risen to 13. Primary commands transmission by "rdStRequest()" prevented from exceptions. - FIX:DB.{FireBird,MySQL,PostgreSQL,SQLite}: Fix to original translated message set into value "One" of the extended value and value "Two" clean up. - DAQ.BlockCalc: IO of blocks loading was moved to using the seek request. - DAQ.LogicLev: IO of parameters loading was moved to using the seek request. - FIX:UI.VCAEngine: User attribute's value translation on load of the user attributes fixed. 2016-07-10 Roman - !:DAQ: DAQ redundancy mode OnlyAlarms is added. - FIX:DB.{FireBird,MySQL,PostgreSQL,SQLite}: Field seek is fixed for full request force on "row" = 0. - !!!!:FIX:DAQ.JavaLikeCalc: Second argument's type changing at compile is fixed but it is dynamic now mostly, detected on problems with some string operations. Doubled string constants detection is fixed. - UI.QTStarter: Expanded by a command line argument "--noX11" to allow the Qt disabling. 2016-07-06 Roman - Archive: The option's "Overtime of the reserve history reload" description is fixed. - !!:FIX:UI.Vision: Setting and updating of configuration of the status line fixed only for the master-page and its items immediately removing. Session restoring moved to the prior pages pre-removing but that is some faster, safer and cleaner then updating. Some debug counters are added. 2016-07-05 Roman - DB.LibsDB.OscadaLibs.db: ParamTemplLibs.{anUnif,anUnifSt}: Expand to alarms modes: 0-force NORMA, 1-suppress, 2-save on change. - SYS: To prepare the translations table used the preloaded seek. - UI.VCAEngine: To user's attributes loading used the preloaded seek. 2016-07-04 Roman - !!!:DB.{*,FireBird,MySQL,PostgreSQL,SQLite}: Preloading scanning mode added for functions fieldSeek() and dataSeek() for significant performance rise here. - Archive.DBArch: Messages get switched to use the preloading scanning mode. - Special.SystemTests: A test of the preloading scanning mode added to the DB tests pool. - FIX:UI.Vision: Pages including into page's container fix for adjust at its scale change. 2016-07-01 Roman - Archive: First start replay of the local archive for redundancy active messages is added, into depth "rdRestDtOverTm". - SYS: A prefix with the station name is added to most significant system's messages. - FIX:UI.VCAEngine: Visualiser specific attributes forced to modify at its activation. - UI.Vision: Lock for the main window changing in run mode at the session update-reconnect. 2016-06-29 Roman - Archive: messPut() expanded for alarms set and processing in first order and allow ignore new but equal ones in redundancy. - DAQ.{BFN,DAQGate,MMS,ModBus,OPC_UA,Siemens}: Name of parameter of alarm messages expanded by the module name. - FIX:DAQ.DAQGate: No removing archives at the parameter removing is fixed for first-level parameters. - DAQ.LogicLev: The system IO "f_err" allowed for redundancy. - DAQ.OPC_UA.libOPC_UA: Noncrashed NaN publish interval processing added. - DAQ.SNMP: Local "dataRes" removed. - Protocol.SelfSystem: Local "sesRes" removed. - !!:UI.VCAEngine: Session local dataMtx() is replaced by generic dataRes() of the node. Connections management added for its connection ID, mostly to detect remoted VCAServer changes and to re-iniate need then. - !!:UI.Vision: "Developers" help field removed by merging it to the field "Author". Using of the connection ID is added. Force to widgets update and restoring opened pages at a reconnection is added. 2016-06-23 Roman - !!!:Archive,*: To messages get functions added a time result of the finished processing. Mostly for allow fast continue from the point after long terminated by the timeout requests. The limit rdRestDtOverTm rise to days and up to 356. - Archive.DBArch: The property "maxSize" is expanded from hours to days. The used table closing after any put request is disabled. - Archive.{DBArch,FSArch}: Get messages request for equal begin and end time is allowed. - Archive.FSArch: Get from XML set some optimal. Get from plain allowed for the messages time equal to end. - Special.SystemTests: The DB tests are expanded by a seek test. 2016-06-21 Roman - !!!!:SYS: For some productivity rise the exceptions catch moved from the object copy to it's reference, thanks Max Kochetkov (fido_max) for the hint. - SYS:data/openscada_start.in adapted to gettext by use the aliase "GETTEXT". - !!!!:FIX:DB.{FireBird,MySQL,ODBC,PostgreSQL}: Fix and checked the moving to open table without exceptions into the table object constructor. - FIX:TUIS::docGet(): Force documents to background is added. 2016-06-20 Roman - !!!!:FIX:SYS.TCntrNode: Free of locked nodes and attach to disabled ones are prevented by proper resource locking to mUse. - SYS:data/openscada_start.in is adapted to working without "gettext", mostly for N800. data/{debian,debian_mod}/changelog: Author set to OpenSCADA , mostly for allow the sign after build by that key. - DB: Resource's of the DB allocation TBD::resTbls is added. For now that is experimental and used in generic functions of the tables open(), close(). - !!:Archive.DBArch: Get messages algorithm is rewrote to request by minutes in reason of requesting by hours is some too long for PostgreSQL, with the limit about 1500 records. - !!!!:DB.*: All DB modules rewrote to open table without exceptions into the table object constructor. 2016-06-16 Roman - !!!!:TDAQS,DAQ.{LogicLev,ModBus}: Redundancy of the dynamic attributes is added. - FIX:TDAQS,DAQ.LogicLev: Hierarchical DAQ parameters processing procedure is fixed. Special and translated IO from config are prevented from the redundancy. 2016-06-15 Roman - Archive.FSArch: The resources allocation including one to one are prevented. It was caused sometime to hungs before. 2016-06-14 Roman - TSYS,TArchiveS,TDAQS: Description of arguments of the configuration file is fixed. - TArchiveS: New redundancy option "Overtime of the redundant history reload at start in hours" is added. - !!:TDAQS,DAQ.LogicLev: Redundancy procedure of DAQ parameters is adapted to it's hierarchy. - DB.MySQL: Executions into BD::postDisable() are prevented. 2016-06-10 Roman - TDAQS: API functions tplE(), tplIOE(), errE() renamed to elTmpl(), elTmplIO(), elErr(). - FIX:UI.QTCfg: External host's status processing mostly improved and fixed. Timeouts of external host are set configurable by the option "TmConChk". The options StartUser and StartPath are moved under a resource allocation by the type MtxString. 2016-06-03 Roman - !!!!:SYS,*: MtxAlloc and MtxString moved to the mutex wrapper object ResMtx. All module's subsystems' version risen to one point. CoreLib version rise to 3.5. - !:UI.Vision: Timeout of tries of restoring connection to a remote station set to progressive up to the pointed one and the error message display after the timeout value in 3 seconds. - !:UI.VCAEngine: To project objects were added a property "EnableByNeed" to control the projects ready after start and prevent long connection by the deferred enabling. 2016-06-02 Roman - Transport: Listed external host's mode merging from two entries is fixed. - FIX:DAQ.Value: Write access to DAQ attributes closed for all into the service request "set". - !:Protocol.SelfSystem: Moved to some faster errors placing method. The reforwarding requests' processing set optimal. - FIX:UI.QTCfg: Into TextEdit widget added a signals blocking at setPlainText() for prevent the cursor events, status bar update and crash in some cases here. - !!!!:FIX:UI.Vision: Too important fixes made in way of adapting to stable work with remote VCA servers: The module's attributes VCAStation, UserStart, UserPass and UserStBar::{user,pass,VCAStation} were moved under resources locking by the MtxString value type using. To both runtime and development parts were added an initial connection with the restore connection timeout, for allow to load the VCA-server resources. In way of authentication as a default user the name takes from the attribute "user" of the session. Processing of the information dialog about a connection loss was moved to a single request (and thread) from updatePage(), for multithread access prevent and crashes (mostly from the notification tasks). 2016-05-30 fido_max - FIX:DAQ.FT3 flData sensivity deadband processing for event forming fixed. B_BTR:setTU count_nu fixed. TMdContr::ProcessMessage data length for cmdGet answer fixed. - FIX:DAQ.Fastwel: TMdPrm::enable module config init fixed. 2016-05-29 Roman - SYS:data/debian: the service's script openscada.init moved to separated package openscada-server. - !!!!:SYS,Transport,DAQ.DAQGate,UI.{QTCfg,Vision,WebCfgD}: External host upraise is implemented by the function extHostList() extension; the requests reforwarding by function cntrIfCmd() and the input part of the self-system protocol. - Transport: Module's subsystems' version set to 11. Starting-connection time is added to the output transports. Modify property is added to the external host's object for reconnect on it modification. - !!:DAQ.BlockCalc: Configuration fields of block unified and moved to TConfig::cntrCmdMake(). User API functions cntr(), cfg(), cfgSet() are added. - FIX:DAQ.Siemens.LibnoDave: gethostbyname() replaced to it's reentrant variant. - !!!!:Protocol.SelfSystem: Force authentication update by attribute "rqAuthForce" is added. Authentication error processing for direct requests is added. Authentication errors moved from the connection kind to the request, into the tag attribute "rez" and text. Reforwarding of host's requests attribute "reforwardHost" into input part is added. - FIX:Transport.{Serial,Sockets}: Errors on writing in the output part is fixed. - FIX:Transport.Sockets: Debug message about connect by timeout in the time is fixed. - !!!!:UI.Vision: Requests to an external host moved to using cntrIfCmd(). Remote authentication moved to allow use the host authentication by default and the same connection for check it. 2016-05-23 Roman - DB.LibsDB.OscadaLibs.db: Templates base.{digAlarm}: expanded into the input data preprocessing procedure for fix the procedure to reusing (more faster), stored context object into "ctx", "f_frq" actual value pass. - !!:DAQ: User API function funcCall() significant expanded to fix the result function for reusing and then significant performance rise. - TFunction: Virtual function prog() and setProg() is added for allow it's control through an abstract object. - DAQ.BlockCalc: Special attribute "this" of the object access set to processing into blocks. Some the source code cleaned. 2016-05-21 Roman - DB.LibsDB.OscadaLibs.db: IEC-60870-104: M_ME_NB_1 processing fix for signed value. "DHT (AOSONG)": Offset to 20 set for humidity of DHT11. - !!!:Archive: Values archivation a global option is added for time of taken values force to current and override it's source from. To values archive object an option is added for pass values fill to last value. - !:Archive:FSArch: Expanded for early limits check and it's check at unpack errors and then prevent storages overfull at close limits and small storages. the feature is not tested yet! - Transport.Sockets: Wait timeout at read() function's zero set to the next time but that case possible after disconection by peer also. - UI.{VCAEngine,Vision}: Deep header's processing of the notification's rules fix by hasFlags set. 2016-05-17 Roman - FIX:DAQ.JavaLikeCalc: Return from included function fixed. - DB.LibsDB.OscadaLibs.db: Low level device's function "DHT (AOSONG)" (for Raspberry Pi) is added, for reading temperature and humidity module DHT11. - !!:SYS: All key warnings next resolved. Include some controversial ones: DAQ.MMS: Mixed "||" and "&&" logic into the items cash access. DAQ.OPC_UA.libOPC_UA: Encoding mask processing in mix of operations '&' and '|'. 2016-05-16 Roman - DB.Model.AGLKS.St.db: All stored attributes of the VCA originals are cleaned. - !!:SYS: To data/debian_mod the package openscada-daq-bcm2835 building (commented-disabled by default) is added. Building of openscada-daq-ICP_DAS into data/debian_mod by default also set to disabled. {DAQ,Transport}.*: Tasks priorities range expanded up to 199 where 100-199 used for SCHED_FIFO tasks planing policy. Build and check the build environment scripts some improved for the crossbuild, by - appending pkg-config using for DB.PostgreSQL check before; - same pkg-config used from PKG_CONFIG enviroment which points to the cross variant; - check to Qt expanded by test taken from Qt_MOC and Qt_RCC ones. - DAQ.BCM2835: Static function mode() is added for GPIO pins Input/Output modes free control, from needs to DHT11. - FIX:DAQ.OPC_UA.libOPC_UA: TimeStamps into the "Write" client request's are disabled but some servers tell 0x80730000 (OpcUa_BadWriteNotSupported). - !!:Transport.{Sockets,Serial}: Possible wrong readings after the select() wrong termination, with marking as a data present (some caused), is unified and better adjusted for different modes of the requesting and the not requesting mode of output transport. - Transport.Sockets: Input transport's error messages some improved and set more informative. 2016-05-09 Roman - DB.LibsDB.OscadaLibs.db: Function "Low level devices"."Display 1602A" set to stopped by default, with the new option. - !!:DAQ.JavaLikeCalc: To function object is added "To start" parameter for allow disabled by default ones. Checking for IO moved before constants for it's override. Constant "EVAL" as a synonym to EVAL_REAL is added. - !!!!:FIX:DAQ.OPC_UA.libOPC_UA: Initial filters support is added into requests CreateMonitoredItemsRequest and ModifyMonitoredItemsRequest only for OpcUa_EventFilter at AId_EventNotifier parse. Input Variants function iVariant() is added as a separated part of function iDataValue(). !!!!:FIX: Packages sequence number managing for server part is fixed by separating from the value of input packages. FIX: Packages sequence number managing for the client part also unified and fixed to prevent the value repeats. Services CreateMonitoredItems and ModifyMonitoredItems processing merged to a singe one. !!: Early Acknowledgements processing in request "Publish" is added. Successful adapting to work with UAExpert 1.4. 2016-05-04 Roman - DB.LibsDB.OscadaLibs.db: "Low level devices" library of DAQ.JavaLikeCalc functions and function "Display 1602A" (for Raspberry Pi) into is added. base.digAlarm DAQ template expanded by an input processing procedure like into base.anIn. - !!!!:DAQ.JavaLikeCalc: Support of internal functions definition and it's call is added. 2016-04-29 Roman - !!:FIX:Archives: Locking for access to the alarms table is expanded to sort into the messages get request. 2016-04-28 Roman - !!!:SYS,UI.{QTCfg,Vision,WebCfg,WebCfgD}: Transfer local primary commands to redundant host is added, by an option of redundancy. As primary commands, which transfered, mean: "set", "add", "ins", "del", "move", "load", "save". - !!!!:Protocol.OPC_UA: Works into the poll mode of input transport are allowed and enabled by default. - UI.WebCfg: Source code significant cleaned. 2016-04-26 Roman - !!:SYS: Messages about redundant stations up and down are added. TSYS::rdStRequest() expanded by scan mode for stations. Main redundancy properties of the system level forced for store to the configuration file. - !!:FIX:Archives: Locking for access to the alarms table is restored. Access to messages in redundancy unified. - FIX:UI.Vision: For view "Table" of primitive "FormEl" header's item option "sort" fixed. 2016-04-25 Roman - SYS: Early redundancy task starting set. - DAQ,Archive: In redundancy, guaranty first initial sync request support is added, mostly for master. - Archive: In redundancy, alarms initial obtain is added. - DAQ: Initialization of redundancy of TController object some changed to enabled by default. That will next checked into a complex environment. - DAQ.BCM2835: Expanded for access to GPIO by static functions which significant faster ones. - FIX:DAQ.JavaLikeCalc: setNoTransl() at the attributes value (DB field "DEF") loading disabled by some problematic and no a sense. - Special.FLibSYS: The time functions are appended by tmSleep() for faster access to the short sleeping provides. - Transport.{SSL,Sockets}: Buffer's size of getservbyname() some decreased. - FIX:UI.QTCfg: Read only of selected items are fixed in alignment with other items in single row. Changed user apply is fixed. 2016-04-20 Roman - DB.LibsDB.OscadaLibs.db: Templates base.{digAlarm,anUnif,anUnifSign} expanded by prevent main execution into cycles of the starting (f_start) and stoping (f_stop). Template base.anUnifSign also expanded for EVAL detection lag into parameter "Tf". - DB.Model.AGLKS.St.db: Mostly parameters of LogLevPrm.experiment object of controller set into attribute "Tf" to value 2. - !!!!:SYS: Resources locking in RW object "Res" expanded by the functions (synonyms) lock(), tryLock() and unlock(). All module's subsystems' version set (started) to 10 for the Work version and prevent in casual the modules connect from LTS and vice versa. !!!!:The redundancy significant expanded to moving redundancy hosts management to the system level, from exclusively DAQ subsystem. Additional managing time macro FTM2 is added. User API function SYS.sleep() expanded to accept first argument of time in seconds as float and allow to set here up to nanoseconds. User API function SYS.sleep() limited to maximum wait time it is standard interface's timeout (5 seconds) and targeted mostly for low level device's short time lags. - !!!!:Archives: Redundancy for message archives added. TArchiveS::messPut() expanded to write messages independent to the alarms table. - !!:FIX:Transport.{SSL,Sockets}: gethostbyname() and getservbyname() replaced to it's reentrant variants. - !:FIX:Transport.{Serial,Sockets}: For result's reading, into output transport, added waiting for data at zero or/and EAGAIN error. 2016-04-13 Roman - !!!!:DAQ: Module DAQ.BCM2835 is added, mostly for access to BCM2835 like chip's GPIO and some other. The BCM2835 chips mostly known used into the Raspberry Pi boards. For now the module do not work properly yet and it is under developing! - DAQ.=Tmpl=: Some cleaned and expanded. - !:UI.VCAEngine: Force inheritance of links types is added, independent from the attribute local modification. Mostly for prevent the link's type changing loss, as significant one, into the modified attributes. 2016-04-10 Roman - DB.LibsDB.OscadaLibs.db: DAQ template's "base.anUnif" attribute "Connection loss detect delay, s" moved to "Tf, s" in the role. - Archive.FSArch: Used FTM() for left the messages time. Checking to duplicated messages into get() adapted for the option "prevDblTmCatLev". - UI.{VCAEngine,Vision}: For view "Table" of the primitive "FormEl" header's item option "sort" is added for point to initiate sorting column. 2016-04-08 fido_max - !!:DAQ.FT3: ui32Data, flData sensivity deadband processing for event forming added. B_ODOR implemented. - DAQ.FT3: KA_GNS SetNewState, SetNewFunction implemented, version rise to 0.2.1. - Protocol.FT3: Version rise to 0.2.1. 2016-04-07 Roman - DB.LibsDB.OscadaLibs.db: DAQ template "base.anUnif" expanded by attribute "Connection loss detect delay, s" for prevent blinks into hosts in redundancy or so one. - Archives: pthread_mutex_t resources allocation moved to ResMtx and it's space decreased exclusively to local buffers access and prevent some racecondition at the archivators access. - DAQ.ModBus: "Value" field of the templates set to use as a default link, on first enable. 2016-04-06 Roman - DB.LibsDB.vcaBase.db: Left graphics group fix to "name" attribute. - !!:Archives: messPut() and messGet() expanded to archivators list allow instead single one. User API function messGet() expanded by argument "upTo", for the timeout direct control allow. - FIX:DB.PostgreSQL: Fix cycling after unsuccessful a table's structure correction. - UI.VCAEngine: To messages reading by the repeating tags of primitive "Document" added attribute "docAMessArchs" to allow read only pointed archivators. 2016-04-04 Roman - SYS: TSYS::strEncode() in variant SQL expanded by the doubling method of the pointed symbols. - DB.{PostgreSQL,SQLite}: TSYS::strEncode() in doubling method is used. - UI.VCAEngine: Manual creation mark for pages is added. Mostly for modification of the children clean up and it's inheritance storing prevent by it is spare and sometime problematic on the parent update, like messages about impossible to enable a widget. - FIX:DB.PostgreSQL: Fixed for symbols "'" '"' encoding by it replace to the doubling method. 2016-04-03 Roman - UI.{Vision,WebVision}: For primitive "Diagram" to data block "data:
" option "Approximation (aprox)" is added. - !!:DAQ.DCON: Some cleaned. Adapted and enabled hierarchical parameters. Pass of real requests at the first and last iterations. enRes and reqRes resources lockators moved from Res to ResMtx. - !:DAQ.{ModBus,Siemens}: Pass of real requests at the first and last iterations, only the procedures execution. 2016-04-01 Roman - FIX:DB.{SQLite,MySQL,PostgreSQL,FireBird}: Previous scaned value getting prevented on the original value setting to clear all extended structure of translated value. Detected on UI.VCAEngine users attributes seek. - Protocol.SelfSystem: Attribute "remoteSrcAddr" of the root node set/reserve to the remoted host's address. - FIX:UI.VCAEngine: Mostly information messages from the information level moved to the debug one. User API functions mess{Debug,Info,Note,Warning,Err,Crit,Alert,Emerg}() appended to the run-time widget and included the widget path as the category. FIX: setNoTransl() at the attributes loading disabled by some problematic and no a sense. The note messages are added: "User is changed to ...", "User is connected ...", "User is disconnected ...". - UI.{VCAEngine,Vision}: To view "Table" of the primitive FormEl into root tag "tbl" added attribute "sortEn" to direct sorting by columns. - FIX:UI.Vision: For the attribute inspector labels of the attributes the ToolTip is added to long names (>20). FIX: The palette restoring to visibleCheck function is added for prevent FormEl's artifacts at last. The view "Table" of the primitive FormEl mostly adapted to sorting by the columns. 2016-03-23 Roman - FIX:Archive: Group messages archives request timeout, for common, fix into get(). - Archive.DBArch: Quick messages obtain by separated field "DT" set compatible but the field "TM" left to store full time. - FIX:UI.Vision: Mouse events at all enabled for "FormEl" primitive and some artifications like ticks loss into Slider but mostly into Table detected and fixed. 2016-03-21 Roman - DB.LibsDB.vcaBase.db: Main.ElCadr: Field of description checking to EVAL is added for empty value place. - !!:FIX:SYS: TCntrNode::nodeDis() fixed to prevent attach to the node at it disabling and result crash. - TConfig: Moved to ResMtx from direct pthread_mutex_t. - FIX:Archive: m_start, run_st, m_db were renamed to mStart, runSt, mDB. Time limit for get() messages fix. - !!!!:FIX:Archive.DBArch: New options of the messages archiver are added: "Store time as pure integer", "Scan by days threshold in seconds". "Archive size (hours)" for both values and messages adapted for set to zero (<0.1) and disable the limit at all. Table structure's for value and messages set adaptive and moved to the objects TMArchivator and ModVArchEl. By the option "Scan by days threshold in seconds" enabled separation the "datatime" row to "date" and "time" with allow significant rise the performance of reading message's big parts by day's blocks scan/seek and decrease the scan/seek by seconds. - UI.{VCAEngine,Vision}: Logical groups separator of Widget's attributes is changed from ":" to ": " everywhere, mostly for allow the user attribute value's items separation and description it with the symbol ":". Some like user attributes will not now grouped before fix! 2016-03-16 Roman - !!:FIX:DB.{MySQL,}: Prevented the "BEGIN;" and "COMMIT;" request's sequence breakage on high concurrency access activity. "connRes" moved from pthread_mutex direct to ResMtx wrapper. 2016-03-12 Roman - DAQ.OPC_UA: Some spare error messages removed. - UI.Vision: Primitive "Diagram" updated period limited to one second in the development mode. - FIX:Special.FLibSYS: IO.pos for string fixed. Single integer and real reading fixed on the position seek. - FIX:UI.Vision: Context menu problem for views List, Tree and Table is fixed, for allow the right mouse button's event come to the system functions. 2016-03-03 Roman - Archive: TArchives::messPut() expanded by the argument "arch" to allow direct to the archiver writing. Same expanded the user API function messPut(). - !!!:FIX:Archive.FSArch: Check for duplicate as equal time, category, level and it prevent is added. Check for duplicated at all fixed. Time into cache changed from time_t to int64_t (in microseconds). - UI.{VCAEngine,Vision}: Primitive's "Diagram" attribute "trcPer" type changed from "Integer" to "Real". UI.Vision also adapted for update the "Diagram" down to 0.01 ms. - !!!!:UI.Vision: View "Table" of the primitive "FormEl" significant expanded by: global table's attributes: "hHdrVis", "vHdrVis"; row attributes "colorText", "font"; column attributes "color", "colorText", "font". Context menu support enabled for views: List, Tree and Table. - FIX:UI.{Vision,WebVision}: Mode "XY" of the primitive "Diagram" fixed for build by sorting by 'X' disable, only the hierarchical order. 2016-02-29 fido_max - DAQ.FT3: B_BIP updated, logic side implemented (tmHandler, cmdGet, cmdSet), version rise to 0.2.0. - Protocol.FT3: Version rise to 0.2.0. 2016-02-28 Roman - DB.Model.{AGLKS.vca.db,Boiler.St.db}: Visualizer's UI.Vision specific attributes moved to the project's root-page. - FIX:SYS: User's space flags to generic nodes (TCntrNode) processing fixed, mostly for "RM_Full" flag and DAQ paramter's archives proper removing. - UI.Vision: Global modification mark processing moved to different function modifyGlbStUpdate() and some changed. - FIX:UI.Vision: Included to container's pages align processing rewrote to trace on the widget's geometry update and to the misaligned scroll-bars appearing sometime prevent. 2016-02-17 Roman - FIX:UI.VCAEngine: Notifications by queue and direct pointed resource is fixed. - SYS: CoreLib version rise to 3.5. Security: Adapted to prevent passwords storing in open view as hash instead, for: OpenSCADA host (Transports), Protocol.SelfSystem, UI.Vision. Security: crypt_r() using enabled only for "__USE_GNU" and the open passwords store instead. 2016-02-15 Roman - UI.{VCAEngine,Vision}: Projects flags moved to as the visualizator specific attributes "runWin" and "keepAspectRatio". Vision global properties "stBarNoShow", "winPosCntrSave" moved to the visualizator specific attributes. - UI.VCAEngine: Control request "activate" expanded by "aVls" and "aNms" determine. - SYS: Function realRound() some simply set. System configuration fields "workdir", "moddir", "icodir" and "docdir" set to readonly from the configuration interface, mostly for wrong changes prevent and the changes allow only by the configuration file edit. - *.=Tmpl=.configure.ac: Some spare code parts removed, mostly for old i18n manage. - FIX:DAQ.OPC_UA.libOPC_UA: Variable's statuses added, mostly for the "Publish" service. Initial "Publish" responses are added: first after the CreateSubscrition service and second after the CreateMonitoredItems service. - UI.{VCAEngine,Vision}: pthread_mutex_t moved to ResMtx. Notifications expanded to unregister and stacked registering ones from other pages. - FIX:UI.Vision: conErr pointer loses for not zero set at the master page free/replace is fixed. That sometime causes to crashes! 2016-01-31 Roman - DAQ.OPC_UA.libOPC_UA: New client/server services implemented: RegisterNodesRequest, RegisterNodesResponse, UnregisterNodesRequest, UnregisterNodesResponse. Only formal and no a real doings! - FIX:DAQ.Siemens: A crash problem at high and frequent interaction is fixed. The problem into DB block's fragments changing (by assign) at it parallel reading. The DB block's fragments set to replace instead assign everywhere. - FIX:UI.VCAEngine: pthread_mutex_t replaced to ResMtx for the function's resources locking. The function's resources locking is added for SesPage::setEnable(). Try to enable for disabled pages, at an alarm set action, is prevented by some strange crash here observed, only into LTS. 2016-01-25 Roman - SYS.{configure.ac,ChangeLog}: Some messages fix. - DAQ.JavaLikeCalc: Operation "||" and "&&" formal set to equal priority. - DAQ.OPC_UA: Module for client renamed to "Client OPC-UA" and for server to "Server OPC-UA". Protocol: reqData() fixed for "NodeClass" processing of the "Browse" request, mostly for forward request to the data model. 2016-01-08 Roman - FIX:DB.LibsDB.OscadaLibs.db: regEl.pidUnifD: Pulse regulation by the back position fixed and tested into real environment. - FIX:DAQ.MMS.libMMS: oN() function fix for auto size adjust. Tail wait fix into the messIO() request. - FIX:DAQ.ModBus: Some original messages fix. Some resources lock appended and moved from pthread_mutex_t to ResMtx. - !!!!:DAQ.Siemens: Self implementing for ISO-TCP is added and tested, mostly by Proviron Holding NV request. Restoring timeout is added. Significant refactoring for the resources lock, error messages and other. 2015-12-17 Roman - DB.LibsDB.OscadaLibs.db: Some descriptions expanded and fixed. - DB.LibsDB.vcaBase.db: Main.TextLab: Context command's description into the operator's protocol fix. - !:FIX:DAQ.ICP_DAS: Possible crash fix into the OpenSCADA serial transport mode using and CRC enable on short (not full) messages receive and process. - Special.FLibComplex1: Some the source code cleaned. - !!:FIX:UI.VCAEngine: Queued notification's quietance for all and partial fix. 2015-12-12 Roman - !!!!:DB.LibsDB.OscadaLibs.db: User protocol for IEC-60870-104 is added, by the template only. - !!:DAQ.SMH2Gi: Version 1.0.0 released. 2015-12-11 Roman - !!:FIX:DAQ.OPC_UA.libOPC_UA: Specific value types OpcUa_IntAuto and OpcUa_UIntAuto added for adaptive integer type selection, mostly for provide integer into not fixed int64. Error OpcUa_BadNoSubscription added to PublishRequest. Server folder "ServerCapabilities" added and some items here. FIX: Conditional session's clear for selected endpoint is added, mostly for prevent this loss at no "None" policies. Virtual function connect() into client is added for the connection control, used into service "CloseSecureChannel" for close connection. "Nonce" of the Server part disabled into CreateSessionResponse and ActivateSessionRespons for policy "None". 2015-12-08 Roman - FIX:DAQ.OPC_UA.libOPC_UA: Using the client certificate into a renewal secure channel request set only for no "None" policies. Full session clear at errors into a renewal secure channel request is added. Some lack information resolved like to "transportProfileUri" and "securityLevel". libOPC_UA independent version control is added. - FIX:DAQ.OPC_UA.Client: Status codes display fix for the controller's attributes. 2015-12-07 Roman - !!!!:FIX:SYS.TVarObj: Object's twice free possibility prevented. TVarObj::propGet() EVAL result fix. 2015-12-03 Roman - DB.LibsDB.OscadaLibs.db: UserProtocol.OWEN some tested and fixed. - DAQ.{LogicLev,ModBus}: User API function attrAdd() expanded by option "ro", for read-only. - Protocol.UserProtocol: For input requests expanded to try enable, mostly for allow to use static functons into the procedures. - UI.QTStarter: WinControl's timer stopping moved to it destructor for ensure the timer create/start and stop into one thread. 2015-11-28 Roman - !!!:FIX:DAQ.OPC_UA: Library: Expanded to new error codes. Auth processing for client fixed to storing current endpoint description for next actual "policyId" obtain and using to the auth service. Wrong NodeId::Opaque type set fix. Next empty arrays number fix for set to 0 instead -1. Fix something "EndPoint" lack. To server part new default name spaces added: 2-"http://opcfoundation.org/UA/DI/, 3-"http://PLCopen.org/OpcUa/IEC61131-3/" Client: Appending information by: applicationUri(), productUri(), applicationName(). For empty "browseName" browsed nodes using "displayName" set. Server: OpenSCADA DAQ name space set to index 4. - UI.Vision: Adapted for build with libphonon4qt5 and Qt5. Deprecated functions using is resolved for Phonon. - UI.{QTCfg,Vision}: Early timers stopping added to the close event processing. - UI.VCAEngine: Media files selection appended by URL's extensions: avi, mov, mpg4. 2015-11-26 Roman - FIX:DAQ.OPC_UA: Empty Read service list cicling fix. - !!!!:SYS: Object ResMtx is added for gather all platform specific mutex implementation. Later it will be used instead the direct POSIX API everywhere. - !!:Transports.*: messIO() return to the previous prototype and for the no request mode set used