2018-06-21 Roman 0.9.0 - FIX:data/openscada_mod_ALT.spec: The openscada-server package fixed for including the file oscada_server.xml. Switching to openscada_LTS was moved to the building script, together with the repository Debian packages. 2018-06-19 Roman 0.9.0 - DOC: Fix all documents for wrong deleting "", detected on FireFox. 2018-06-18 Roman 0.9.0 - Build: Set ALTLinux repository packages to the name "openscada_LTS". - DOC: Updating "To do" and appending "Updating_0.8.0_LTS". 2018-06-17 Roman 0.9.0 - Release of OpenSCADA 0.9 LTS. 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: Maximizing, Fullscreen, 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 rose 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" 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 rose 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 alowed 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 unalowed 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 maximizing 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 maximizing 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 maximized 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 selection lost 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 lost. - 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 lost 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 lost. 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 rose 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/scalling 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 alowed 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" rose to 12. Modules version of the subsystem "Transport" rose 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 rose 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 lost 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 lost, as significant one, into the modified attributes. 2016-04-10 Roman - DB.LibsDB.OscadaLibs.db: DAQ template's "base.anUnif" attribute "Connection lost 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 lost 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 lost 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 lost 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 lost 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