WEBfactory 2010

WFTrending3

WFTrending3 control displays data in a multi-axes graphic environment, using colored shapes for accurate data representation. It can represent both live and historical data and can use decimal, scientific and logarithmic value scales.

Capture4612.jpg
Features

The WFTrending3 control shares the following common features of the WEBfactory controls library:

It also provides the following particular features:

Run-time operations tool-bar

The WFTrending3 control allows the user to operate the control using the operations tool-bar:

  • Capture4102.jpg Pause/Run - allows the user to pause and resume the chart updates.

  • Capture4103.jpg Settings - opens the Change Settings dialog which allows the user to configure the control at run time.

  • Capture4104.jpg Load Configuration - loads an existing configuration from the database.

  • Capture4105.jpg Save Configuration - saves a configuration to the database.

  • Capture4106.jpg Import Trend Data - imports logged data from an XML file.

  • Capture4107.jpg Save Trend Data - saves the WFTrending3 data to an XML file.

  • Capture4108.jpg Print - prints the current chart.

  • Capture4109.jpg Change Time Range - allows the user to change the time range for which the data is displayed.

  • Capture4110.jpg Reset Zooming - adjusts the zoom level to normal.

  • Capture4112.jpg Dragging - enables or disables dragging. When enabled, the user is able to move the chart using the mouse cursor.

  • Capture4113.jpg Zoom - enables or disables zooming. When enabled, the user is able to zoom the chart using the mouse cursor.

Run-time settings

The base functionality of the WFTrending3 control can be adjusted using the Settings button from the option bar. Clicking the Settings button will open the Change Settings window, which contains options to customize the core elements of the WFTrending3 control.

3trending.jpg

Change Settings window in WFTrending3

Using the Change Settings dialog, the following actions can be achieved at run-time:

Managing the signals

The signal grid lists the signals from the WFTrending3 control as well as their attributes (listed in the grids columns). The scroll bar at the bottom of the grid indicates that more columns are available. Setting which columns should appear in the grid, and thus, which attributes of the signals should be listed, is made at design time. The available columns are:

  • Active – contains a check-box button toggling the shown/not shown state of the signal in the WFTrending3 control.

  • Description – lists the description of the signal, if available. The signal’s description can be set from WEBfactoryStudio for each signal.

  • Color – contains a color picker, indicating the color of the trend line, and allows the user to select a pre-defined color, or a custom color.

  • Name – displays the name of the signal.

  • Interpolation – allows the user to set the algorithm used to draw the line between points. The options are:

    • Straight line

    • Cubic Spline

    • Differential

  • Digital – marks the signal to be represented in a digital format. If a signal is marked as digital, a new digital graph will appear in the WFTrending3 control, if the “show digital chart” option is checked. The base value is the Digital Bit.

  • Inverted – inverts the digital representation of the signal. If the Digital Bit, by default the 1 state is set to a certain signal value, the inverted signal will display the signal value as 0, thus inverting the graphic representation.

  • Digital Bit – allows the user to assign a signal value that will represent the digital state of 1 in the digital graph. If the signal outputs the value stated in the Digital Bit attribute, the digital graph will display the state 1. If any other value is output by the signal, the digital graph will state 0. The Digital Bit cannot have a negative value assigned.

  • Axis – enables the user to select an axis for the signal. Signals can be represented on custom axis, depending on the values or units. The axes can be defined using the Axes button in the Change Settings window.

  • Log – displays the log name of the selected signal, if the signal has logging. Logging will enable the WFTrending3 control to fetch the data from the database, not from the signal changed event, thus being able to optimize the data acquisition speed and to display historical values.

  • Group – lists the signal group which current signal is assigned to.

  • OPC Item Name – lists the OPC item name for the current signal.

  • Unit – displays the unit of measurement for the signal value, if available.

  • Min – defines the minimum value for the signal value.

  • Max – defines the maximum value for the signal value.

  • Custom description – allows the user to input a custom description for the current signal. This attribute can improve the filtering in some cases and the visualization on the signals in the legends.

  • Minimum line – if enabled, WFTrending3 graph will draw a line, marking the lowest value of the current signal. The color can be changed using the color picker.

  • Maximum line – if enabled, WFTrending3 graph will draw a line, marking the highest value of the current signal. The color can be changed using the color picker.

  • Average Line – allows the user to enable a line that will mark the average of the values displayed by the WFTrending3 graph. There are two types of average lines:

    • Absolute – states the absolute average of the values.

    • Moving – states the real time average value for the signal.

  • Moving Average Period – allows the user to customize the period of time over which the Average Line is visible and calculated. The user can view the average value over a time-span of specified minutes, hours or days.

  • Number of decimals – allows the user to specify the number of decimals the signal value will be displayed with. If the value of this attribute is set to 0, the signal value will be displayed with all its decimals.

  • Cyclic acquisition – When Cyclic Acquisition is enabled on a signal, WFTrending3 will add a static value after each real (polled) signal value. This static value will be equal with the previous real value but will be represented on the chart's line only if a new real value is not polled within a predefined time frame, equal to 2 x PollInterval.

    If a new real value is polled withing the previously specified time frame, the static value will be removed and the chart's line will represent the difference between the two real values (previous and new) with a normal curve.

    If a new real value is polled after this time frame (2 x PollInterval) has passed, the static value will be represented on the chart's line and difference between it and the new real value will be represented by a 90 degrees angle on the chart's line, positioned exactly at the time when the new real value occurred.

    The PollInterval, used to calculate the time to wait for a real value before representing the static one, is calculated as the biggest value between the Update Rate (by default 500 ms) and the default polling interval (1 second). If the Update Rate has a value greater than the default polling interval (for example 1300 ms), it will be used as PollInterval. The PollInterval can also be adjusted by WFTrending3 in correlation with the chart's resolution. If a high density of points is requested, the PollInterval will be increased automatically in order to optimize the data polling.

