EnglishУкраїнськаmRussian
Login/New

On 27...30 April 2017 in city Lviv (Ukraine): The International Research and Practice Conference "FOSS Lviv": "OpenSCADA — open SCADA system in perspectives of 0.9LTS release"

27.04.2017 10:00 Age: 8 yrs

By: Roman Savochenko


The conference was a successful one. On the conference there read the report about perspectives a new LTS version 0.9.

Great thanks the FossLviv team!

Also big thanks Chopovskij Sergej for a related report to OpenSCADA!

The conference site is: conference.linux.lviv.ua

The current stable version of long term support of the project OpenSCADA is 0.8 which released in year 2012 and updates of it have released all this time. The main developing process continued into the work on version 0.9 which to the year (2017) end must achieve the planed stage and as the result a new stable version of long term support 0.9 LTS must be released. The report previously presents the project of open SCADA system version 0.9 in view of its features into the common and related industries, and into representative examples of its applying.

Report/Article

The project OpenSCADA founded in year 2003 by Roman Savochenko as a free implementation of system of Supervisory Control and Data Acquisition (SCADA) or Human Machine Interface (HMI), grounding on an experience into using and developing of commercial SCADA-systems.

SCADA or HMI systems are generically appointed and used to operational and responsible control by human for working of the complex technological equipment of different production companions.

For now the OpenSCADA project is an advanced SCADA/HMI system this is wide enough used as for the direct appointment and, due to self flexibility, into more adjacent areas that is: realtime dynamic models, imitators and training apparatus of technological processes, environments of execution Programming Logical Controllers (PLC), server hardware monitoring, smart houses and home automation. With some limits and modifications, mostly into the internal environment, OpenSCADA can be used into that areas: billing systems, Enterprise Resources Management (ERP), Accounting and Bookkeeping. Then OpenSCADA we can confidently call in general — the system of working with data in realtime.

Due the project is free, it's mostly provided under GPLv2 license, user can get free access to source codes of the project, to build and to use it. Ready to use builds and packages of the program are provided now for more known Linux distributives and environments on the main project's resource oscada.org. A free and limited support is provided on the project forum for the free-obtained source codes, binary archives or packages, and mostly for prompt representing and nonspecific to user environment problems. For the full support get a user allowed to purchase a package of commercial technical support from the project developers. Besides the commercial support from developers user allowed to purchase services for solutions on OpenSCADA developing, both from the developers and from the third party integrators. Missed functions and extensions, which aren't in the contradictory to the project conception, user also can order to implement for the OpenSCADA developers.

The main process of developing goes by the author and main developer OpenSCADA Roman Savochenko and he's pointed the process respectively. The developing exclusively goes into the work version by the targeting stabilization and extension during the user solutions implementing. From begin of year 2016 the roadmap was updated and the process of preparing and releasing of the stable version 0.9 LTS was started after an achievement of the current work version to some acceptable stability level at introduction of all key changes into the project architecture and conception. The previous/current stable version 0.8 LTS has been continued to updating all the time!

Main time and efforts of the developers currently pointed to finish the conditional tasks of a new stable version 0.9 LTS releasing.

Practical solution, built on OpenSCADA

A face of the further release 0.9 LTS is a proper work version. This version developing and stabilization have continued during the last five years by implementation to various solutions. Grounding on OpenSCADA there built more solutions directly by the author, by his participation but also without him know then the following solutions pointed once to solutions of the author or related his.

Automation systems of control for technological processes (ASC TP) and environments of execution of PLC:

  • “Automation System of the Metropolitan”, 2016 (Optima). Support is going now ...

  • “ACS of the ball drum mills BDM 287/410 of the boiler #8 of BKZ 160–100 PT”, at year 2010 for #7,9 and at year 2015 for #8. For PLC there used ICP-DAS LP-8781 with OpenSCADA in a role of environment of execution of PLC. Support is going now ...

  • “ACS of Phosphating, Amination and Hydrazine of boiler BKZ 160–100 PT”, 2014 after the de-occupation. For PLC there used ICP-DAS LP-8781 with OpenSCADA in a role of environment of execution of PLC. Support is going now ...

  • Reactivity Monitoring System (RMS) of the Subcritical Nuclear Facility (SNF), 2013...2015. Interrupted.

  • Data acquisition and supervision of boiler #1 of the CHP department, 2012.

  • Vacuum technological facility, 2011. Support is going now ...

  • Monitoring of the electricity switchboard, 2011.

  • Dispatching system of the poultry-yard, 2010. Support is going now ...

  • Dispatching of the carriage-wash system, 2009

