Class DsFastCurve
Version 1.0
Modified 26-MAY-2023 14:29:27.00
 Stores data for a fast graph à la storage oscilloscope.

 In one DsFastCurve object, up to 10 attributes can be specified.
 The storage of the attributes will be trigger by the same event,
 stored with the same frequency, and the curves will be plotted
 in the same fastcurve window.

 The names of the attributes is specified the the Attribute array.
 For every attribute, a storage area object also has to be specified.
 An attribute may be referred to by several different DsTrendCurve
 objects, for example to store at different frequencies.

 The sampling rate is specified the the ScanTime attribute.
 The sampling will start when a trigger event is detected. In some
 cases, when data before the trigger event is valid, the sampling will
 go on even before the trigger event.

 The different types of triggering is specified in the Function attribute.

Trigg conditions
 There are three ways to trigger a fast curve:

 - Manual trigg. A manual trigg is executed by setting the TriggMan attribute.
   Manual triggering has to be configured in the Function attribute.

 - Trigg on a digital signal. If a reference to a digital attribute is put in
   TriggObject, a positive edge of this attribute will trigger the fastcurve.

 - Level. The level of the first curve attribute can trigger the fastcurve. When the
   value of the attribute passes the value in TriggLevel from beneath, a trigger will
   take place. LevelTrigg has to be configured in the Function attribute.

Store data before trigg
 Sometimes the data before the trigg is of interest, and this can be stored by setting

 - the BeforeTrigg bit in Functions
 - the number of points before trigg that should be stored in NoOfPointsBeforeTrigg.

 In the BeforeTrigg function the data has to continously stored before the trigger event.
 This continously storing is started by the user by setting the Prepare attribute,
 or as soon as the previous curve is displayed, if the AlwaysPrepared bit is configured
 in Function. In the latter case, the data of the previous curve is immediately
 overwritten after beeing displayed.

Storage arrays
 Storage arrays has to be supplied by the user, one array for the time axis data, and
 one for each configured attribute. For example, Buff1440, Buff4096 or Buff32k objects
 can be used for the data storage. These will store up to 360, 1024 resp. 8192 points of
 pwr_tFloat32 attributes.

Data types
 The datatypes that can be stored is
 - pwr_tFloat32, pwr_tFloat64
 - pwr_tInt32, pwr_tUInt32, pwr_tInt16, pwr_tUInt16, pwr_tInt8, pwr_tUInt8
 - pwr_tBoolean

 The time is stored as pwr_tFloat32.

Server
 DsFastCurve objects is handled by the fast server rt_fast.
 The base frequency for the fast server process is configured in
 the DsFastConf object.

Se also



RtBody attributes pwr_sClass_DsFastCurve
String80 Description   Optional text.
String80 Title   Title of the fast window.
Mask Function   Fast function.
Boolean Active   Measurement is active.
Float32 ScanTime   Scantime in seconds. Multiple of the base scantime configured in DsFastConf object.
AttrRef TriggObject   The complete name of an external binary trigger signal,
for example a local quantity, PROC1-Di123.ActualValue.
The attribute is left blank if no external trigger
signal will be used.
Boolean TriggMan   Manual trigg.
Float32 TriggLevel   Trigg level.
Trigg level used when function LevelTrigg is set.
The value of the first curve attribute (in Attribute[0]) is compared with
TriggLevel. When the value passes TriggLevel from beneath, a trigger is activated.
Boolean Prepare   Prepare for a trigg.
Array of TypeId AttributeType   Stores measurants data types. It has to be of any of
the types pwr_tBoolean, pwr_tFloat32, pwr_tFloat64,
pwr_tInt8, pwr_tInt16, pwr_tInt32, pwr_tUInt8,
pwr_tUInt16, or pwr_tUInt32.
Array of AttrRef Attribute   The complete name of analog sampled attributes, for
example PROC1-TEMP1.ActualValue. The attributes have to
be represented by local objects.
Array of AttrRef Buffers   Data buffers. Array attributes that contains the data of the curves.
AttrRef TimeBuffer   Time buffer. An array attribute that contain the time axis data for the curves.
Array of Float32 YMinValue   Minimum value of Y-axis range. Optional.
Array of Float32 YMaxValue   Maximum value for Y-axis range. Optional.
UInt32 NoOfPoints   Number of samples in the curve.
UInt32 NoOfPointsBeforeTrigg   Number of samples before the trigger point.
CurveLayoutMask Layout   Curve window layout.
UInt32 TriggIndex   Specifies the first element in DataBuffer since the
triggering has taken place.
UInt32 FirstIndex   Specifies the first element in the data buffer with valid data.
UInt32 LastIndex   Specifies the last element in the data buffer with valid data.
Boolean New   Indicates that there is a new fast curve to display.
Array of Boolean CurveValid   Indicates if a curve is configured correctly and the data for the curve will be stored.
Time TriggTime   Time for the last detecteced trigg event.


Template Object
ScanTime 0.1
NoOfPoints 100


Attributes detail


Description Attribute
Class Attribute
Type String80
Flags
Body RtBody
 Optional text.

Title Attribute
Class Attribute
Type String80
Flags
Body RtBody
 Title of the fast window.

Function Attribute
Class Attribute
Type Mask
Flags REDUTRANSFER
Body RtBody
 Bitmask for fast function.
 - ManTrigg       1     Alow manual trigg.
 - LevelTrigg     2     Trigg on level of first curve attribute.
 - BeforeTrigg    4     Display points before trigg.
 - AlwaysPrepared 8     Overwrite previous curve as soon as is is viewed.