Above the signals grid, the Add, Delete and Filter options are available:

  • Add – adding one or more signals. Clicking the button will open the Signal Browser, allowing the user to select and add signals to the WFTrending3 control.

Capture467.jpg

The Signal Browser window allows the selection of signals from different available servers, devices and signal groups. It allows the user to filter the available signals in three different ways:

  1. Using the Signals Filter: the left-side panel of the Signal Browser lets the user select a particular node in the signals hierarchy. The main view of the Signal Browser will display the signals available in the selected node (eg. connector) and all its hierarchical children (eg. signal groups).

  2. The Signals Filter check-boxes: in the bottom part of the Signals Filter panel, the user is able to use check-boxes to further filter the signals:

    • Show inactive signals - filters for all inactive signals from the selected hierarchical node and its children

    • Show logs - filters for all signals with logging enabled from the selected hierarchical node and its children

    • Show inactive logs - filters for signals with logging enabled but with inactive logs from the selected hierarchical node and its children

  3. Using the Signals Grid Filters: the header of the signals grid (in the main view of the Signals Browser) allows the user to perform advanced filtering for each column in the grid. Clicking on the filter symbol of any column's header will open the Column Filter panel:

Capture468.jpg

In the Column Filter panel, the user is able to quickly select the desired column values to be filtered in, or can use advanced conditioning to define the displayed rows. Using the advanced conditioning, the user can create two separate conditions and apply logical AND or OR operations between them. The available conditions are:

  • Is equal to <value>

  • Is not equal to <value>

  • Starts with <value>

  • Ends with <value>

  • Contains <value>

  • Does not contain <value>

  • Is contained in <value>

  • Is not contained in <value>

  • Is empty

  • Is not empty

  • Is less than <value>

  • Is less than or equal to <value>

  • Is greater than <value>

  • Is greater than or equal to <value>

  • Is null

  • Is not null

The <value> field (below the condition selection box) also supports case matching, for even more granular filtering.

The signals grid columns depend on the selected hierarchical node in the Signals Filter panel. For example, if the connector node is selected, the Server or Connector columns won't be available in the signals grid, as they are already filtered for by the node selection.

