The trend system described here operates under the TSENTRY real time control system. It is a data collection system that supports the following functions:
...
Acquisition of process data from global common areas and from messages received from remote systems
...
Acquisition of data at precise user-defined intervals
...
Maintenance and storage of process data for some user-defined length of time
...
Buffering of trended process data to memory areas and disk files
...
Serving data requests from trend clients
...
Support of both static trends (variables trended continuously during system operation) and dynamic trends (variables trended on demand at the request of remote clients)
...
Display of trend data on web based screens
...
Monitor trend data for events and record data to individual disk-based data files for later review
...
The trend system described here operates under the TSENTRY real time control system. It is a data collection system that supports the following functions:
Acquisition of process data from global common areas and from messages received from remote systems
Acquisition of data at precise user-defined intervals
Maintenance and storage of process data for some user-defined length of time
Buffering of trended process data to memory areas and disk files
Serving data requests from trend clients
Support of both static trends (variables trended continuously during system operation) and dynamic trends (variables trended on demand at the request of remote clients)
Display of trend data on web based screens
Monitor trend data for events and record data to individual disk-based data files for later review
Play back previously recorded trend data from historical trend files.
...
[TBD]
[TBD]
Historical Trend Triggers
...
Expand |
---|
TrendSrv - Trend Server Process
Expand | ||
---|---|---|
| ||
The trend server process accepts TCP/IP connections from remote clients and handles their requests for trended data. Trended data is requested by source and variable name at a given sampling rate and between a starting and ending time. The TrendSrv process searches for the requested variable on the list of currently trended variables, returning the desired data if found. If the variable is not currently being trended, TrendSrv passes a request for dynamic trend to the specified trend source and returns no data; subsequent client requests for this variable will thereafter return whatever data is available. |
Expand | ||
---|---|---|
| ||
|
TrendTrig - Trend Trigger Process
Expand | ||
---|---|---|
| ||
The trend trigger process is responsible for monitoring the trending system for user-defined events and recording historical trends to disk for later reviewing. |
Screens
TrendX
Expand | ||
---|---|---|
| ||
The TrendX screen is used to graphically display and analyze recorded trend data. It can be used either as a real-time display of live data as it is collected by the trending subsystem or to playback previously recorded data. The graph itself is capable of simultaneously displaying any number of variables on up to sixteen separate, individually configured axes. |
Expand | ||
---|---|---|
| ||
The trend graph consists of multiple vertical axes aligned with the same horizontal (time) axis. As data is played forwards in time it will move from the right to the left; the opposite is true when playing data backwards in time. Though the vertical axes are stacked from top down, the line displayed for a given trend variable may appear within a different axis if the current value of that trend variable is outside the range configured for its associated axis (by default, trended data is not clipped to fit their owner axis). |
Info |
---|
“O-” as in 'O-Example' is Operation Sub doc |
Expand | ||
---|---|---|
| ||
| ||
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:
Triggers can be created, modified, activated, and deactivated using the TriggerMgr [LINK] screen. |
Expand | ||
---|---|---|
| ||
Historical trigger files are stored on the host as ASCII text files. Following is an example file:
|
Tasks
TrendMgr - Trend Manager Process
Expand | ||
---|---|---|
| ||
The trend manager process is responsible for initializing the trending subsystem, creating the trend global shared memory, configuring the various trend sources, and processing requests for dynamic trend variables. In addition, TrendMgr monitors the active trends, periodically writing trend data from the memory buffer to the disk for long-term storage and disabling dynamic variables after a specified period of inactivity. The trending subsystem is configured via an ini file, which is read by the TrendMgr process on initialization. This file defines each of the various trend sources such as the global common trending process TrendGsm. |
Expand | ||
---|---|---|
| ||
The trend manager process is initialized by a text file passed to it as a command line parameter. This file is used to configure the internals of the trending subsystem itself. It consists of several sections described below: [General]
[TrendSrcList] This section specifies the various trend sources configured for a given system. Each trend source is specified on a single line in this section; this line contains a white space-delimited list of parameters defining the trend source. Most systems will only have a single entry for the global common trending system, TrendGsm. The parameters in order are:
An example configuration entry for the TrendGsm source is provided below:
|
TrendGsm - Trend Global Shared Memory Process
Expand | ||
---|---|---|
| ||
This hard real-time process samples variables from global common at frequencies up to 50 Hz (20 ms per sample) and buffers their values into memory. Static trend variables are defined through an ini file, which specifies each global variable’s fully qualified name, sampling period, and the number of samples to be stored both in memory and to disk. Alternatively, dynamic trend variables may be requested at any time during system operation and the TrendGsm will begin buffering the appropriate data. |
...
title | TrendGsm Initialization File |
---|
The TrendGsm process is initialized by a text file passed to it as a command line parameter. Typically, this file is the same as that used to initialize the trend manager process and containing additional sections for the TrendGsm process. The initialization file parameters are described below:
[TrendGsmVars]
This section specifies the list of statically trended variables for the TrendGsm process. Each variable listed in this section will be trended at all times as long as the TrendGsm process is active. Each statically trended variable is specified on a single line in this section; this line contains a white space-delimited list of parameters defining the trended variable.
The parameters in order are:
VariableName
Specifies the data dictionary name of the variable to be trended.
SamplePeriod(ms)
Specifies the sampling period of the variable in milliseconds. This number cannot be smaller than the rep rate of the TrendGsm process as specified in the sysProcs.ini file.
MemPeriod(s)
Specifies the size of the circular buffer (in seconds-worth of data) that will be stored in memory before the data is paged off to disk. This number must be greater than zero. If DiskPeriod is zero, this number dictates how far back into the past live data will be stored before it is destroyed.
DiskPeriod(s)
Specifies the size of the circular buffer (in seconds-worth of data) that will be stored on disk. If this number is zero, no data will be stored on disk. Otherwise this number must be greater than the MemPeriod and dictates how far back into the past live data will be stored before it is destroyed.
| |
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 section of this manual. |
Expand | ||
---|---|---|
| ||
The following host processes comprise the Trend System: |
Expand | ||
---|---|---|
| ||
The following screens are available as part of the Trend System:
|
Historical Trend Triggers
Expand | ||
---|---|---|
| ||
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:
Triggers can be created, modified, activated, and deactivated using the TriggerMgr screen. |
Expand | ||
---|---|---|
| ||
Historical trigger files are stored on the host as ASCII text files. Following is an example file:
|
Tasks
TrendMgr - Trend Manager Process
Expand | ||
---|---|---|
| ||
The trend manager process is responsible for initializing the trending subsystem, creating the trend global shared memory, configuring the various trend sources, and processing requests for dynamic trend variables. In addition, TrendMgr monitors the active trends, periodically writing trend data from the memory buffer to the disk for long-term storage and disabling dynamic variables after a specified period of inactivity. The trending subsystem is configured via an ini file, which is read by the TrendMgr process on initialization. This file defines each of the various trend sources such as the global common trending process TrendGsm. |
Expand | ||
---|---|---|
| ||
The trend manager process is initialized by a text file passed to it as a command line parameter. This file is used to configure the internals of the trending subsystem itself. It consists of several sections described below: [General]
[TrendSrcList] This section specifies the various trend sources configured for a given system. Each trend source is specified on a single line in this section; this line contains a white space-delimited list of parameters defining the trend source. Most systems will only have a single entry for the global common trending system, TrendGsm. The parameters in order are:
An example configuration entry for the TrendGsm source is provided below:
|
TrendGsm - Trend Global Shared Memory Process
Expand | ||
---|---|---|
| ||
This hard real-time process samples variables from global common at frequencies up to 50 Hz (20 ms per sample) and buffers their values into memory. Static trend variables are defined through an ini file, which specifies each global variable’s fully qualified name, sampling period, and the number of samples to be stored both in memory and to disk. Alternatively, dynamic trend variables may be requested at any time during system operation and the TrendGsm will begin buffering the appropriate data. |
Expand | ||
---|---|---|
| ||
The TrendGsm process is initialized by a text file passed to it as a command line parameter. Typically, this file is the same as that used to initialize the trend manager process and containing additional sections for the TrendGsm process. The initialization file parameters are described below: [TrendGsmVars] This section specifies the list of statically trended variables for the TrendGsm process. Each variable listed in this section will be trended at all times as long as the TrendGsm process is active. Each statically trended variable is specified on a single line in this section; this line contains a white space-delimited list of parameters defining the trended variable. The parameters in order are:
|
TrendSrv - Trend Server Process
Expand | ||
---|---|---|
| ||
The trend server process accepts TCP/IP connections from remote clients and handles their requests for trended data. Trended data is requested by source and variable name at a given sampling rate and between a starting and ending time. The TrendSrv process searches for the requested variable on the list of currently trended variables, returning the desired data if found. If the variable is not currently being trended, TrendSrv passes a request for dynamic trend to the specified trend source and returns no data; subsequent client requests for this variable will thereafter return whatever data is available. |
Expand | ||
---|---|---|
| ||
|
TrendTrig - Trend Trigger Process
Expand | ||
---|---|---|
| ||
The trend trigger process is responsible for monitoring the trending system for user-defined events and recording historical trends to disk for later reviewing. |
...
Screens
TrendX
Expand | ||
---|---|---|
| ||
The TrendX screen is used to graphically display and analyze recorded trend data. It can be used either as a real-time display of live data as it is collected by the trending subsystem or to playback previously recorded data. The graph itself is capable of simultaneously displaying any number of variables on up to sixteen separate, individually configured axes. |
Expand | ||
---|---|---|
| ||
The trend graph consists of multiple vertical axes aligned with the same horizontal (time) axis. As data is played forwards in time it will move from the right to the left; the opposite is true when playing data backwards in time. Though the vertical axes are stacked from top down, the line displayed for a given trend variable may appear within a different axis if the current value of that trend variable is outside the range configured for its associated axis (by default, trended data is not clipped to fit their owner axis). |
Info |
---|
“O-” as in 'O-Example' is an Operation sub doc |
Expand | ||
---|---|---|
| ||
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:
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:
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:
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.
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.
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.
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 | ||
---|---|---|
| ||
The two vertical bars, one magenta and the other cyan, represent cursors overlaid on the graph. The cursors are used to select the data points for display in the textual trend variable data presented to the left of the graph. The grid on the left half of the screen displays the values of each of the trend variables lying directly underneath each of the two trend cursors. In addition, the difference between the two cursor values is calculated for each of the trend variables and displayed in the Delta column in the grid. Normally, the cursor bars default to the left and right edges of the graph display. However, they can be moved by placing the mouse over the cursor and left-clicking-and-dragging to the desired position. There is a Reset Cursors button on the bottom right corner of the screen (also in the graph option menu) to reset the cursors to the left- and right-most positions of the graph, which is especially useful for regaining access to the cursors when zoomed in on the trend graph as described below. |
Expand | ||
---|---|---|
| ||
It is possible to zoom into a section of the graph simply by left clicking anywhere on the graph and dragging a box to the left or right, as shown below: When the left mouse button is released the graph will zoom into the selected region. Once zoomed, the original full display can be restored by right clicking to bring up the menu and choosing Undo Zoom. |
Expand | ||
---|---|---|
| ||
Mouse over an axis (horizontal bar in the graph) and wait for the resize cursor. Drag the axis and release it should change the percentage of the axis. Verify the percentage change using axis editor. At this point the Trending Set is modified. The new axis percentage values will be saved to a trend file if the Trend Set is saved. |
Expand | ||
---|---|---|
|
Expand | ||
---|---|---|
| ||
Right-clicking on the trend configuration grid displays a popup menu of available options. |
Expand | |
---|---|
title | The graph option menu provides numerous interactive options. 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.
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 ColorDouble 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.
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 | ||
---|---|---|
| ||
The two vertical bars, one magenta and the other cyan, represent cursors overlaid on the graph. The cursors are used to select the data points for display in the textual trend variable data presented to the left of the graph. The grid on the left half of the screen displays the values of each of the trend variables lying directly underneath each of the two trend cursors. In addition, the difference between the two cursor values is calculated for each of the trend variables and displayed in the Delta column in the grid. Normally, the cursor bars default to the left and right edges of the graph display. However, they can be moved by placing the mouse over the cursor and left-clicking-and-dragging to the desired position. There is a Reset Cursors button on the bottom right corner of the screen (also in the graph option menu) to reset the cursors to the left- and right-most positions of the graph, which is especially useful for regaining access to the cursors when zoomed in on the trend graph as described below. |
Expand | ||
---|---|---|
| ||
It is possible to zoom into a section of the graph simply by left clicking anywhere on the graph and dragging a box to the left or right, as shown below: When the left mouse button is released the graph will zoom into the selected region. Once zoomed, the original full display can be restored by right clicking to bring up the menu and choosing Undo Zoom. |
Expand | ||
---|---|---|
| ||
Mouse over an axis (horizontal bar in the graph) and wait for the resize cursor. Drag the axis and release it should change the percentage of the axis. Verify the percentage change using axis editor. At this point the Trending Set is modified. The new axis percentage values will be saved to a trend file if the Trend Set is saved. |
...
title | O-Exporting Data |
---|
The graph option menu provides numerous interactive options. Click the right mouse button to display the graph option menu.
...
Also available from the popup menu is the ability to export data from the graph control through the Export Dialog… menu option. This option will export all data currently displayed in the graph to a variety of destinations.
For instance, to output data to a text file set the set the Export type as Text/Data Only, select Export Destination as File, enter the desired local file name, and click the Export… button as shown below:
...
The following dialog then customizes which data should be exported to the text file.
...
Set the desired options and click on the Export button to create the file. Default options to export all data are:
Select “All Data” as the Subsets and Points to export
Select Data and Labels
Select Y Axis Value
Set Export Style as Table
Set Row vs. Column as Points/Subsets
Set Numeric Precision as Maximum Precision
right mouse button to display the graph option menu. Also available from the popup menu is the ability to export data from the graph control through the Export Dialog… menu option. This option will export all data currently displayed in the graph to a variety of destinations. For instance, to output data to a text file set the set the Export type as Text/Data Only, select Export Destination as File, enter the desired local file name, and click the Export… button as shown below: The following dialog then customizes which data should be exported to the text file. Set the desired options and click on the Export button to create the file. Default options to export all data are:
|
Expand | ||
---|---|---|
| ||
Right-clicking on the trend configuration grid displays a popup menu of available options. The following options are available from this popup menu:
This option is also available by clicking the left mouse button while pointing at the variable line.
This option is also available by clicking the left mouse in the Cursor1, Cursor2, or Delta columns for an axis. The results of the Rescale are show below -- note the changes to the variable in red plotted on the second axis.
Select an axis and click Insert Variable to add a new variable at the end of the variable list of the axis above. This action is not available to the first axis on the list. Insert Variable without selecting an axis or a variable to add a new variable at the end.
|
Expand | ||
---|---|---|
| ||
MenuIn the bottom left of the display is a button labeled Menu. Clicking this button will navigate back to the most recent menu screen. TriggerMgrIn 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 ControlTo 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 ControlsTo 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 CursorsTo 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. |
...
Expand | ||
---|---|---|
| ||
The TriggerMgr screen is used to configure and monitor historical trend triggers on a TSENTRY system. |
Operation
title | Operation
---|
Info |
“O-” as in 'O-Example' is an Operation sub doc |
Expand | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
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:
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 | ||
---|---|---|
| ||
Once a trigger has been fully specified and saved to the host, the Activate button in the top right hand corner of the screen will activate the trigger for detection and data collection. Within a few moments the newly activated trigger will appear in the Trigger Status box in the bottom half of the screen. Note: re-activating a trigger that is already active will replace the existing trigger with the new version. Note: the TSENTRY system must be running to process activate requests. |
Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
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:
|
Expand | ||
---|---|---|
| ||
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. |
Expand | ||
---|---|---|
| ||
Menu ButtonIn the bottom left of the display is a button labeled Menu. Clicking this button will navigate back to the most recent menu screen. TrendX ButtonIn the bottom left of the display is a button labeled TrendX. Clicking this button will display the TrendX screen pre-loaded with a TrendSet definition created from the current trigger definition screen configuration. This trend set will contain two axes, the first containing all trigger condition variables and the second containing all trigger trend variables. |
...
Expand | ||||
---|---|---|---|---|
| ||||
Binary data is returned in the XDR (RFC1832) format. The format of this type of response is as follows:
The returned data message is the assembly of bytes that make up the following data structures:
The last data value returned for each set of data associated with a channel will not contain a valid data value. This ‘marker’ data point will indicate to the client that all of the data available for that channel from the previous request has been returned. The ‘marker’ value will contain:
A marker point is always returned for any data request. If data for that channel is available it will be returned prior to the marker point; if no data is available, just the marker point will be returned.
The server will leave the connection open after responding with the data values. The client may then delay for a period of time, send another request for further data, or break the connection to the server.
If data from multiple channels are requested, the available data from the first channel requested will be returned 1st (including the trailing ‘marker’ data value), the available data from the second channel will be returned 2nd (including the trailing ‘marker’ data value), etc. until all available data for all channels has been returned. If no data for a channel is available (perhaps because of the StartTime and EndTime specification, or because of an incorrect channel variable name), the ‘marker’ data point associated with that channel (with a channel number equal to -1) will still be returned. Until a response containing all available data (and the required trailing ‘marker’ data values) for all channels included in the request is returned, the client will not make another data request. |
Trend Class Definitions
Expand | ||
---|---|---|
| ||
The following classes provide the underlying support for the trend process and utilities.
|