Versions Compared

Key

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

The trend system described here operates under the TSENTRY real time control system.  It is a data collection system that supports the following functions:

...

Expand
titleReal-time vs. Historical Trending

The trend system simultaneously supports data collection in two separate modes.  The first mode is real-time trending; in this mode the trend system records the latest trend data into a combination of memory-based and disk-based circular buffers.  As a new point is recorded the oldest point is removed from the circular buffer, so that at any given time only the last n hours, minutes and seconds-worth of data is stored on the system (n is a configurable parameter).

In addition, the trend system can record historical trend data sets and store them as files on disk for later review. The historical trend system is driven by triggers, which are definitions of events and the data that should be recorded when the event is detected.  The historical trend system and triggers are defined in more detail on the Historical Trend Triggers [LINK] section of this manual.

Expand
titleProcesses

The following host processes comprise the Trend System:

  • TrendMgr [LINK] – the trend manager process

  • TrendGsm [LINK] – the data acquisition process acquiring data from global shared memory regions

  • TrendSvr [LINK] – the server process that services client requests for trend data

  • TrendTrig [LINK] – the server process that manages historical trend data acquisition

Expand
titleScreens

The following screens are available as part of the Trend System:

  • TrendX [LINK] – trend display and analysis

  • TriggerMgr [LINK] – trigger configuration and activation

  • TrendFileMgr [LINK] – historical trend file manager

...

Expand
title...

A historical trend trigger is the definition of an event along with a list of data to be recorded when that event is triggered.  An event is triggered when a set of variables meet some prescribed conditions.  In an aluminum smelting plant, for instance, a trigger could be defined to capture data during an anode effect.  The trigger could watch for when the pot resistance gets too high, and when it does record a set of data including the pot resistance, volts, and line amps.  Once this trigger is configured in the historical trend system, all anode effect events would be captured to individual historical trend files on disk for later review.  

Once a trigger has been activated, the historical trend trigger system monitors each of the trigger conditions and continuously evaluates each of them to determine when they have all been met. During this time the trigger is Waiting for trigger event detection.  If this occurs, and all trigger conditions are met, then data collection begins and the trend system begins to write data to the file.  This will continue until the trigger conditions are no longer all met.  At this point the data file is closed and left on the disk for later review.

Several options are available to enhance data collection:

  • A pre-trigger time period may be configured so that when a trigger event is detected the trend system will actually go backwards in time to retrieve the data leading up to the event and save this in the historical trend file before the data for the event itself.  In many cases this information is crucial for determining the cause of a given event.

  • A post-trigger time period may be configured so that once the trigger conditions are no longer satisfied the trend system will continue to record data for a period of time and append it to the historical trend file after the data for the event itself.  In many cases this information is useful for determining how the control system reacts after a given event.

  • A maximum trend time period may be specified to keep file sizes small and manageable.  This value limits the maximum amount of time of historical data that can be stored in a single file; if the event lasts longer than this amount of time then the data recorded for that event will span multiple files.  This option is useful for continuously recording data (i.e. the event is defined as always triggered) and generating files of finite size.

 

Triggers can be created, modified, activated, and deactivated using the TriggerMgr [LINK] screen.

Expand
titleTrigger File Format

Historical trigger files are stored on the host as ASCII text files.  Following is an example file:

Code Block
[Trigger]
Name=TrackTime
Description=Record the drift constants for the time tracking algorithms.
TagVar=PidCom.rtDrift.filtDrift
PreTriggerTrendTime=30
PostTriggerTrendTime=45
MaxTrendTime=1440
SaveDate=127592326792807993
 
NumTriggerVars=2
TriggerVar0=/TrendGsm/PidCom.rtDrift.bTrack != 0
TriggerVar1=/TrendGsm/PidCom.pcDrift.bTrack != 0
 
NumTrendVars=4
TrendVar0=/TrendGsm/PidCom.rtDrift.filtDrift   PidCom.rtDrift.filtDrift
TrendVar1=/TrendGsm/PidCom.rtDrift.instDrift   PidCom.rtDrift.instDrift
TrendVar2=/TrendGsm/PidCom.pcDrift.filtDrift   PidCom.pcDrift.filtDrift
TrendVar3=/TrendGsm/PidCom.pcDrift.instDrift   PidCom.pcDrift.instDrift

NumScalarVars=2
ScalarVar0=PidCom.rtDrift.filtDrift   PidCom.rtDrift.filtDrift
ScalarVar1=PidCom.rtDrift.instDrift   PidCom.rtDrift.instDrift

...

Info

“O-” as in 'O-Example' is an Operation Sub sub doc

Expand
titleO-Trend Configuration

The TrendCtrl window in the left half of the display shows the current configuration of the trend graph.  Variables are grouped according to their associated axes as shown below.

