From OpenSCADAWiki
Jump to: navigation, search
Other languages:
English • ‎mRussian • ‎Українська

This update of the 0.9 LTS release fixes about 60 bugs and appends some improvements, which you can read wholly in the update ChangeLog.

Automation Linux distributive of the project OpenSCADA

  • KMix was completed in improving the work with PulseAudio by making dynamic in the patch "kmix-UpdMixersForChangeAndChMaster.patch".
  • KRfb (VNC-server) was fixed for crashed and completed in implementation typing the additional keys to the main keyboard layout, Cyrillic mostly but allowed for additional UTF symbols also.
  • Complete translation updating of the Trinity Desktop Environment project to Ukrainian for the parts: tdelibs, tdebase, tdenetwork, tdemultimedia, tdepim (mostly), krusader, yakuake.

OpenSCADA libraries and projects

  • LibsDB.OscadaLibs: The Devices Library appended for the protocol IEC-62056 implementation (DevLib.IEC62056). The offline documentation appended for the document "AGREEMENT ON TECHNICAL SUPPORT OF THE "OpenSCADA" SOFTWARE" version 2 and the new module DB.DBGate.
  • FIX:LibsDB.vcaBase.Main.alarmsSt: Some fixed for the original messages and the "quietation" completely replaced by "confirmation". Restored in preventing the duplicate entries for new alarms in that category.


  • SYS: The station statuses unified in the function isRunning(), isFinalKill() and stopSignal(). TCfg::setReqKey() appended by a new argument "treatDep".
  • DB: dataSeek(),dataGet(),dataSet(): Expanded for the local configuration context argument "localCfgCtx";
  • *,DB: TBDS::dataSeek() and TTable::fieldSeek() switched to the seek cache implementing in the corresponded modules.


  • TMess,DB,DB.{SQLite,MySQL,PostgreSQL,FireBird}: TMess appended for a function of detection the configuration translation translCfg(), which used in all DB modules and in dataSet().
  • SYS: Appended for the global configuration context accessing functions cfgCtx() and setCfgCtx().
    • The loading and saving configuration appended for own lock TSYS->cfgLoadSaveM().
    • Appended for the function pathLevEnd() of the paths processing from the end.
    • TRegExp: Appended by the function getPattern().
    • TFld: Appended for the combined string variant of the length field - lenS().


  • FIX: Building:
    • Core library version risen to 3:8:0 and the program version risen to 0.9.2.
    • Modules version of the subsystem "BD" risen to 14, of the subsystem "Transport" risen to 16.
    • data/ModelsDB/{AGLKS/oscada_AGLKS.xml,Boiler/oscada_Boiler.xml}: The input Sockets' transports unified in the names "WEB" and "CNTR".
    • data/ModelsDB/AGLKS/St.sql: The input SSL transports unified in the names "WEB" and "CNTR" and updated for the KeepAlive timeout setting in 60 and for the SSL-certificate.
    • data/{oscada_start,oscada_server,oscada_plc}.xml:
      • The input WWW-transports are unified, where "WEB_1" renamed to "WEB" and "WEB_2" removed.
      • Appended for the disabled DB-entries of the standard OpenSCADA libraries.
      • /oscada_start.xml: Appended for the disabled input transports "WEB" and "CNTR". Appended for the value archivers FSArch.{SYS,alarms,actions} and message archivers FSArch.{1s,1m,1h}.
  • FIX:data/,UI.QTStarter: Implementation the builtin backuping.
    • FIX:data/ Appended for the commands "backup", "backupRestore", "backupList" to implement the project backups.
    • UI.QTStarter: Appended for the backup commands call from the project manager - list of the projects.
  • .,DB,DAQ.{LogicLev,ModBus,Siemens},UI.{QTCfg,WebCfgD}: Implementation the interstation copying mechanism of the control interface nodes.
  • .,UI.QTStarter: OpenSCADA starting with a module as the GUI in the main thread significantly refactored for:
    • early registration the GUI module in the main thread directly by that module itself and in postEnable() function;
    • adaption the function perSYSCall() to use for update the GUI module in the main thread, its splash mostly, during the program starting and stopping (from the service task) and at the configuration loading (for switch to the starting splash);
    • enabling the messages dynamic display for the main thread execution mode;
    • unification of the splash display for the both modes.
  • .,Protocol.SelfSystem,DAQ.AMRDevs: Client accessing of the OpenSCADA control interface expanded by the multiple authentication, what prevents of using direct requests of the OpenSCADA control interface with the authentication in each the request, often for UI.Vision.
  • FIX:TRegExp: The patterns processing fixed appending the end symbol treating, so preventing TController::alarmSet() collisions in the objects strict detection.
  • FIX:LibsDB.OscadaLibs.doc.diagram,UI.{Vision,WebVision}: Prevented from the value scale double adjustment for the percent scale and appended for the value range expanding.
  • FIX: The function TCntrNode::isModify() processing for the children allowed only for nodes in the state "Enabled".


  • A new module "DBGate" created.
  • FIX: TBDS::dataSet() expanded for setting only keys and viewed elements, like to other DB. Appended for changing-saving the defined entries in the config file instead complete saving all their in the default DB.
  • FIX: The wrong started DB objects in the first fixed for try them next start tries.
  • FIX: DB loading is prevented from double loading from the config file and from DB for the equal entries.
  • The TBD object appended for the service control "call" requests support: "/serv/SQL", "/serv/fieldStruct", "/serv/fieldSeek", "/serv/fieldGet", "/serv/fieldSet", "/serv/fieldDel".
  • FIX:SQLite: Detected and corrected of data losses with concurrence access, when a minor error of the not activated transaction "cannot commit - no transaction is active (1)" is generated, which, however, interrupts the data recording.


  • FIX: JavaLikeCalc: The internal functions executing appended for storing the shared-own registers context, in two variants, for allowing the recursion primarily.


  • The output transports unified by creation the connection parameters, by conPrm(), instead direct ones prm1() and prm2().
  • The configuration option "START" was removed for the output transports as spare one and to prevent long starting.
  • FIX:Sockets,SSL: To prevent the multiple execution of the high loading and long-time control requests the output transports switched to:
    • the default configuration for Tries=1, Timeouts="30:2";
    • for the connection losses the tries number set to 2;
    • for the error "Timeouted" the connections also set to reconnect, besides the SOCK_FORCE type.