Dynamic models of the technological processes in realtime:

  • Dynamic model of the steam boiler #9 of DMK, from year 2007 and to this day it is as a demonstration of OpenSCADA.

  • Dynamic model of the Anastasievskaja GLKS, from year 2006 and to this day it is as a demonstration of OpenSCADA.

Embedded systems: ICP DAS LP-xxxx; Segnetics SMH2Gi; Diamond Systems ATH400-128; Kontron MOPSlcdLX; Tri-M VSX104, ICOP VDX-6354; "А-TEX" Ltd iROBO-Fanless; Factory of electricity-equipment Tion-Pro270; Avalue FPC-1705; Advantech PCA-6753, PPC-L126; "Raspberry Pi Foundation" RPi 1, 2, 3; Orange Pi Zero.

Mobile devices: Nokia N800, N810, N900, N950, N9; support of Android is performing now.

The smart house and the home automation: Smart House (HouseSpirit), 2011; Self Smart House with a dispatcher system of the server, 2014 and to this day.

Other solutions about the project OpenSCADA and its infrastructure:

  • The self server of the project OpenSCADA and the internet channel of connection, 2014. Besides the presented services on the new server was deployed next new ones: tunneling connection to provide remote service; the automation project's builder; “AGLKS” and “Boiler” models with a demonstration of Web-access from outside; Smart House on the OpenSCADA base with functions of monitoring the server and ERP.

  • The Automatic builder of the project OpenSCADA (2015) to simplify builds and rebuilds of packages, binary archives and live disks of the distributive of automation based on OpenSCADA. The builder means checking the repositories of source codes OpenSCADA Subversion and building the two branches, that is: Stable (LTS), for now it's 0.8, and Work, for now it's 0.9.

  • The Linux Distributive of the Automation Systems based on the project OpenSCADA (2012) split and set formal into the project “Automation Linux distributive of the project OpenSCADA”. The repositories of packages firstly include same OpenSCADA packages and also a series of packages adapted and built specially for the project. Currently the base of the automation distributive was replaced from Linux distributive ALTLinux to Debian, in more reasons of the technical a political character. The Live disks, and the “Automation Linux distributive of the project OpenSCADA” currently, create:

    • to provide a fast and simplest method of acquaintance and deploying solutions with OpenSCADA and into the tested and reliable environment of Linux;

    • as a platform for PLC and paneled PC/PLC of the hardware architecture x86, x86_64 and ARM;

    • as a platform for complex solutions of the automation systems in creation of an assembled disk of the automation system project in connection with an installer of the typical, optimized and stabilized environment; with the documentation and other files of the project part's configuration;

    • to provide a service functions about the author's program environment and hardware and the solutions of automation systems.

OpenSCADA 0.9 LTS

Future stable version you can mostly estimate now and don't wait for an official announce and branching from the Work version. That is by using regular builds of the actual Work version in view of: live disks, packages and repositories of the packages. And counting a fact that the actual Stable version supports from its official release (already released 17 updates) then most functions have presented there; and for target formalization to concrete functions you can use the current stable version even.

Currently there are actively performing works for two tasks of the cross platforming, that is:

  • Modules of the present Web-interfaces expanding to a level of modern Web-interfaces and nearliest to the functional properties of their analogues on the library Qt.

  • Adaption to execution on the program platform “Android”.

