Class DsFastCurve
Version 1.0
Modified 26-MAY-2023 14:29:27.00
Lagrar data för en snabbkurva.

I ett DsFastCurve objekt, kan upp till 10 attribut anges. Lagringen av
attributens värden kommer att triggas av samma händelse, ske med samma
frekvens, och kurvorna kommer att visas i samma snabbkurve fönster.

Attributens namn anges i Attribute vektorn.
För varje attribut, måste även ett lagrings-objekt anges.
Ett attribut kan refereras av flera olika DsTrendCurve objekt, t ex för
att lagra vid olika frekvens.

Samplingshastigheten anges med ScanTime attributet.
Samplingen startar när en trigg-händelse inträffar. I vissa fall, då data 
före trigg-punkten är av intresse, kommer samplingen att pågå även före
trigg-händelsen.

De olika trigg-typerna är specificerade i Function attributet.

Trigg villkor
Det finns tre olika sätt att trigga en snabbkurva:

- Manual triggning. En manuell triggning utförs genom att sätta TriggMan
  attributet. Manuell triggning måste konfigureras i Function attributet.

- Triggning på digital signal. Om en referens till ett digitalt attribut
  läggs i TriggObject, kommer en positiv flank på signalen att trigga
  snabbkurvan.

- Nivå. Nivån på det första kurv-attributet kan trigga snabbkurvan. När
  värdet av attributet passerar värdet i TriggLevel underifrån, kommer
  en triggning att utföras. LevelTrigg måste konfigureras i Function
  attributet.

Lagra data före trigg-punkten
Ibland kan data före trigg-punkten vara av intresse. Denna data kan lagras
genom att sätta

- BeforeTrigg biten i Function
- antalet punkter före triggpunkten som ska lagras anges i 
  NoOfPointsBeforeTrigg.

I BeforeTrigg funktionen lagras data kontinuerligt före trigg-händelsen.
Denna kontinuerliga lagring startas av änvändaren genom att sätta Prepare
attributet, eller så fort den tidigare kurvan är visad om AlwaysPrepared
attributet är konfigurerat i Function. I det senare fallet, skrivs data
för den föregående kurvan omedelbart över när det har visats.

Lagrings vektorer
Lagrings-vektorer måste tillhandahållas av användaren, en vektor för tid-axel
data, och en för varje konfigurerat attribut. T ex Buff1440, Buff4096 eller
Buff32k objekt kan användas för datalagring. Dessa kan lagra upp till 360,
1024 resp 8192 punkter av pwr_tFloat32 attribut.

Data typer
Datatyper som kan lagras är
- pwr_tFloat32, pwr_tFloat64
- pwr_tInt32, pwr_tUIn32, pwr_tInt16, pwr_tUInt16, pwr_tInt8, pwr_tUInt8

Tiden lagras som pwr_tFloat32.

Sever process
DsFastCurve objekt hanteras av serverprocessen rt_fast.
Fasfrekvensen för serverprocessen konfigureras i DsFastConf-objektet.

Se även



