Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note

Note when using of transformations in the Schematic Status Display, it is only supported to have outputVariables of the transformation output of timeSeriesType temporary. Though other transformation functions may function, it is only the UserSimple function that is supported.

Contents

Table of Contents

Configuration

The schematic status display shows one or more status panels, which can be selected in turn from the list on the left hand side. It is also possible to have multiple schematic status displays, each one with different panels. In that case there would be one configuration file for each different schematic status display, each one with a different filename. The filename of each schematic status 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 schematic status display is for example "StatusTwentekanalen.xml". To register a schematic status display in the DisplayInstanceDescriptors configuration file use e.g. the following xml code:

Code Block
xml
xml

<displayInstanceDescriptor id="StatusTwentekanalen">
    <description>Schematic Status 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:

Code Block
xml
xml

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

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

Code Block
xml
xml

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

...

The x coordinate of the anchor point. The rotation will be around the anchor point. This x coordinate has to be specified in the user space coordinate system of the svg object for this component in the svg file. The user space coordinate system is determined by all transforms that are specified in the parent svg objects of the svg object for this component. All transforms that are specified in the svg object itself are not part of the user space coordinate system and thus should be taken into account in the coordinates that are specified here. E.g. to rotate a "rect" svg object with attributes width="200" height="200" x="500" y="300" transform="translate(50 0)" around its center, use anchorPoint coordinates (x, y) = (650, 400). See also Determining the rotation anchor point for an SVG object in user space coordinates 15 Schematic Status Display (formerly Scada Display).

anchorPointY

The y coordinate of the anchor point. The rotation will be around the anchor point. This y coordinate has to be specified in the user space coordinate system of the svg object for this component in the svg file. The user space coordinate system is determined by all transforms that are specified in the parent svg objects of the svg object for this component. All transforms that are specified in the svg object itself are not part of the user space coordinate system and thus should be taken into account in the coordinates that are specified here. E.g. to rotate a "rect" svg object with attributes width="200" height="200" x="500" y="300" transform="translate(50 0)" around its center, use anchorPoint coordinates (x, y) = (650, 400). See also Determining the rotation anchor point for an SVG object in user space coordinates 15 Schematic Status Display (formerly Scada Display).

Use Threshold Warning Level Colors Configuration Options

...

%CURRENTTIME(dateFormatId)%

the Delft FEWS time.

%STARTTIME(dateFormatId)%

the start date and time of the relative view period of the time series.

%ENDTIME(dateFormatId)%

the end date and time of the relative view period of the time series.

%LASTVALUE(numberFormatId)%

the most recent reliable or doubtful value in the time series.

%LASTVALUETIME(dateFormatId)%

the date and time of the most recent reliable or doubtful value in the time series.

%MINVALUE(numberFormatId)%

the minimum reliable or doubtful value in the time series.

%MAXVALUE(numberFormatId)%

the maximum reliable or doubtful value in the time series.

%EXTERNALFORECASTINGSTARTTIME(dateFormatId)%

the start of the external forecast.

%MAXTIME(dateFormatId)%

the date/time of maximum value found in the time series (occurrence closest to T0).

%MINTIME(dateFormatId)%

the date/time of minimum value found in the time series (occurrence closest to T0).

%TIMEZERO(dateFormatId)%

in case of forecast data the forecast time, otherwise timezero.

%MAXWARNINGLEVEL(thresholdId)%

name of the highest warning level threshold that has been crossed (requires an available thresholdValueSet)

%LOCATIONATTRIBUTE(attribute;<numberFormat>)%

attribute to put in text. the numberFormat is intended for number attributes.
variable

The data from this variable is used to replace the tags in the text in the svg object that this component refers to. If for a given tag the required data is not available, then that tag is replaced by a dash symbol "-".

...

NB. It is required that the timeSeriesType of output variables are set to temporary.
This sample will allow the variable with variableId Observation_minus_correction to be displayed on a scadaPanel. This variable refers to a temporary timeseries that will be updated on-the-fly with the difference between the two other variables Observation and Correction.

Code Block
xml
xml

	<variable>
		<variableId>Observation</variableId>
		<timeSeriesSet>
			<moduleInstanceId>Afgeleide_Twentekanalen</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>H.meting</parameterId>
			<locationSetId>Hydro_LMW_TK_H</locationSetId>
			<timeSeriesType>external historical</timeSeriesType>
			<timeStep unit="hour"/>
			<relativeViewPeriod unit="hour" start="-1" end="0"/>
			<readWriteMode>read only</readWriteMode>
		</timeSeriesSet>
	</variable>
	<variable>
		<variableId>Correction</variableId>
		<timeSeriesSet>
			<moduleInstanceId>Afgeleide_Twentekanalen</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>H.meting</parameterId>
			<locationSetId>Hydro_LMW_TK_H</locationSetId>
			<timeSeriesType>external historical</timeSeriesType>
			<timeStep unit="hour"/>
			<relativeViewPeriod unit="hour" start="-1" end="0"/>
			<readWriteMode>read only</readWriteMode>
		</timeSeriesSet>
	</variable>
	<variable>
		<variableId>Observation_minus_correction</variableId>
		<timeSeriesSet>
			<moduleInstanceId>Afgeleide_Twentekanalen</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>H.meting</parameterId>
			<locationSetId>Hydro_LMW_TK_H</locationSetId>
			<timeSeriesType>temporary</timeSeriesType>
			<timeStep unit="hour"/>
			<relativeViewPeriod unit="hour" start="-1" end="0"/>
			<readWriteMode>add originals</readWriteMode>
			<synchLevel>9</synchLevel>
		</timeSeriesSet>
	</variable>
	<transformation id="TransformationObservationMinusCorrection">
		<user>
			<simple>
				<expression>Observation - Correction</expression>
				<outputVariable>
					<variableId>Observation_minus_correction</variableId>
				</outputVariable>
			</simple>
		</user>
	</transformation>
...

...

  • The first possible workaround is to not use separate image files. For a schematic image it is possible to create svg elements that resemble the contents of the image. If these svg elements are added to the svg file for the schematic status display, then there is no need to use the image file anymore.
  • The second possible workaround is to use embedded images instead of separate image files. The section Embedding image files into SVG files 15 Schematic Status Display (formerly Scada Display) describes how to do this.

...