The Signal Browser also allows grouping of different columns. The user can simply drag a column in the gray area above the grid's header to group the signals based on the contents of that column.

Capture469.jpg
  • Delete – this option is plain forward. It deletes the selected signals.

  • Filter – the signals listed in the signal grid can be filtered by columns and values for the selected columns:

    • Column - with the options: Connector, Group, Name, Signal Description and OPC Item Name.

    • Value – for each column selected, the user can input the value for filtering. Wildcards are available.

Note that you can set filter for each column. If you want to remove the filter from one column, set the value to *.

The axes setup
Capture361.jpg

Configuring the Axes

The Axes button manages the Y axes on which the signal can be represented. Clicking the button will open the Axes Configuration dialog.

4axes.jpg

The axes can be added to the graph by clicking the Add button. The axes will be listed in the left side of the window, the right side being used for configuring the selected axes:

  • Name – the name of the axes. It will be listed in the Axis column drop down box.

  • Title – the title will be displayed in the WFTrending3 control graph. Each axis can have a representative title.

  • Color – the color of the axes. Clicking the corresponding button will open the color picker.

  • Autoscale – if enabled, the axis will modify its values according to the value of the signal/signals tied to this axis.

  • Fixed range – the axis will have a fixed value representation, using the values specified below (from… to…). If the signal value goes over or below the specified values, the trend line will be cut off the graphic.

  • Logarithmic – displays the trend line values using a logarithmic axis. A logarithmic function (ln) is applied to the signal values and based on this function, the logarithmic axis is calculated. The signal values displayed on the logarithmic axis are the initial signal values, before applying the logarithmic function. This can be useful when dealing with signals representing sound levels or earth movement.

  • Scientific – enables the scale of the axis to be represented using scientific format (3.42E + 001). This is useful when dealing with extreme signal values (either very large values or very small values, negative or positive).

  • Orientation – the axis can be placed either on the left side of the graphic or on the right side of the graphic. If no signal is assigned to a certain axes it will not be drawn on the chart.

The legend configuration
Capture363.jpg

Configuring the Legend

Allows the user to configure the legend (both analog and digital) of the WFTrending3 control. Clicking on the Legend Configuration button will open the Legend Configuration dialog.

94.png

This dialog allows the customization of the legend columns and its position

  • Description column – displays the description of the signal in the legend.

  • Name column – displays the name of the signal in the legend.

  • Group column – displays the signal group in the legend.

  • OPC Item Name column – displays the OPC item name in the legend.

  • Min column – displays the minimum value of the signal.

  • Max column - displays the maximum value of the signal.

  • Unit column – displays the unit of the signal value.

  • Log column – displays the logging info of the signal.

  • Show current values – shows the current value of the signal if no cursor is defined in the trending, or if the cursor is placed before the last updated value. If the cursor is placed in a time range where the charts has data, the current value will be the closest value to the cursor position. This happens for all the trend lines.

  • Show signal information – shows more signal information, with the ability to put different information on different lines (if more than one information is displayed on the same line, it will be split with the character ‘|’):

    • Signal name

    • Signal description

    • Show timestamp

    • Show current value

  • Legend position – allows the user to select the position of the legend in the WFTrending3 control.

The cursors configuration
Capture362.jpg

Configuring the Cursors

Manages the configuration of the graphic cursor. If clicked, the Cursor Configuration window will open.

Capture4221.jpg

Cursors can be added and deleted using the Add/Delete buttons from the bottom-left side. The main part of the window focuses on cursor customization:

  • Name – cursor name.

  • Use signal color – enables the cursor to use the signal color if it is attached to one signal.

  • Color – allows the user to set a custom color for the cursor.

  • Signal – allows the user to attach the cursor to a signal.

  • Show in legend – displays the cursor information in the legend of the WFTrending3 control.