From the already present features and specialties of the future release 0.9 LTS we must note next, system ones:

  • Significant stabilization of OpenSCADA core, unification of control for internal resources and expanding for features of debugging by user. That is the code of dynamic object OpenSCADA have already been included to the current stable branch by the update 17.

  • Expanding for the redundancy mechanism which potentially means for redundancy any one subsystem and currently there is implemented redundancy for subsystems “Data Acquisition” and “Archiving”.

  • Support for hierarchical parameters of objects of controller of data acquisition.

  • A mechanism of dynamic translation messages which means a possibility of changing language of the user interface by the same user changing (not implemented in full).

  • A mechanism to call/open documentation of a project which involves updating the offline documentation with the stable version updating at modernization of the Knowledge Base (Wiki) of the project OpenSCADA.

  • Moving to the developing scheme Work/LTS that is developing into the work version and releasing updates to the stable version by back-porting of the compatible changes from the work version. In fact the moving was done in year 2013 when 0.8 LTS was admitted as the current stable version and 0.9 Work was admitted as the current work version.

  • Changing of versions of the modules performs together with changes into code of the module and before their uploading to the repository of source codes.

  • Unification and developing for a new mechanism of the program starting from the program-manager of projects OpenSCADA. The mechanism will possible be expanded by its moving to the module UI.QTStarter, in way of adaption to the platform “Android”.

  • Data sources of the network type have moved to preferable implementation as a procedure of the internal environment OpenSCADA from a standalone module of OpenSCADA, for low and middle complexity of the protocols. Currently there have implemented support for next hardware and functions by the conception of user protocol:

    • Sending for SMS messages (SMS) and electronic mails (SMTP).

    • Uninterruptible Power Supply (UPS) as an object of data with attributes of values.

    • Simple sensors: Elemer TM510x; EDWARDS TURBOMOLECULAR PUMPS (SCU750); Sycon Multi Drop Protocol (SMDP); Power supply of the turbo-molecular pump (TMP-xx03); Temperature measurement IT-3 (IT3); IVE-452HS-02; OPTRIS CT/CTL; CTR 100, 101.

    • Heat counter computer VKT7.

    • IEC-60870-104.

    • Test implementations: DCON, OWEN.

    • One Wire by help {DS9097,DS9097U} (1W_{DS9097,DS9097}) for chips: DS1820, DS1820/DS18S20/DS1920, DS1822, DS2413, DS2408, DS2450, DS2438.

    • I2C: PCF8591, PCF8574, BMP180, DS3231, AT24C{32|64}.

    • GPIO: DHT11,22 (AM23XX). GPIO|I2C: 1602A(HD44780).

