Jump to: navigation, search

EclipseSCADA/Installation/Ubuntu

Preface

Eclipse SCADA can be installed in various ways. The way described here is the used by the configuration system. Using additional plugins to the standard Eclipse IDE some functionality is added to allow configuring an Eclipse SCADA system using the Eclipse IDE.

The configuration system can also be used to created ".deb" files, which are package files used by the Debian/Ubuntu system. These packages will contain all the dependencies to the common Eclipse SCADA packages as well a dependencies to other packages required. Ideally all required packages are referenced and installed during the installation phase, also handling updates.

So the way described here requires you to:

  • Install an Eclipse IDE and install the Eclispse SCADA configuration system
  • Create a new Eclipse SCADA configuration project
  • Generate the installation artifacts
  • Setup a new machine that should run the Eclipse SCADA components
  • Install the installation artifacts
  • Check that everything is running

This document focuses on already created installation artifacts and the specifics of an Ubuntu installation.

Pre-Requistes

The following pre-requisites must be met before beginning the installation.

Hardware

You should have at least 4 GB of RAM and about 20 GB disc space. But this is only a brief estimate. Different deployment scenarios can require more or less resources.

Ubuntu Version

Eclipse SCADA can be installed on Ubuntu 12.04LTS (32 ot 64bit). Other Ubuntu versions might work as well but are not tested.

Other versions of Linux/Unix are supported as well, but not described in this document.

Java

Eclipse SCADA requires Java 7 (1.7) to be installed. It is tested with the Oracle VM (Hotspot) and the OpenJDK version. It is recommended to use the OpenJDK version since it already is integrated into the Ubuntu system.

Note that on a 64bit system also a 64bit version of Java has to be used. By default the OpenJDK version coming with Ubuntu is already the correct version.

During the installation of the packages created by the Eclipse SCADA configuration system the "default" version of the JRE 7 (headless) will be installed using the virtual package "java7-runtime-headless". This defaults to the OpenJDK 7 coming from Ubuntu. If you are ok with this choice there is no need to install Java before installing Eclipse SCADA since it will be installed as a dependency. Otherwise you can install your favorite Java Version providing this virtual package instead. In this case you must do this before or during the installation of the Eclipse SCADA packages.

Configuration Steps

During the configuration it is necessary to add the "Debian Deployment Mechanism" to the target node where this functionality should be installed. This will let the configuration system create the required debian packages files for this node. This requires setting a maintainer persion and creating at least one change entry. The best practice is to create a new change entry for each important change in the configuration regarding this node.

Installation Steps

This document describes installing version 0.2. Installing any other 0.2.x version should be possible the same way, but will have different version numbers in the package names.

Install the base packages

The following steps will add the necessary repositories.

Add the file: /etc/apt/sources.d/eclipse-scada.list

deb http://download.eclipse.org/eclipsescada/repos/release/0.3/apt/ default main