Display information – this table consists in options that can be marked to be displayed either in the tooltip of the cursor, the label of the cursor or both:

  • Cursor Name – the name of the cursor.

  • Signal name – the name of the attached signal.

  • Description – the description of the signal, if available.

  • Group – the signal group that the attached signal belongs to.

  • OPC Item Name – the OPC item name of the attached signal.

  • Min – the minimum value of the attached signal.

  • Max – the maximum value of the attached signal.

  • Unit – the unit of measurement of the signal’s value.

  • Tag – the tag of the signal.

  • Date – the current date of the signal.

  • Time – the current timestamp of the signal.

  • CurrentValue - the current value of the signal if no cursor is defined in the trending, or if the cursor is placed before the last updated value. If the cursor is placed in a time range where the charts has data, the current value will be the closest value to the cursor position. This happens for all the trend lines.

Below the main settings, the Cursors Configuration window displays two graphical settings for the cursors:

  • Label background opacity – allows the user to set the percentage of opacity of the label.

  • Show label border – displays a border around the label.

The signal of the cursor can be changed without the need to use the configuration dialog. If a certain cursor is selected and the user clicks on a different signal in the legend, the signal for that cursor will be changed along with its color.

Digital chart
Capture364.jpg

Configuring the Axes

The digital chart options are located below the Cursors options. These settings are useful when dealing with signals marked as digital.

By enabling the Show digital chart option, a digital chard will be displayed below the main graphic in the WFTrending3 control, if we have at least one signal set as digital.

  • Digital chart height – allows the user to set the desired height for the digital chart along with the height of the digital legend.

  • Digital chart type – allows the user to choose between Area, Line and Line Fill types of digital representation of the data.

Overview

This option works when using historical data only. This means that only signal with logs will be displayed.

The Show overview option enables an overview graphic to be displayed above the main graphic, when in historical view mode. When in online mode, the overview graphic is not visible.

The overview graphic provides a quick and easy navigation through dense historical data, allowing the user to extend/move the part that the main graphic displays, or focus the main graphic view on different data.

Capture365.jpg

When the main graphic is zoomed, the overview graphic allows the user to control the data displayed in the main graphic, by moving or extending/shrinking the selection area in the overview graphic.

96.png

Controlling the selection area is made by dragging the whole selection area or dragging the left or/and right selection handles.

To move the selection area to a different location, click inside the selection area and drag it somewhere else on the overview graphic. Notice that the main graphic will update its view.

To resize the selection area, drag the left or right handles and adjust it to fit the desired portion of the overview graphic. Notice that the main graphic will update the view.

Online mode

The time range button allows the user to switch from the online mode to the historical mode. Historical mode means viewing logged data from the signals. This is why only signals that have logging can be viewed in historical mode.

Clicking on the time range button will open the Range Selection dialog.

97.png

Range Selection dialog

When online, the Range Selection dialog will display the options of viewing online data:

  • Display range – the time range of the graphic. It can be set to days, hours or minutes.

  • Start at now minus – sets the starting time of the graphic X minutes/hours/days after the normal start point.

  • Get values for last – display the historical values for the last X minutes/hours/days and continues with the online data.

Combined, these settings allow the user to see data progress so far and the current data in real time.

Historical mode

When selecting the Timespan option from the Range Selection dialog, the dropdown menu will list the options for displaying historical data.

98.png

Range Selection expanded

  • From…to - allows the user to select a time range using exact start and end points. The logged data (historical data) from that period will be displayed in the main graphic.

  • Year – allows the user to select a specific year to be displayed in the timeline of the main graphic. This option will display the logged (historical) data from the whole year.

  • Month – allows the user to select a specific month to be displayed in the timeline of the main graphic. This option will display the logged (historical) data from the whole month.

  • Week – allows the user to select a specific week to be displayed in the timeline of the main graphic. This option will display the logged (historical) data from the whole week.

  • Day – allows the user to select a specific day to be displayed in the timeline of the main graphic. This option will display the logged (historical) data from the whole day.

  • Online – the online mode.

  • Yesterday – displays the data from the day before the current day.

  • Current day – displays the data from the current day, up to the point representing the current time of selection.

Save/load configuration

Loading and saving a configuration is done using the load and save buttons from the options bar.

