Difference between revisions of "EclipseSCADA/Installation/Ubuntu"
|Line 234:||Line 234:|
Revision as of 10:12, 21 May 2014
- 1 Preface
- 2 Pre-Requistes
- 3 Configuration Steps
- 4 Installation Steps
- 5 Basic Maintenance
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.
The following pre-requisites must be met before beginning the installation.
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.
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.
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.
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.
This document describes installing version 0.1.0-M3. Installing any other 0.1.0 (or even 0.1.0+) version should be possible the same way, but will have different version numbers in the package names.
Install the base packages
You can choose between the following two variants:
APT based installation
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.1.0/apt/ 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.
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 following base packages:
Install these packages usingt he "apt-get" command:
sudo apt-get install package1.deb package2.deb package3.deb …
Packages can also be installed using the command "dpkg -i package1.deb …" but in this case dependencies will not get installed automatically.
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 apt-get install "node1-configuration_0.0.1_all.deb"
It is also possible to install it using the "dpkg" tool ("dpkg -i node1*.deb"). In this case however the dependencies are not directly installed. Instead the installation of the package fails and the required dependencies have to be installed manually until the package can be configured and therefore used.
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:
Where "name" is the name of the application. Common names are:
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.
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:
or (if you are not "root"):
sudo start scada.driver.exec
Stopping would be:
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.
All log files are located under:
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:
This will send the console back to the background but keeps the application running.
The following things should be considered data for backing up.
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:
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/Installation/APT – for a short version of this document