RtBody attributes pwr_sClass_DsFastCurve
String80 Description   Beskrivning.
String80 Title   Titel på snabbkurve fönstret.
Mask Function   Bitmask för snabbkurve funktionen.
- ManTrigg 1 Tillåt manuell triggning.
- LevelTrigg 2 Trigga på nivån på första kurv-attributet.
- BeforeTrigg 4 Visa mätvärden före triggpunkten.
- AlwaysPrepared 8 Skriv över föregående kurve så snart den har visats.
Boolean Active   Mätningen är aktiv.
Om funktionen är TriggBefor är Active även satt i preparations fasen.
Float32 ScanTime   Skantid i sekunder. Multipel av bas-skantiden angiven i DsFastConf objektet.
AttrRef TriggObject   Fullständigt namn på en extern digital trigg-signal, t ex
PROC-DI123.ActualValue.
Attributet lämnas tomt om extern triggsignal inte används.
Boolean TriggMan   Manuell triggning.
En manuell triggning utförs genom att sätta TriggMan. Manuell triggning måste
konfigureras i Function attributet med ManTrigg biten.
TriggMan återställs av server-processen.
Float32 TriggLevel   Trigg nivå.
Trigg nivå som används om funktion LevelTrigg är angiven.
Värdet av det första kurv-attributet (i Attribute[0]) jämförs med TriggLevel.
När värdet passeras underifrån, utförs en triggning.
Boolean Prepare   Förbered för en triggning. När BeforeTrigg funktionen är konfigurerad, måste
data lagras före triggpunkten. Detta görs när Prepare är satt.
Om funktionen är AlwaysPrepared, sätts Prepare så fort New-flaggan är
återställd, annars måste Prepare sättas av användaren. När Prepare sätts,
skrivs data för föregående kurva över.
Array of TypeId AttributeType   Lagrar mätvärdenas datatyper. De måste vara någon av typerna pwr_tBoolean,
pwr_tFloat32, pwr_tFloat64, pwr_tInt8, pwr_tInt16, pwr_tInt32, pwr_tUInt8,
pwr_tUInt16 eller pwr_tUInt32.
Array of AttrRef Attribute   Fullständigt namn på analoga samplade attribut, t ex PROC1-TEMP1.ActualValue.
Attributen måste finnas i lokala objekt.
Array of AttrRef Buffers   Data buffrar. Vektor attribut som lagrar data för kurvorna.
Objekten för data-buffrarna måste konfigureras av användaren. Storleken på
buffer attributen måste var större eller lika med lagringsutrymmet, dvs
storlekan på det samplade attributets type multiplicerat med NoOfPoints.
AttrRef TimeBuffer   Tidsbuffer. Ett vektor attribut som lagrar data för kurvornas tidsaxel.
Objektet för tids-buffern måste konfigureras av användaren. Storleken på
buffer attributet måste var större eller lika med lagringsutrymmet för
tidsdata, dvs 4 * NoOfPoints. Tiden lagras som en pwr_tFoat32.
Array of Float32 YMinValue   Minvärde för Y-axelns område.
Array of Float32 YMaxValue   Maxvärde för Y-axelns område.
UInt32 NoOfPoints   Antal mätpunkter i kurvan.
UInt32 NoOfPointsBeforeTrigg   Antal mätpunkter före trigg-punkten.
Om BeforeTrigg är satt i Function attributet, kommer mätvärden att lagras
före trigg-punkten. Detta är antalet punkter före triggningen som ska visas.
Antalet ska vara större än 1 och mindre än NoOfPoints.
CurveLayoutMask Layout   Curve window layout.
UInt32 TriggIndex   Specificerar första elementet i databufferten sedan triggningen har inträffat.
UInt32 FirstIndex   Specifies the first element in the data buffer with valid data.
UInt32 LastIndex   Specificerar sista elementet i databufferten med giltigt data.
Boolean New   Indikerar att det finns en ny snabb-kurva att visa upp.
New sätts när kurvdata har lagrats, för att indikera för ett Snabb-kurve
fönster att nya kurv-data är tillgängliga. New återsälls efter ca 2 sekunder.
Array of Boolean CurveValid   Indikerar att en kurva är rätt konfigurerad och att data kommer att lagras
för kurvan.
Time TriggTime   Tid för senaste detekterade trigg-händelse.


Template Object
ScanTime 0.1
NoOfPoints 100


Attributes detail


Description Attribute
Klass Attribute
Typ String80
Flags
Kropp RtBody
Beskrivning.

Title Attribute
Klass Attribute
Typ String80
Flags
Kropp RtBody
Titel på snabbkurve fönstret.

Function Attribute
Klass Attribute
Typ Mask
Flags REDUTRANSFER
Kropp RtBody
Bitmask för snabbkurve funktionen.
- ManTrigg       1   Tillåt manuell triggning.
- LevelTrigg     2   Trigga på nivån på första kurv-attributet.
- BeforeTrigg    4   Visa mätvärden före triggpunkten.
- AlwaysPrepared 8   Skriv över föregående kurve så snart den har visats.

Active Attribute
Klass Attribute
Typ Boolean
Flags STATE | INVISIBLE
Kropp RtBody
Mätningen är aktiv.
Om funktionen är TriggBefor är Active även satt i preparations fasen.

ScanTime Attribute
Klass Attribute
Typ Float32
Flags REDUTRANSFER
Kropp RtBody
Skantid i sekunder. Multipel av bas-skantiden angiven i DsFastConf objektet.

TriggObject Attribute
Klass Attribute
Typ AttrRef
Flags
Kropp RtBody
Fullständigt namn på en extern digital trigg-signal, t ex 
PROC-DI123.ActualValue.
Attributet lämnas tomt om extern triggsignal inte används.

TriggMan Attribute
Klass Attribute
Typ Boolean
Flags STATE | INVISIBLE
Kropp RtBody
Manuell triggning.
En manuell triggning utförs genom att sätta TriggMan. Manuell triggning måste
konfigureras i Function attributet med ManTrigg biten.
TriggMan återställs av server-processen.

TriggLevel Attribute
Klass Attribute
Typ Float32
Flags REDUTRANSFER
Kropp RtBody
Trigg nivå.
Trigg nivå som används om funktion LevelTrigg är angiven.
Värdet av det första kurv-attributet (i Attribute[0]) jämförs med TriggLevel.
När värdet passeras underifrån, utförs en triggning.