The configurations are written to the database, and loaded from there back. The name of the configuration is case sensitive. If the name of the configuration already exists, the new save will overwrite the old one.

If a Namespace is set in the WFTrending3 control at design time, only the configurations belonging to that namespace will be available to load from the database. Thus, a configuration is uniquely defined by its name and/or namespace.

Design-time security settings

The WFTrending3 control allows the user to setup security for each run time button individually. Each button in the options bar can be displayed or hidden, depending on the logged user.

Design-time initial configuration settings

The WFTrending3 control allows the user to setup an initial configuration that will be loaded when the applications starts. The initial configuration is saved in the database, and requires a configuration namespace to which the configuration belongs.

Design-time column configuration

The user has the ability to select which columns are active at run time by checking the mark corresponding to the desired column in the SignalConfiguration tab.

Online and offline workflow
Online workflow diagram

The diagram below explains the WFTrending3 workflow when plotting online signal values.

Capture915.jpg

Online state visual representation

  1. For each trendline, the WFTrending3 control checks to see if it is enabled. If not enabled, the process stops.

  2. If the trendline is enabled, the servers are checked. If there are no servers, the GetServers method from Action.asmx webservice is called. This method retrieves the information about all the signals form the server.

  3. When servers available, the log of the signal is checked. If the signal has no log, ReadLogSignalList method from Historical.asmx webservice is called. The ReadLogSignalList method returns the information for the verified signal.

  4. The signal is checked for logging information again. If after ReadLogSignalList the signal has logging information, the ReadTrendingLogs method from the HistoricalData.asmx webservice is called. This method returns the trend data from the logs. The AddSignalValuesToChart method is called to write the historical values to the WFTrending3 control graphic.

    If no logging information is retrieved after calling the ReadLogSignalList, the RegisterSignalChanged method from WFConnector is called. This method checks the value of the signal and updates it asynchronously. Again, the AddSignalValueToChart method is called, to write the online values retrieved by the WFConnector.

Offline workflow diagram

The diagram below explains the WFTrending3 workflow when plotting offline signal values.

Capture916.jpg

Offline state visual representation

For each trendline, the ReadTrendingLogs method from HistoricalData.asmx is called, retrieving the historical data for the signal. The AddSignalValuesToChart method is called to write the values to the WFTrending3 control.

Design-time properties

The WFTrending3 control shares the following common design-time properties of the WEBfactory controls library:

It also exposes the following particular properties in 's Property Inspector:

Configuration properties

In Microsoft Blend and Visual Studio, the following properties can be found under the WEBfactory 2010 - Dialog, WEBfactory 2010 - General and WEBfactory 2010 - Signals categories.

  • ChartTheme – allows the user to select a visual theme for the WFTrending3 control. The available theme options are:

    • None – default theme is applied;

    • DuskBlue

    • DuskGreen

    • MediaPlayer

    • Office2003Blue

    • Office2003Classic

    • Office2003Olive

    • Office2003 Royale

    • Office2003Silver

    • Office2007Black

    • Office2007Blue

    • Office2007Silver

    • Vista

  • ClientSideConfiguration – if set to on, any saved configuration will be stored on the local machine’s Isolated Storage. The loading of the configuration will be made from the local Isolated Storage.

  • ConcurrentSignals – the number of signals that can be displayed in the WFTrending3 graphic at the same time.

  • ConfigurationNamespace – the namespace of the configuration. A configuration is defined by a name and a namespace. The combination of name and namespace must be unique. If a namespace is defined in this option, the WFTrending3 control will only be able to see the configurations that belong to this namespace, when loading them from the database.

  • InitialConfiguration – the name of the configuration to be loaded by default. By declaring the namespace of the configuration (in the previous option) and the name of the configuration in the InitialConfiguration text field, the WFTrending3 control will load by default the specified configuration from the database.

  • LineThickness – the thickness of the trendline in the WFTrending3 graphic.

  • PopupModality – this settings allows the user to choose the modality for the popup windows displayed by the WFTrending3 control at runtime. The user can choose between modal and modeless.

  • TimeZone – allows the user to choose the time zone for the WFTrending3 control at runtime. The options are:

    • ClientTime – the time zone of the machine where the visualization is running.

    • ServerTime – the time zone of the machine on which WEBfactory Server is running.

    • UTCTime – the UTC time zone.