Between the grid and the graph is a splitter bar that can be dragged left and right to trade space between the graph and the grid.  This allows the user to increase the screen space allotted to the TrendCtrl to view all of the variable details at once or, on the other hand, to maximize the display of the graph within the screen.  A short cut for maximizing the textual display is also available. Click the top left corner of the grid on the left of screen to expand (>) or collapse (<) the textual display.

Most of the trend configuration can be performed in-place in the TrendCtrl grid.  Each row represents either a graph axis or a variable on an axis, and each column displays the properties for the corresponding axis or variable.  The first column is used to perform Drag and Drop of rows.  The rest of the columns are used to display trending information.  Some of the columns are display only while the others show properties that can be edited in-place. The columns are:

  • Drag-and-Drop column

  • Name (label)

  • Cursor1 (display only)

  • Cursor2 (display only)

  • Delta (display only)

  • Variable name

  • Variable data source

  • Variable display color

  • Variable graph line type

The first two rows of the grid describe the graph as a whole.  The entire width of the trend graph and the requested sampling period for the trended data can be set by clicking in the associated cell in the grid as shown below:

Additional axes can be added to the trend configuration by right-clicking in the grid and choosing Insert Axis.  Once an axis has been added to the configuration, the following properties can be set:

  • Axis Label
    Double click the Name column of an axis row to start editing the label of the axis.

 

  • Axis Scaling and Percentage
    Axis scaling and percentage are displayed on the selected axis row in Variable column. Click the cell to display axis scaling and percentage editor. Double click each cell to start editing. Click anywhere outside the editor to exit the editor. At this point the Trending Set is modified and trending will be restarted. The new values will be saved to a trend file if the Trend Set is saved.

Edit axis percentage will automatically recalculate the percentage of each enabled axis. The minimum percentage value is 5%. When the percentage value of an axis is increased the percentage of one or more axes may be reduced starting from the last axis. When the percentage value of an axis is decreased the additional percentage will be evenly distributed to all axes starting from the first axis.

Variables can be inserted into an axis by right-clicking in the grid and choosing Insert Variable.  A variable will be inserted into the trend configuration above the selected row.  Once a variable has been added to the configuration, the following properties can be set:

  • Variable Label
    Double click the Name column of a variable row to start editing the label of the variable. Click anywhere outside the cell to end editing. At this point the Trending Set is modified and trending will be restarted. The new values will be saved to a trend file if the Trend Set is saved.

 

  • Variable Name
    Double click the Variable column of a variable row to start editing the name of the variable. Click anywhere outside the cell to end editing. At this point the Trending Set is modified and trending will be restarted. The new values will be saved to a trend file if the Trend Set is saved.

Click the button in the variable name cell to use data dictionary to select one or more variable names. Double click an empty variable name cell will automatically load the data dictionary. If one or more variable names are accepted the Trending Set is modified and trending will be restarted. The new variables will be saved to a trend file if the Trend Set is saved.

  • Variable Data Source
    Double click the Source column of a variable row to start editing the variable data source. Click anywhere outside the cell to end editing. At this point the Trending Set is modified and trending will be restarted. The new values will be saved to a trend file if the Trend Set is saved.

Click the button in the variable source cell to use Select Trend Source to select a source. Double click an empty variable source cell will automatically load Select Trend Source. If a data source is accepted the Trending Set is modified and trending will be restarted. The new variable data source will be saved to a trend file if the Trend Set is saved.

  • Variable Display Color
    Double click the Color column of a variable row to start editing the variable display color using a color picker. Pick a color for the variable from list.  At this point the Trending Set is modified and trending will be restarted. The new values will be saved to a trend file if the Trend Set is saved.

If instead of picking a color you click anywhere outside of the color picker or click the color cell again the color picker will be closed and the Trend Set will not be modified.

  • Graph Line Type
    Double click the Line Type column of a variable row to start editing the graph line type using a line type list. select a line type for the variable from list.  At this point the Trending Set is modified and trending will be restarted. The new values will be saved to a trend file if the Trend Set is saved.

If instead of selecting a line type you click anywhere outside of the list or click the line type cell again the list will be closed and the Trend Set will not be modified.

All columns in the display can be resized simply by dragging the column headers.  Clicking on the 1, 2 or * column headers will expand or collapse all axes in the tree display.

 

Individual axes or variables can be moved within the trend configuration using a drag-and-drop operation on the first (blank) column of the grid.

...

Expand
titleO-Buttons and Controls
Menu

In the bottom left of the display is a button labeled Menu.

Image RemovedImage Added

Clicking this button will navigate back to the most recent menu screen.


TriggerMgr

In the bottom left of the display is a button labeled TriggerMgr.

Clicking this button will display the TriggerMgr screen pre-loaded with a trigger definition created from the current TrendX screen configuration.  That is, all trended variables shown on the TrendX screen will be added in the trigger Trend list.


TrendSet Loader Control

To the right of the TriggerMgr button are a set of buttons used to create, load, save, and delete TrendSets.