Prepare Attribute
Klass Attribute
Typ Boolean
Flags STATE | INVISIBLE
Kropp RtBody
Förbered för en triggning. När BeforeTrigg funktionen är konfigurerad, måste
data lagras före triggpunkten. Detta görs när Prepare är satt.
Om funktionen är AlwaysPrepared, sätts Prepare så fort New-flaggan är 
återställd, annars måste Prepare sättas av användaren. När Prepare sätts,
skrivs data för föregående kurva över.

AttributeType Attribute
Klass Attribute
Typ Array of TypeId
Flags STATE | INVISIBLE | ARRAY
Elements 10
Kropp RtBody
Lagrar mätvärdenas datatyper. De måste vara någon av typerna pwr_tBoolean,
pwr_tFloat32, pwr_tFloat64, pwr_tInt8, pwr_tInt16, pwr_tInt32, pwr_tUInt8,
pwr_tUInt16 eller pwr_tUInt32.

Attribute Attribute
Klass Attribute
Typ Array of AttrRef
Flags ARRAY
Elements 10
Kropp RtBody
Fullständigt namn på analoga samplade attribut, t ex PROC1-TEMP1.ActualValue.
Attributen måste finnas i lokala objekt.

Buffers Attribute
Klass Attribute
Typ Array of AttrRef
Flags ARRAY
Elements 10
Kropp RtBody
Data buffrar. Vektor attribut som lagrar data för kurvorna.
Objekten för data-buffrarna måste konfigureras av användaren. Storleken på
buffer attributen måste var större eller lika med lagringsutrymmet, dvs
storlekan på det samplade attributets type multiplicerat med NoOfPoints.

TimeBuffer Attribute
Klass Attribute
Typ AttrRef
Flags
Kropp RtBody
Tidsbuffer. Ett vektor attribut som lagrar data för kurvornas tidsaxel.
Objektet för tids-buffern måste konfigureras av användaren. Storleken på
buffer attributet måste var större eller lika med lagringsutrymmet för 
tidsdata, dvs 4 * NoOfPoints. Tiden lagras som en pwr_tFoat32.

YMinValue Attribute
Klass Attribute
Typ Array of Float32
Flags ARRAY | REDUTRANSFER
Elements 10
Kropp RtBody
Minvärde för Y-axelns område.

YMaxValue Attribute
Klass Attribute
Typ Array of Float32
Flags ARRAY | REDUTRANSFER
Elements 10
Kropp RtBody
Maxvärde för Y-axelns område.

NoOfPoints Attribute
Klass Attribute
Typ UInt32
Flags REDUTRANSFER
Kropp RtBody
Antal mätpunkter i kurvan.

NoOfPointsBeforeTrigg Attribute
Klass Attribute
Typ UInt32
Flags REDUTRANSFER
Kropp RtBody
Antal mätpunkter före trigg-punkten.
Om BeforeTrigg är satt i Function attributet, kommer mätvärden att lagras
före trigg-punkten. Detta är antalet punkter före triggningen som ska visas.
Antalet ska vara större än 1 och mindre än NoOfPoints.

Layout Attribute
Klass Attribute
Typ CurveLayoutMask
Flags
Kropp RtBody
 Curve window layout.

TriggIndex Attribute
Klass Attribute
Typ UInt32
Flags STATE | INVISIBLE
Kropp RtBody
Specificerar första elementet i databufferten sedan triggningen har inträffat.

FirstIndex Attribute
Klass Attribute
Typ UInt32
Flags STATE | INVISIBLE
Kropp RtBody
 Specifies the first element in the data buffer with valid data.

LastIndex Attribute
Klass Attribute
Typ UInt32
Flags STATE | INVISIBLE
Kropp RtBody
Specificerar sista elementet i databufferten med giltigt data.

New Attribute
Klass Attribute
Typ Boolean
Flags STATE | INVISIBLE
Kropp RtBody
Indikerar att det finns en ny snabb-kurva att visa upp.
New sätts när kurvdata har lagrats, för att indikera för ett Snabb-kurve
fönster att nya kurv-data är tillgängliga. New återsälls efter ca 2 sekunder.

CurveValid Attribute
Klass Attribute
Typ Array of Boolean
Flags STATE | INVISIBLE | ARRAY
Elements 10
Kropp RtBody
Indikerar att en kurva är rätt konfigurerad och att data kommer att lagras
för kurvan.

TriggTime Attribute
Klass Attribute
Typ Time
Flags STATE | INVISIBLE
Kropp RtBody
Tid för senaste detekterade trigg-händelse.