Security properties

In Microsoft Blend and Visual Studio, the following properties can be found under the WEBfactory 2010 - Security category.

  • ButtonsSettings – allows the user to set security authorizations for the options bar buttons from the WFTrending3 control. For each button, the SecurityAuthorizationName and the SecurityDenyAccessBehaviour can be set. This means that the user can specify an authorization group that will have access to the button, and the behavior of the button if users belonging to other authorization groups than the one selected are using the control.

Capture373.jpg

WFTrending3 Button Settings

The buttons available for security access configurations are:

  • TimeRange

  • Start

  • Settings

  • Save

  • RemoveSignal

  • Load

  • LegendConfiguration

  • Import

  • Export

  • CursorConfiguration

  • AxisConfiguration

  • AddSignal

SignalConfiguration properties

In Microsoft Blend and Visual Studio, the following properties can be found under the WEBfactory 2010 - Signals category.

  • ShowAverageLineColumn – allows the user to enable a line that will mark the average of the values displayed by the WFTrending3 graph.

  • ShowAveragePeriodColumn – allows the user to customize the period of time over which the Average Line is visible and calculated.

  • ShowAxisColumn – enables the user to select an axis for the signal. Signals can be represented on custom axis, depending on the values or units.

  • ShowCustomDescriptionColumn – allows the user to input a custom description for the current signal.

  • ShowDigitalBitColumn – allows the user to assign a signal value that will represent the digital state of 1 in the digital graph.

  • ShowGroupColumn – lists the signal group which current signal is assigned to.

  • ShowDigitalColumn – allows the user to mark the signal to be represented in a digital format.

  • ShowInterpolationColumn – allows the user to set the algorithm used to draw the line between points.

  • ShowMaxColumn – defines the maximum value for the signal value.

  • ShowMaximumLineColumn – if enabled, WFTrending3 graph will draw a line, marking the highest value of the current signal.

  • ShowMinColumn – shows the minimum value for the signal value.

  • ShowMinimumLineColumn – if enabled, WFTrending3 graph will draw a line, marking the lowest value of the current signal.

  • ShowOpcItemNameColumn – lists the OPC item name for the current signal.

  • ShowUnitColumn – shows the unit of measurement for the signal value, if available.

  • ShowLogColumn – shows the log name of the selected signal, if the signal has logging.

  • ShowNameColumn – shows the name of the signal.

  • ShowInvertedColumn – allows the user to invert the digital representation of the signal.

  • ShowNumberOfDecimalsColumn – allows the user to specify the number of decimals the signal value will be displayed with.

  • ShowDescriptionColumn – shows the description of the signal, if available.

  • ShowStaticColumn – allows the user to mark a signal as static.

Exposed Functionality

The following methods are exposed by the WFTrending3 control so they can be used from code:

LoadConfiguration()

public void LoadConfiguration(string configuration)

Loads the configuration named “configuration” and ConfigurationNamespace (control property).

AddChannel()

public void AddChannel(string name, Color color)

If the configuration has been loaded from code (using LoadConfiguration method), the signals can be dynamically added to the WFTrending3 control, specifying the signal name and the color to have in the WFTrending3 control.

StartQuery()

public void StartQuery()

If the configuration has been loaded from code (using LoadConfiguration method), the process of value updates can be started.

Dispose()

public void Dispose()

Used to dispose objects and the resources used by the object.

OnTrendconfigurationLoaded

public event EventHandler OnTrendconfigurationLoaded

Event that triggers when the configuration is changed. The event raises when:

  • when the control starts with ClientsideConfiguration or InitialConfiguration;

  • when the configuration in changed using the Load Configuration button;

  • when the LoadConfiguration method is used and it succeeds.