Into the work version there were developed new modules and significantly updated present ones:

  • The next new modules appended:

    • MMS(IEC-9506) (DAQ.MMS) — a module of support of the data acquisition with data sources by the protocol Manufacturing Message Specification (MMS, IEC-9506).

    • Comedi (DAQ.Comedi) — a module of support of the data sources in realtime (the library “Comedi”) based on data acquisition boards (DAQ) from different manufacturers which install to bus: ISA, PCI, PCMCIA and USB.

    • SMH2Gi (DAQ.SMH2Gi) — a module for implementation of access to hardware modules of data sources of PLC Segnetics SMH2Gi "MC", "MR", and also for interaction with the original environment "SMLogix".

    • Fastwel IO (DAQ.Fastwel) — a module of data exchanging with the hardware modules Fastwel IO.

    • FT3 (АПСТМ) (DAQ.FT3) — a module of data exchanging with controllers АПСТМ, АСДКУ, СУАП.

    • BCM2835 (DAQ.BCM2835) — a module of access by GPIO of the single-board PC Raspberry Pi and related ones.

  • Java-like language calculator (DAQ.JavaLikeCalc) has significantly stabilized, optimized and expanded by: storing context of execution of function, support internal functions, dynamic translation of messages and more other functions of the user programing interface in whole.

  • Logical level parameters (DAQ.LogicLev) has significantly stabilized.

  • Data sources gate (DAQ.DAQGate) has significantly stabilized and expanded by messages transmission which connected to the selected data sources.

  • OS data acquisition (DAQ.System) has significantly stabilized, some expanded by data sources: “File System”, “UPS”; and a possibility of splitting slow sources from fast ones.

  • ModBus ({DAQ,Protocol}.ModBus) has stabilized and expanded for string support as a registers sequence.

  • Client DCON (DAQ.DCON) has significantly expanded by specific modules support.

  • OPC-UA (DAQ.OPC_UA) has significantly stabilized and expanded by implementing, into the client part of the service, for publishing and for “chunks” support; the protocol specific code separated to a different library.

  • Hardware of ICP_DAS (DAQ.ICP_DAS) has significantly expanded, rewrote in fact, for support for all allowed boards of data acquisition from firm ICP_DAS for series I8k, I-87k, on bus ISA and unified types for standard modules of the series I7k.

  • Siemens S7 ПЛК (DAQ.Siemens) has significantly stabilized and expanded by ISO-TSAP self implementing.

  • Diamond boards of the data acquisition (DAQ.DiamondBoards) have significant expanded, rewrote in fact, for support all allowed boards of the data acquisition from firm Diamond Systems.

  • AMR devices (DAQ.AMRDevs) have expanded by support, one implemented fully, Kontar counter (МЗТА).

  • All DB modules have significantly stabilized, their productivity are rose and expanded by the dynamic translation mode and the pre-loading mode of the seek request.

  • The archivator to DB (Archive.DBArch) has significantly expanded by optimization of writing and reading DB, that is: grouped writing for several archives to a single table, reading by blocks, multiples of ten, into one request and the archives list restoring from the information into DB.

  • The archivator to FS (Archive.FSArch) has significantly stabilized and appended by absolutely limit of the archive size on disk.

  • There are significant stabilizing, performance rising and expanding by pulling mode for input transports and protocols.

  • Sockets (DAQ.Sockets) has expanded by support bus RAWCAN and diagnostic information.

  • Serial interface (Transport.Serial) has expanded by a low level bus I2C support; by special user's functions of the serial interface: “sendbreak”, “TS”, “DR”, “DCD”, “RI”; by expanded control for RTS of RS-485.

  • Security Socket Layer (Transport.SSL) expanded for support: TLSv1.1, TLSv1.2, DTLSv1.

  • The Self System Protocol (Protocol.SelfSystem) has stabilized and expanded by hierarchical and multilevel direction for requests to external hosts, diagnostic information and limits.

  • HTTP (Protocol.HTTP) has expanded by adaptivity to user interfaces, into the system dialogs.

  • System configurator Qt (UI.QTCfg) has significantly stabilized and expanded by asynchronous requests to the control interface of OpenSCADA, improved implementation of the control elements.

  • Dynamic WEB configurator (UI.WebCfgD) has expanded by a new design with using CSS3 and features of modern WEB-browsers.

  • Conception and engine of the environment of visualization and control have significantly stabilized and expanded for support specific to the visualizer attributes of widget, for implementation a new-flexible mechanism of users notification, for diagnostic of execution, for background (into a different thread) execution task of documents forming, for trends number increasing into one cadre up to 100.

  • Operation user interface Qt (UI.Vision) has significant stabilized and expanded to work into network, through server of visualization; to implement group of attributes specific to the visualizer; to implement views “Tree”, “Table” and to expand view “Button” of primitive “Form Elements”; to implement view “XY” of primitive “Diagram”; to significant re-factor code of primitive “Elementary figure”.

  • Operation user interface Web (UI.WebVision) has significant stabilized, optimized and expanded by using CSS3 and features of modern browsers, in particular: sensibility of the interface increased, scaling to the allowed space of the window of browser added, all primitives of the interface implemented (going now).

  • Functions library of system API of user level programming (Special.FLibSYS) has stabilized and expanded for some functions and objects: “floatExtract”, “md5”, “tmSleep”, об'єкт “IO”; the present functions and objects significantly expanded for: “dbReqSQL”, “FFT”, “strParse”, “strDec4Bin”.

Conclusion

The integrated and dynamic SCADA-system OpenSCADA is advanced, ready to using into the complex industrial conditions to perform full spectrum of tasks of automation control of the technological processes and automation in general.

In fact OpenSCADA currently is a system for working in realtime with the dynamic data, and its development directed by the author to finish the release conditions and same the new stable version 0.9 LTS releasing on the background of the common activity of the targeting stabilization, supporting and extension.

The actual achievements and solutions of the project OpenSCADA have performed on the program platform Linux and the hardware platforms x86_32, x86_64, ARM. But in the process of approximation to the version 0.9 LTS there are performing now work to expand the project's features to its adaption for work on other platforms, through the Web-interfaces raising to a level of the high readiness and stability and adaption to work on the program platform Android also.


4395