Open source software in control systems

Posted date 21/12/2015

The applications forming a SCADA or DCS system are usually integrated within the same software package, which includes applications to create the HMI, the SCADA server, data history, etc. These applications are installed individually and separately depending on the needs of the system and the determining factors imposed by the developer.

Historically, these software packages were supplied by just one developer in each facility, which worked exclusively for industrial environments, on many occasions creating custom solutions for specific environments. These major software package vendors include Wonderware, Telvent, Honeywell, Siemens, etc.

The trend is towards implementing open source software in corporate systems and in homes, particularly due to saving costs and the support provided by the developers of communities, which are usually more active when participating in the development of a project. This trend has also been transferred to control systems, although with a certain delay.

The main characteristic of open source is that it is not patented and is based on licences such as GPL, AGPL, Copyleft, etc., which grants permission to run, copy, distribute, study, and modify the software and even redistribute it once modified. Open source software should not be confused with freeware, although there is often a convergence of the two terms. The earnings of open source software developers comes from donations and the associated services that they provide, such as installation, personalisation or technical support.

Iniciativa Open Source

-Open Source initiative-

The objective of the open source software initiative is to encourage development and collaboration between developers within communities. All of them may freely develop and will possess access to all advances made, being able to modify them to improve projects.

Operating systems

The operating systems necessary for installation of the applications forming the SCADA or DCS systems were always owners, in many cases using Windows systems, but also others such as AIX, HP-UX, etc. The main reason for using these operating systems was the backing of a major company (Microsoft, IBM, HP, etc.) and the possibility of having support at any time in the event of an incident.

These operating systems continue to be used nowadays, particularly by the main control software developers, but free operating systems such as Linux (in several of its distributions) or Solaris are also starting to be borne in mind by some developers.

There are three main reasons for supporting SCADA systems and DCS on free operating systems (principally Linux):

  • Security: Windows, due to its extensive distribution, is a main target for attacks. Although, to a lesser extent, Linux systems also receive attacks, and it is therefore important to not forget to correctly configure them.
  • Stability and reliability: Although in this regard Windows has improved noticeably in its latest versions, the stability of Linux systems, and their better management of updates generally without the need for restarts contributes to achieving greater availability. This reason, linked to the greater robustness and performance of Linux systems, strengthens the idea of their use as operating systems for improving production times, reducing breakdowns or losses of system integrity and, therefore, decreasing industry problems.
  • Lower cost: In addition to Linux being a free operating system, the costs of maintenance are lower even when support is contracted.


The applications necessary for controlling a SCADA system or DCS were, in general, owners and they required a licence to work. In most cases, the software that controlled a facility could not be chosen by the client, but rather the vendor of the devices decided which to use. This imposition also determined the operating system on which they had to function, since developers work, generally, with a single operating system for their applications.

Today, this practice continues to occur in many facilities, but in those where the devices are heterogeneous and come from different providers, the client has greater granularity and control over the applications that they decide to use, which allows them also to eliminate dependence on an operating system. The conditions and restrictions that proprietary applications imposed on control systems to a great extent limited the incorporation of new software in plants. But when dependence on a single vendor gradually decreased, new options became available with new developers dedicated exclusively to software that, bit by bit, introduced various free components into control systems.

Moreover, the global needs for information and the introduction of new devices such as smartphones or tablets within industry, have also assisted in the industrial software revolution. New technologies have allowed commercial software companies and user groups also to become interested in industrial systems.

Some examples of open source software in Industry

New developments of open source have on many occasions come from research projects, although many private companies have also developed open source products, usually limited versions of their commercial options.

Below are examples of each of the different open source software options available.


ScadaBR is a complete control system that functions in Windows operating systems (Windows XP and Windows 7), available in the open source licence (open source software) developed through a research project. The software was developed in the CERTI framework.

The software consists of the following components:

  • ScadaBR Core: Central nucleus of the SCADA system.
  • ScadaBR DA Server module: It maintains the labels of the variables and enables reading and writing of its values.
  • ScadaBR A&E module: Responsible for sending out alarms and managing events.
  • ScadaBR Historian module: Data history database.
  • ScadaBR Batch & Scripting module: Responsible for the control of sequences of commands for carrying out basic operations.

ScadaBR is fully functional software without limited versions.


IGSS FREE50 is the open source version of the SCADA IGSS V11 software created by Schneider Electric. This open source version has all of the features of the commercial version but is limited to the maximum use of 50 objects.

Logotipo del SCADA IGSS


With IGSS FREE50 projects can be created with full functionality. Some features that it has are:

  • Defining projects with a maximum of 50 objects.
  • Collecting PLC information without time limits.
  • It allows more than 70 drivers to be used for PLC.
  • It is possible to update it to the commercial version at any time.

This open source version of SCADA IGSS also includes preconfigured projects that can be used in Demo mode. This option allows us to show the capabilities of the software on various simulated environments.

IGSS FREE50 works in Windows environments.


IndigoSCADA is SCADA-DCS software for Windows and Linux platforms. It is developed principally in C/C++ language. Its main features are:

  • Use of data to generate daily/weekly/monthly management reports.
  • Graphic representation of real-time and historical data.
  • Alarm and event notification in real time.
  • Real-time databases.
  • Integrated historian and real-time database.
  • SQL editor, which allows online maintenance of historian and real-time database.
  • Multiple users with different access controls.
  • Functions with IEC 60870-5-101.
  • OPC DA 2.05, A & E 1.1, HDA 1.20, DNP 3.0, RFC 1006, Modbus.
  • Easy security copies.
  • It supports multiple HMI windows.


As a special example, a SCADA system is included below that was exclusively designed to function on mobile devices.


TeslaMultiSCADA is a SCADA for accessing production and process data developed for Android devices, using industrial protocols such as Modbus TCP (UDP), Siemens ISO / TCP and Ethernet / IP for communication.

The company provides an evaluation version that has the following restrictions:

  • More than 16 labels cannot be used in the project.
  • Projects cannot be imported.
  • There is a 60 day evaluation period.

Open source software and control systems: will the marriage last?

Although the expansion of open source software for industrial control systems has been increasing its offer notably in recent years, it would be difficult for one of these solutions to become consolidated as a definitive solution for controlling critical processes within industry. It will surely be years before we will see, for example, open source software controlling a nuclear centre or another highly critical industrial environment.