Transport Protocols

  • FIX:ModBus: The output requests of the TCP-variant appended for checking Transaction ID of the response packages.
  • FIX:SelfSystem: The output part expanded for checking correspondence of the responses to the requests by the request tag name. Appended for encoding special symbols of the user and password, and the empty password encoding as "<EMPTY>".

User Interface

  • Vision,WebVision: The visualizer specific property "userSetVis" appended for password implementation after the direct user specifying and for applying all users.
  • FIX:QTStarter: The standard-system start/stop splash updated and appended for information about the program (the custom splashes also) and the OpenSCADA project, including the project icon. Context menu of the project list appended for an item of removing not running projects.
  • FIX:QTCfg: Appended in tracing the page changing for indication in the navigation tree with scrolling to the current item.
  • FIX:VCAEngine: Prevented from crashing on big configurations with long closing the runtime sessions in accessing the widget heritors (mHerit) by appending the ResRW lock "mHeritRes". The property "Translation" of the widget procedures completely moved to the direct access and set visible only for the procedure presence, also as the procedure text area and the calculation periodicity visible only at any language selection.
  • FIX:Vision: The authentication and user changing procedure in UserStBar::userSel() and the dialogue object "DlgUser" were significantly unified.
  • FIX:WebVision: Unified in the primitive "Button" implementation: by moving the custom buttons under <button></button> and appending the proper CSS-styles for the default and pressed state with the border and transparent image difference. The issue of closing all pages of the main page container with frozing the last loss page at fast page switching caught and fixed at last. Appended for the custom interface CSS rules.

Service updates