A TrendSet is a configuration file stored on the host system that contains all of the configuration parameters for the current trend display.  This allows the user to configure a trend graph, including all of the display variables and axis parameters, and store it on the host for later use. This control panel is described in detail in the TrendSetLoader [LINK] section of this manual.


Trend Playback Controls

To the right of the TrendSet loader control is the TrendPlayback control used to control the playback speed and direction of the trended data.

This control panel is described in detail in the TrendPlayback [LINK] section.


Reset Cursors

To the right of the trend playback controls is a button labeled Reset Cursors.

Clicking this button will move the two data cursors to the far right and far left edges of the current trend view.  This is helpful for regaining access to the cursors while zoomed in to a small section of the trended data.

...

Info

“O-” as in 'O-Example' is an Operation Sub sub doc

Expand
titleO-Trigger Editor

The top half of this screen allows the user to create, load, save, and delete trigger configuration files from the host system; effectively, this portion of the screen is a file editor for trigger configuration files.  

The following parameters can be configured for a given trigger:

 

Trigger Name

String by which the trigger will be known.  This name must be unique among all triggers defined on the host.

File tag variable

Name of variable used to name the historical trend file.  By default, historical trend files are named as [TriggerName].[YYYYMMDD].[HHMMSS], where [TriggerName] is the name of the trigger and [YYYYMMDD].[HHMMSS] is the date/time that the event occurred.  If a variable is specified for the File Tag, then a snapshot of the value of the corresponding variable will be taken when the event first occurs, and the resulting historical trend file will be named as [TriggerName].[TagValue].[YYYYMMDD].[HHMMSS].  For instance, in coil rolling this option can be used to tag the file according to the coil ID number.

Pre-trigger time

When a trigger is triggered, the historical trend system has the capability to go backwards in time and record data for the time leading up to the trigger event.  This value specifies the number of seconds prior to the trigger event hat data should be saved to the historical trend files.

Post-trigger time

After the trigger conditions are no longer satisfied, the historical trend system will continue to record data for some period of time for two reasons: first, it is often useful to have some data after the event to analyze how the system reacted afterwards, and second, if the trigger conditions are again met during this period the trigger will re-arm and continue to record more data.  This value specifies the number of seconds after the trigger event has finished before trigger data acquisition is stopped.

Max trend time

Specifies the maximum amount of data (in seconds) that should be recorded in a single historical trend file.  If an event is continuously triggered for more than this time then the historical trend system will close the disk file and create a new one to contain the remaining data.

Description

Specifies the trigger description.  This field is used for documentation purposes only and has nothing to do with data collection.

The Trigger Conditions define the set of conditions that all must be met in order for the event to be triggered and data collection to take place.  That is, the trigger is satisfied when the boolean AND of all of the trigger conditions is TRUE.  Conditions can be added, deleted, and modified on the grid by double click a cell or right-clicking on the list and selecting options from the popup menu.

Each trigger condition must specify the fully qualified trend variable name (including trend source and variable name within the source), a Boolean operator, a threshold against which the value of the trend variable is to be compared to determine when the condition is satisfied, and a requested sampling period for testing the value.

 

The Trend Variables define the set of data that should be recorded when the trigger event has been detected.  Each of the variables listed in this section will be recorded to the historical trend disk file.  Variables can be added, deleted, and modified on the grid by double click a cell or right-clicking on the list and selecting options from the popup menu.

Each trend variable must specify the fully qualified trend variable name to be recorded and the requested sampling period for the recorded data.

 

The Scalar Variables define the set of data that should be recorded as a single snapshot when the trigger event has been detected.  Each of the variables listed in this section will be recorded to the historical trend disk file. Variables can be added, deleted, and modified on the grid by double click a cell or right-clicking on the list and selecting options from the popup menu.

Each scalar variable must specify the fully qualified scalar variable name to be recorded.

...

Expand
titleO-Active Trigger Status

The bottom half of the screen displays the status of all of the active triggers loaded into the system.  The following parameters are shown for each of the triggers:

Trigger

Name of the trigger

Save Date

Date and time at which the trigger definition was saved to the host system.  This is useful for checking if the active trigger is the latest version available.

State

Current state of the trigger.  Possible states include Error (the trigger could not initialize because of an error), Uninit (the trigger is waiting for initialization, possibly because there is no data available yet for one of the trend variables), Waiting (the trigger is armed but the trigger conditions are not satisfied), and Recording (the trigger has been detected and the system is recording data to the file).

Message

Displays any applicable message for the user, especially any error messages for triggers that are in the Error state.

Expand
titleO-Deactivating a Trigger

In order to deactivate an active trigger, click on the Deactivate button, which will display a list of active triggers to deactivate.  Alternatively, a trigger can be deactivated by highlighting its entry in the trigger status box and right-clicking to display a popup menu.  Selecting Deactivate Trigger from this menu will deactivate all highlighted triggers.  In either case, once deactivated the trigger status box will update within a few moments once the host processes the request.  Note: the TSENTRY system must be running to process deactivate requests.

...