You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 26 Next »

Overview

The scada display in Delft-FEWS is used for displaying and monitoring data. The scada display shows one or more configurable schematic views that represent data values in some way. For example, to show the most recent data value of a given time series, it is possible to show just the numerical value, or to show a rectangle that varies in height depending on the data value, or to show a polygon that changes in colour when the data value crosses a certain threshold, etc. How data is represented and which data is shown can be configured in the scada display configuration file. The scada display is dynamically updated whenever new data becomes available in the system or whenever data is changed (e.g. in the time series editor). The scada display is comparable to the main map display, only the scada display does not and cannot refer to any geographical coordinate system. Furthermore the scada display can be used to show text and figures as well as objects that represent data values.

Please note that the scada display in Delft-FEWS is only used for displaying data, it does not implement all features that could be expected from a SCADA (Supervisory Control And Data Acquisition) system.

Contents

Configuration

The scada display shows one or more scada panels, which can be selected in turn from the list on the left hand side. It is also possible to have multiple scada displays, each one with different panels. In that case there would be one configuration file for each different scada display, each one with a different filename. The filename of each scada display should be registered in the DisplayInstanceDescriptors.xml configuration file. When available on the file system, the name of the xml file for configuring a scada display is for example "ScadaTwentekanalen.xml". To register a scada display in the DisplayInstanceDescriptors configuration file use e.g. the following xml code:

<displayInstanceDescriptor id="ScadaTwentekanalen">
    <description>Scada Display Twentekanalen</description>
    <displayId>ScadaDisplay</displayId>
</displayInstanceDescriptor>

Furthermore the displayId that is used in the DisplayInstanceDescriptors.xml file should be defined in the DisplayDescriptors.xml configuration file. This can be done with e.g. the following xml code:

<displayDescriptor id="ScadaDisplay">
    <className>nl.wldelft.fews.gui.plugin.scada.ScadaDisplay</className>
</displayDescriptor>

To be able to open a scada display from the user interface, there should be an explorer task for it in the Explorer.xml configuration file. The xml code for a scada display explorer task is for example:

<explorerTask name="Twentekanalen">
    <arguments>ScadaTwentekanalen</arguments>
    <taskClass>nl.wldelft.fews.gui.plugin.scada.ScadaDisplay</taskClass>
    <toolbarTask>true</toolbarTask>
    <menubarTask>true</menubarTask>
</explorerTask>

Example Configuration files:

ScadaTwentekanalen.xml

Example of a scada display configuration file

Twentekanalen_10min.svg

Example of an svg file, which is used in the ScadaTwentekanalen.xml example configuration file

Scada Display Configuration Options

Below is an overview of the options that are available in the scada display xml schema. All configuration options are also documented in the annotations in the scada display xml schema. To get the most up to date information about the available configuration options and their documentation in the annotations, please consult the scada display xml schema, which is available here.


Scada display configuration elements

displayName

Title of this display.

showTimeNavigatorToolbar

Option to show a time navigator toolbar at the top of this scada display. The time navigator toolbar can be used to select the display time for this scada display. It is only possible to select a display time that is contained within the configured relative period and is a valid time according to the cardinal time step (which is configured in the explorer.xml configuration file, see FEWS Explorer Configuration). This period is always relative to the current system time. If the current system time changes, then the display time is reset to the current system time. If this option is not specified, then time navigator toolbar is not shown.

dateFormat

Definitions of dateFormats that can be used for formatting dates and times in tags in texts of svg objects.

numberFormat

Definitions of numberFormats that can be used for formatting numbers in tags in texts of svg objects.

variable

Definitions of variables that can be used as input and/or output for the components in the scada display. A variable is always a time series. Alternatively variable definitions can be embedded in the configuration below.

scadaPanel

One or more definitions of scada panels. In the user interface each scada panel will be available from the list in this scada display.

Time Navigator Toolbar Configuration Options


Time navigator toolbar configuration elements

timeNavigatorRelativePeriod

This is the period of the time navigator toolbar (slider) in this scada display. The time navigator toolbar can be used to select the display time for this scada display. It is only possible to select a display time that is contained within this period and is a valid time according to the cardinal time step (which is configured in the explorer.xml configuration file, see FEWS Explorer Configuration). This period is always relative to the current system time. If the current system time changes, then the display time is reset to the current system time. The start and end of the period are both included.

movieFrameDurationMillis

The duration of a frame when the time navigator is animating. This is the number of milliseconds a frame/time step is visible before the next time step becomes visible. If this option is not specified, then 200 milliseconds is used by default. When the CPU is too slow to display the specified frame rate, a frame will be displayed longer than specified.

Scada Panel Configuration Options


Scada panel configuration elements

id

Identifier of this scada panel.

name

The name of this scada panel as it is displayed in the user interface. If not specified, then id is used as name.

svgFile

The name of an svg (Scalable Vector Graphics) file in the ReportImageFiles directory. This scada panel shows all svg objects that are defined in the specified svg file. The svg objects in the svg file can be given special behaviour and/or properties using the configuration below. See http://www.w3.org/TR/SVG11/ for the SVG 1.1 specification.

nodeId

Optional. Identifier that refers to a node in the topology configuration file. If specified, then the referenced topology node will be selected when this scadaPanel is selected in the user interface. When the topology node is selected, then that may cause other things to be selected as well, like e.g. the displayGroup in the TimeSeriesDisplay that corresponds to that node.

textComponentBehaviourDefinition