Active Attribute
Class Attribute
Type Boolean
Flags STATE | INVISIBLE
Body RtBody
 Measurement is active.
 If function is TriggBefore Active is also set in prepare phase.

ScanTime Attribute
Class Attribute
Type Float32
Flags REDUTRANSFER
Body RtBody
 Scantime in seconds. Multiple of the base scantime configured in DsFastConf object.

TriggObject Attribute
Class Attribute
Type AttrRef
Flags
Body RtBody
 The complete name of an external binary trigger signal,
 for example a local quantity, PROC1-Di123.ActualValue.
 The attribute is left blank if no external trigger
 signal will be used.

TriggMan Attribute
Class Attribute
Type Boolean
Flags STATE | INVISIBLE
Body RtBody
Manual trigg.
A manual trigg can be executed by setting TriggMan. Manual triggering has
to be configured in the Function attribute with the ManTrigg bit.
TriggMan is reset by the server.

TriggLevel Attribute
Class Attribute
Type Float32
Flags REDUTRANSFER
Body RtBody
Trigg level.
Trigg level used when function LevelTrigg is set.
The value of the first curve attribute (in Attribute[0]) is compared with
TriggLevel. When the value passes TriggLevel from beneath, a trigger is activated.

Prepare Attribute
Class Attribute
Type Boolean
Flags STATE | INVISIBLE
Body RtBody
Prepare for a trigg. When the BeforeTrigg function is configured, data has to be
stored before the trigg, and this is done when Prepare is set.
If function is AlwaysPrepared, Prepare is set as soon as the New flag is reset, otherwise
Prepare has to be set by the user. When prepare is set, the data for the previous curve
is overwritten.
Prepare is reset by the handler.

AttributeType Attribute
Class Attribute
Type Array of TypeId
Flags STATE | INVISIBLE | ARRAY
Elements 10
Body RtBody
 Stores measurants data types. It has to be of any of
 the types pwr_tBoolean, pwr_tFloat32, pwr_tFloat64,
 pwr_tInt8, pwr_tInt16, pwr_tInt32, pwr_tUInt8,
 pwr_tUInt16, or pwr_tUInt32.

Attribute Attribute
Class Attribute
Type Array of AttrRef
Flags ARRAY
Elements 10
Body RtBody
 The complete name of analog sampled attributes, for
 example PROC1-TEMP1.ActualValue. The attributes have to
 be represented by local objects.

Buffers Attribute
Class Attribute
Type Array of AttrRef
Flags ARRAY
Elements 10
Body RtBody
 Data buffers. Array attributes that contains the data of the curves.
 Objects for the databuffers has to be configured by the user. The extent of the
 buffer attributes should equal or exceed the storeage size, i.e. the size of the
 sampled attribute's type multiplied by NoOfPoints.

TimeBuffer Attribute
Class Attribute
Type AttrRef
Flags
Body RtBody
 Time buffer. An array attribute that contain the time axis data for the curves.
 The object for the time buffer has to be configured by the user. The extent of the
 buffer attributes should equal or exceed the storeage size for the time data, which
 is 4 * NoOfPoints. The time is stored as a pwr_tFloat32.

YMinValue Attribute
Class Attribute
Type Array of Float32
Flags ARRAY | REDUTRANSFER
Elements 10
Body RtBody
 Minimum value of Y-axis range. Optional.

YMaxValue Attribute
Class Attribute
Type Array of Float32
Flags ARRAY | REDUTRANSFER
Elements 10
Body RtBody
 Maximum value for Y-axis range. Optional.

NoOfPoints Attribute
Class Attribute
Type UInt32
Flags REDUTRANSFER
Body RtBody
 Number of samples in the curve.

NoOfPointsBeforeTrigg Attribute
Class Attribute
Type UInt32
Flags REDUTRANSFER
Body RtBody
 Number of samples before the trigger point.
 If BeforeTrigg is set in the Function attribute, samples will be stored
 before the trigg event. This is the number of points before the trigg
 that will be viewed. The number should be greater than 1 and less than
 NoOfPoints.

Layout Attribute
Class Attribute
Type CurveLayoutMask
Flags
Body RtBody
 Curve window layout.

TriggIndex Attribute
Class Attribute
Type UInt32
Flags STATE | INVISIBLE
Body RtBody
 Specifies the first element in DataBuffer since the
 triggering has taken place.

FirstIndex Attribute
Class Attribute
Type UInt32
Flags STATE | INVISIBLE
Body RtBody
 Specifies the first element in the data buffer with valid data.

LastIndex Attribute
Class Attribute
Type UInt32
Flags STATE | INVISIBLE
Body RtBody
 Specifies the last element in the data buffer with valid data.

New Attribute
Class Attribute
Type Boolean
Flags STATE | INVISIBLE
Body RtBody
 Indicates that there is a new fast curve to display.
 New is set when data is successfully stored to indicate for the
 any Fast window that new data is present. New is reset after
 approximately 2 seconds.

CurveValid Attribute
Class Attribute
Type Array of Boolean
Flags STATE | INVISIBLE | ARRAY
Elements 10
Body RtBody
 Indicates if a curve is configured correctly and the data for the curve will be stored.

TriggTime Attribute
Class Attribute
Type Time
Flags STATE | INVISIBLE
Body RtBody
 Time for the last detecteced trigg event.