From OpenSCADAWiki
Jump to: navigation, search

Other languages:

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


  • SYS.TModule: The info attributes like m{Name} renamed to mMod{Name}. Function modInfoMainSet() added and used into all modules for main info attributes of module set.
  • TProtocolIn, Protocol.UserProtocol, Transport.*, DAQ.{ModBus,OPC_UA}: The input transport store by locked header instead the path for faster access, API functions changed: open(), srcTr(), setSrcTr().


  • SYS: Object ResMtx is added for gather all platform specific mutex implementation. Function TSYS::taskUtilizTm() added for get utilize time by the pointed tasks. TElem: Item's resource mResEl moved from Res to pthread_mutex_t, and it allowed for public access. Hardware platform endian specific conversion function's implementation placed, for: i16_LE(), i32_LE(), i64_LE(), i16_BE(), i32_BE(), i64_BE(), floatBE(), floatBErev(), doubleBE(), doubleBErev().
  • DAQ.{LogicLev,ModBus}: Appended by user API functions to the parameter object attrAdd() and attrDel() for attributes free management.
  • Transports: User API function {TrOut}.start() added for fast control for the output transport state.
  • Protocol.{*,UserProtocol},Transport.{Sockets,SSL}: Function Protocol::waitReqTm() added for pool mode control of input protocols.


  • FIX:TVarObj: Object's twice free possibility prevented. TVarObj::propGet() EVAL result fix.
  • Core library version rose to 2:3:0. DB, DAQ, Archive, Protocol, Special, Transports, UI subsystem type modules version rose to 7.
  • Archive.FSArch,DB.DBF,DAQ.{Comedi,SMH2Gi}: readdir_r() using rewrote to "dirent" structure direct malloc and prevent problems on other OS, like QNX.


    • FIX:libOPC_UA: All wrong empty strings (-1) replaced by empty array (0). FIX: Empty Read service list cycling fix. FIX: Authenticate processing for client fixed to storing current endpoint description for next actual "policyId" obtain and using to the authenticate service. To server part new default name spaces added: 2-", 3-"". libOPC_UA independent version control is added. Specific value types OpcUa_IntAuto and OpcUa_UIntAuto added for adaptive integer type selection, mostly for provide integer into not fixed int32 (int64). Virtual function connect() into client is added for the connection control, used into service "CloseSecureChannel" for close connection.
    • FIX:Client: Status codes display fix for the controller's attributes. Appending information by: applicationUri(), productUri(), applicationName(). For empty "browseName" browsed nodes using "displayName" set. Test client's source code some cleaned and expanded.
    • Server: OpenSCADA DAQ name space set to index 4.
  • Siemens: Self implementing for ISO-TCP is added and tested, mostly by Proviron Holding NV request. Restoring timeout is added. Significant re-factoring for the resources lock, error messages and other.


  • FIX:{Sockets,Serial,SSL}: Resource of output transport lock into messIO() fixed, by no real a lock hold. Pool mode of input protocol support is implemented. No request mode support is added and all modules adapted to it, in way of time argument less to zero set into the {TrOut}.messIO() function.
  • Serial: Disconnect (transport stop) from output port added on read <= 0, which points to the device lost at all.


  • UserProtocol: For input requests expanded to try enable, mostly for allow to use static functions into the procedures.


  • FIX:UI.{Vision,WebVision}: Crash into trend's data loading fix for no a value present (time = 0).
  • QTCfg: Busy progress bar dialog adapted for first range set and it updating as maximum to current.
  • Vision: Adapted for build with libphonon4qt5 and Qt5. Deprecated functions using is resolved for Phonon and Qt5.