One or more items to define special behaviour and/or properties for components in this scada panel. Each item refers to an svg object that is defined in the given svg file. Each item also contains definitions of behaviour and/or properties for that object. This way it is possible to e.g. replace tags in the text of a text object with certain values from a certain time series, or to define what should happen when the user clicks on a certain component.

Definition of special behaviour and/or properties for a text component in this scada panel. This refers to an svg object of type "text" that is defined in the given svg file. This contains definitions of behaviour and/or properties for that svg object. An svg object of type "text" can be a "text", "tspan", "tref", "textPath" or "altGlyph" element.

shapeComponentBehaviourDefinition

One or more items to define special behaviour and/or properties for components in this scada panel. Each item refers to an svg object that is defined in the given svg file. Each item also contains definitions of behaviour and/or properties for that object. This way it is possible to e.g. replace tags in the text of a text object with certain values from a certain time series, or to define what should happen when the user clicks on a certain component.

Definition of special behaviour and/or properties for a shape component in this scada panel. This refers to an svg object of type "shape" that is defined in the given svg file. This contains definitions of behaviour and/or properties for that svg object. An svg object of type "shape" can be a "path", "rect", "circle", "ellipse", "line", "polyline" or "polygon" element.

svgObjectId

The id of the object in the svg file for which this item defines special behaviour and/or properties.

leftSingleClickAction

Action that is triggered when the user clicks once on this object with the left mouse button.

leftDoubleClickAction

Action that is triggered when the user double clicks on this object with the left mouse button.

linkPropertiesToData

Optional. Contains options to link properties of this component to actual data values. For example the height of the component can be changed depending on the data values of a specified variable.

useThresholdWarningLevelColors

Optional. If specified, then the data for the specified variable within the specified relative view period is used to determine threshold crossings. For crossed thresholds, warningLevels are activated. The color of the most severe activated warningLevel is used as the fill and/or stroke color for the component, as specified.

toolTip

Optional. If specified, then a toolTip with the specified text is displayed for this component.

replaceTags

If specified, then the tags in the text of this component are replaced using data from the specified variable. Tags should be separated by "%" signs. Text can be e.g. "Last value = %LASTVALUE(numberFormatId)%", which would be replaced by e.g. "Last value = 10.0". The following tags can be used in the text (numberFormatId/dateFormatId should be replaced by the id of a numberFormat/dateFormat that is defined at the start of this configuration file). %MAXVALUE(numberFormatId)% is replaced by the maximum reliable or doubtful value in the time series. %MINVALUE(numberFormatId)% is replaced by the minimum reliable or doubtful value in the time series. %LASTVALUE(numberFormatId)% is replaced by the most recent reliable or doubtful value in the time series. %LASTVALUETIME(dateFormatId)% is replaced by the date and time of the most recent reliable or doubtful value in the time series. %STARTTIME(dateFormatId)% is replaced by the start date and time of the relative view period of the time series. %ENDTIME(dateFormatId)% is replaced by the end date and time of the relative view period of the time series.

Left Single Click Action Configuration Options

Work in progress

Left Double Click Action Configuration Options

Work in progress

Link Properties To Data Configuration Options

Work in progress

Use Threshold Warning Level Colors Configuration Options

Work in progress

Tooltip Configuration Options

Work in progress

Replace Tags Configuration Options

Work in progress

Tips And Tricks

Controlling the resizing behaviour of an svg document within the scada display

In an svg file in the root element use the following attributes to control its resizing behaviour: width, height, viewBox, preserveAspectRatio.

  • If only width and height present, then the svg document gets an absolute size, appears in the top-left corner of the display and is never resized (not even when the display window is resized). This means it can be cut-off when the display window is too small.
  • If only viewBox and preserveAspectRatio are present, then the viewBox determines the rectangular region of the svg document that is drawn in the display window (the coordinates for the viewBox edges are the same as the coordinate system used within the svg file, usually the coordinates are in pixels). The preserveAspectRatio determines how the drawn region is sized and aligned within the display window. In this case the svg document is automatically resized when the display window is resized.

Examples:

Resizing attributes in the svg root element

Resizing behaviour

 viewBox="0 0 400 400" preserveAspectRatio="xMidYMid meet" 

The svg document is scaled to fit the display window and the aspect ratio is preserved.

 viewBox="0 0 400 400" preserveAspectRatio="none" 

The svg document is scaled and stretched to fill the window (aspect ratio is not preserved).

 width="1200" height="700" 

Only the region with coordinates 0 <= x <= 1200 and 0 <= y <= 700 pixels is shown. The svg document is not resized when the display window is resized.

Aligning text within svg text objects

By default text in an svg text object is left-aligned and the x and y coordinates of the object denote the upper-left corner of the object. To right-align text in an svg text object, add the following attribute to the text element:

 text-anchor="end" 

The entire element would then e.g. be:

 <text id="Delft" x="757.48602" y="308.03317" style="fill:#000099" text-anchor="end">%LASTVALUE(numberFormat1)% meter</text> 

When an object is right-aligned, then the x and y coordinates of the object denote the upper-right corner of the object. The attribute text-anchor can also have the values "start" or "middle". To create multiple pieces of text with different alignments, use separate text objects.

When using right-alignment, the decimal separator for number values can be aligned by using the following number format:

 {0,number,#.00} 

Here "#" means one or more decimals before the decimal separator and ".00" means that always two decimal places are shown (number is either rounded or padded with zero's).

  • No labels