(To get a faster download speed use one of the Eclipse Mirrors, e.g.: https://ftp-stud.hs-esslingen.de/Mirrors/eclipse/eclipsescada/repos/release/0.3/apt/)

If you like to add stuff from openSCADA as well, add the following line in addition:

 deb http://thedrone.packagedrone.org/apt/openscada-1.4/ default main

And by executing:

sudo add-apt-repository ppa:eclipsescada/ppa

The second repository is hosted by Ubuntu launchpad. It is hosting one minor application of Eclipse SCADA, the ICMP Ping Tool. You will only need it if you want to monitor hosts using ICMP Echo/Echo Reply. Since the build environment of Ubuntu Launchpad is perfect for Ubuntu (who wonders), we build this one here. 10 different architectures with a single project.

If you want to use the upcoming Eclipse SCADA 0.4 release, you can use the nightly by switching to the following repository:

deb http://download.eclipse.org/eclipsescada/repos/nightly/0.4/apt/ default main

Update your package cache afterwards:

sudo apt-get update

Since you got all packages available by adding the repositories, there is no need to directly install a package. The dependencies of the configuration packages will trigger that.

Also see: EclipseSCADA/Installation/APT

Install the tool "gdebi" which is provided on Ubuntu by the package "gdebi-core".

sudo apt-get install gdebi-core

This programs lets you install a local ".deb" package including dependencies from apt.

gdebi node-configuration.deb

If you cannot use "gdebi" then you can replace calls to "gdebi" with:

sudo dpkg -i package.deb   # first install the package
sudo apt-get install -f    # then install all missing dependencies from apt

Installation of the configuration artifacts

The created ".deb" file is copied to the target node (e.g. using sfp or scp) and then installed on the target machine using the "apt-get" tool.

sudo gdebi "node1-configuration_0.0.1_all.deb"
Note.png
Without gdebi
See above for an alternative


Creation of Equinox based applications

There are two types of applications, plain Java and Equinox (OSGi) based applications. OSGi based applications are more like a small container application which is extended by modules during runtime. This is why their setup is a bit more complex than the plain Java applications. It can be compared to setting up a Java Application Server instance.

All applications must be created using the following command as "root" user:

scada.create.<name>

Where "name" is the name of the application. Common names are:

scada.create.master
scada.create.hdserver

Which applications are available in your setup can be lookup up in your configuration.

Note that these applications are not setup up automatically. Also will they not be updated when you install a newer version of Eclipse SCADA.

Starting of applications

Drivers will automatically be started once they are installed. Equinox applications are registered to be started automatically but are not started directly after the installation. See #Basic_Maintenance.

Applying configuration for OSGi based applications

Most OSGi based applications of Eclipse SCADA use a configuration system which holds the configuration of the application in a file based or database based persistent storage. This may be all the items configured for this applications, or the setup to some devices. This configuration system allows for updates during runtime in a highly modular system. During the creation of the application a "bootstrap" file is provided which was also generated by the configuration system. If the application detects that no persistent storage is present, it creates the storage and fills it with the content of the bootstrap configuration file. However, updating the application will not erase this file and therefore will update the configuration. This is important since the configuration contains also data that is changed during the runtime of the system.

So instead the configuration must be updated manually using the Eclipse SCADA Administrative Client.

Also note that when deleting the persistent storage and re-starting the application will bring back the content of the bootstrap file originally installed with the configuration ".deb" file.

Basic Maintenance

Users

The Eclipse SCADA system will create a user "eclipsescada" with a disabled password during the installation of the package "org.eclipse.scada".

The disabled password means that the user cannot be used for username/password based logon locally or remote. You can assign a password or use SSH key based login from remote instead.

Note that uninstalling the core package "org.eclipse.scada" will also delete the user and all its contents, including applications and configuration data.

Starting and stopping

Eclipse SCADA uses the Upstart system on Ubuntu based systems. The important commands are "stop", "start" and "restart". All commands must be executes with "root" permissions.

For more information about upstart see the Getting Started document of Upstart.

Starting and stopping a plain Java driver application

All "upstart" services names of plain java drivers have the prefix "scada.driver.". Starting the "exec" driver for example would be:

start scada.driver.exec 

or (if you are not "root"):

sudo start scada.driver.exec

Stopping would be:

stop scada.driver.exec

Automatic restart

Applications will be restarted automatically by the upstart system if the exit. However issuing the command "stop" will also stop upstart from automatically restarting the application. The application will be stopped and not restarted anymore until the command "start" is issued.

Log files

All log files are located under:

/var/log/eclipsescada

Only the user "eclipsescada" has permissions to this directory since log files could contains sensitive information.

Log files are truncated after a while (depending your configuration). So they will not grow unlimited but also will not be available forever.

Attaching to the OSGi console

All Equinox (OSGi) based applications are run with a command console in the background. The user "eclipsescada" and the user "root" is allowed to attach to that console during runtime. In order to do so you will need to use the command "screen". The command for attaching to the "master" application is:

screen -r eclipsescada/master

Closing the console will also exit the application. So issuing the command "exit", "close" or "shutdown" is probably not what you want. In order to disconnect from that console you will need to press the following key combination:

CTRL-A CTRL-D

This will send the console back to the background but keeps the application running.

Backup

The following things should be considered data for backing up.

Configuration data

Although configuration data can be restored through the configuration process it might be that changes were made during runtime (like manual overrides).

File base storage

For the file based storage all configuration data is located at:

~eclipsescada/.eclipse.scada/ca.*

Alarm and Event data

Alarms and events data is stored in a local database. So backing up this data depends on which database was chosen during the configuration phase.

Value archive data

If the HDS based value archive server is used (standard "hdserver" setup) then the archive data will be located at:

~eclipsescada/hds.master

See also