Scada-LTS - Open-Source Supervisory Control And Data Acquisition - http://www.scada-lts.com Copyright (C) 2012 - Scada-LTS All rights reserved. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Below is a general overview of how this application works, and design concepts that users should know. Helpful
details can be found throughout the application using contextual help, indicated by the help icon
(). Click on this icon wherever it appears to get more information on the feature you are
using.
Functionality in this application is primarily accessed using the controls in the header. Depending on the permissions granted to your user account, you will see various icons underneath the application logo. When you hover over these icons with your mouse, you will see an overlay message with a short description of what the icon is for.
Beside the header controls at the right-hand side of the header is the username of the user who is currently logged in.
When your application has an active alarm, you will see a flashing flag icon ()
and an associated description near the center of the header area. The colour of the icon will indicate the severity
of the alarm:
You can click on the icon or the description to go to the list of active alarms.
There are five supported data types:
Data sources are fundamental to the operation of this application. A data source is a "place" from which data is received. Virtually anything can be a data source, insofar as the communications protocol is supported by the application. Here are some examples:
Data values that are received or collected by a data source are stored within data points.
A data point is a collection of associated historical values. For example, a particular point might be a temperature reading from a room, while another point could be the humidity reading from the same room. Points can also be control values, such as a switch to turn a piece of equipment on or off.
There are many attributes that are used to control the behaviour of points. Primarily, there is the concept of a point locator. Locators are used by data source to determine how to "find" the data for the particular point. For instance, a SQL data source has attributes including where to find the database instance; point locators for the data source indicate the table and field names with which to find specific values. The logical separation of data source and data point attributes depends on the communication protocol in question.
Data points attributes also determine many other aspects of the point, such as its name, how it should be logged (all data, changes in value only, or not at all), how long to keep logged data, how to format values for display, and how to chart values.
You can also configure data points with event detectors, which are used to detect conditions of interest in the point's values (eg. value has been too high for too long, is too low, changes too often, doesn't change at all, etc).
Points can be arranged into a hierarchy, or tree, to simplify management and display by using the Point Hierarchy functionality.
Monitoring of points within the system can be done in two ways. You can use the watch list to dynamically create tabular lists of points including their values, last update times, and charts of historical information (if the point is configured to support this). Values and charts are updated in real time without having to refresh your browser window. Charts of multiple points can also be displayed on demand.
You can also create graphical views of points using drag and drop functionality to position graphical representations of points on an arbitrary background image. Animated images can be used to create highly dynamic visualization of system behaviour, and, like the watch lists, values are updated in real time without a browser refresh. These views can subsequently be marked as "public", so that they can be reused on public web sites.
Control of external systems can also be acheived for points that can be set (aka writable or output). A settable point can be set to a user-defined value, such as a thermostat setting or equipment control switch. Both watch lists and graphical views provide simple means by which to input a value to set. The point locator for the settable point determines how the data source sets the value within the external equipment.
An event is the occurance of a defined condition within the system. Both system-defined and user-defined events are available. System-defined events include data source operation errors, user logins, and system startup/shutdown. User-defined events include point event detectors (see "event detectors" above), scheduled events, and compound events which detect conditions over multiple points using logical statements. There are also "audit events", which are raised when users make changes (additions, modifications, deletions) to runtime-affecting objects including data sources, data points, point event detectors, scheduled events, compound event detectors, and event handlers.
Once an event has been detected, it is acted upon by handlers. An event handler is a user-defined behaviour that is to be performed upon the raising of a particular event, such as sending an email or setting the value of a settable point.
Scada-LTS can play sounds when alarms are active. By default, alarm sounds are played for urgent, critical, and life safety alarms (i.e. not for information alarms), but sounds for each alarm type can be controlled individually. To enable particular alarm sounds, valid mp3 files must exist at the following locations:
To disable a sound, remove the associated sound file. A library of sounds can be found in the <mango_home>/audio/lib folder.
Scada-LTS ships with a small graphics library which can be found in the <mango_home>/graphics folder. Each sub-folder represents an image set. The contents of the sub-folder include all of the images in the image set, as well as an optional properties file called info.txt. (Examples can be found in the graphics directories that ship with Scada-LTS.) This property file contains name/value pairs with the following names (all of which are optional):
Once you are using an image set in your views do not rename its folder! The folder name is used internally as the identifier of the image set.
Image files are sorted alphabetically by name. Names are case sensitive. Name/value pairs are separated with '='. Lines beginning with '#' are considered comments. 'Thumbs.db' files are ignored. Archive files (zip, gz, tar, etc) cannot be used since the images files have to be accessible to the web server. Image sets are loaded upon system startup, so any changes require a restart.
To have future versions of Scada-LTS ship with your preferred graphics, please contribute them to Serotonin Software. Please support open source software.
Public mango views can be accessed from other web sites by simply putting an iframe into your pages. For example, the Mango home page uses the following code to display a small thermostat view:
<div style="position:relative;width:80px;height:150px"> <iframe frameBorder="0" style="position:absolute;width:450px;height:300px" scrolling="no" allowTransparency="true" src="http://mango.serotoninsoftware.com/test/public_view.htm?viewId=3"></iframe> </div>
Absolute positioning and transparency is used to allow the display of charts and component controls without scrolling or HTML adjustment, but is optional. The 'viewId' parameter is the internally generated id of the view to be displayed, but can be substituted with the 'viewName' parameter and the view's name as the value. (However, do not subsequently alter the name of the view without updating this reference.)
Custom views are publically accessible views that are written by the user, using a JSP tag library to easily add components. For more information see the example in customViewExample.jsp.
The Scada-LTS currently supports two database management systems Database: Derby and MySQL. The file Scada-LTS.war comes configured with the default Derby for reasons of ease to the user, because it runs and does not require embedded DBMS installation or configuration parameters such as login and password.
To change the database, go to System Settings and choose the database of your choice in Database Configuration.