Volume pwrb | |
Attributes: Runtime | Development | System | Template | Detail C Binding: Struct | Class ClassTree | INDEX NO INDEX |
Class DsFast![]() |
||
---|---|---|
Version | 1.0 | |
Modified | 15-JAN-2025 13:23:34.00 |
Lagrar data för snabbkurva à la minnesoscilloskop. I varje nod där mätdata för snabbkurvor ska lagras finns behov av ett DsFast- jobb som genomsöker nodens (= lokala ) datalagringsobjekt. Varje attribut (= mätstorhet) som ska kunna plottas måste ha ett data lagringsobjekt. Attribut i datalagringsobjektet anger t.ex. namnet på den samplade mätstorheten och hur ofta lagring ska. En mätstorhet kan ha flera datalagringsobjekt, t.ex. för lagring med olika frekvens.
DsFast Job with Data Storage Objects NB! Kom ihåg att sampling av fysiska signaler sker med ändlig frekvens. För närvarande samplas analoga signaler (Ai, Ao) med 5 Hz och Co-, Di-, Do- signaler med basfrekvensen vilken är lika med den frekvens som det i noden oftast exekverande PLC programmet har. Högsta möjliga basfrekvens är 50 Hz. Data lagras i en cirkulär lista (buffer) med storleken NoOfBufElement . Samplingscykeln startas genom att Start -flaggan sätts. Detta kan göras med hjälp av Start-knappen i snabbkurv-bilden. Mätstorheten samplas och värdet lagras i DataBuffer . När alla element i den cirkulära listan fått värden en gång sätts AllDataOK . Flaggan Trigged kan sättas av två skilda händelser: manuellt från t.ex. Trigger-knappen i snabbkurv-bilden. I detta fall sätts TrigManTrue . via yttre signal vars namn anges av TrigName . Samplingscykeln fortsätter därefter med ytterligare NoOfBufElement - SampBeforeTrig sampel efter det att flaggan Trigged blivit satt varefter den stoppas. Mätvärdena i den cirkulära listan, som nu är frysta, plottas därefter i snabbkurv-bilden. Det samplade attributet ska vara en lokal storhet . Därför ska i målmiljön DsFast objekten finnas i samma nod som de samplade attributens objekt. DsFast modulen inkluderas i resp. processnods EBUILD-fil med hjälp av: program PWR_EXE:RS_DS_FAST.EXE_ELN /warm_debug Det samplade attributet förutsätts vara någon av typerna: - pwr_tBoolean - pwr_tFloat32, pwr_tFloat64 - pwr_tInt8, pwr_tInt16, pwr_tInt32 - pwr_tUInt8, pwr_tUInt16, pwr_tUInt32
RtBody attributes pwr_sClass_DsFast | |||
---|---|---|---|
String80 | Description | Valfri text. | |
Boolean | Start | Anger om lagring ska göras eller ej. FALSE betyder att lagringen ska stoppas. TRUE innebär att lagringen är igång. Lagringen kan startas från Start-knappen i snabbkurv-bilden. Attributet sätts FALSE när lagringscykeln avslutas. |
|
UInt32 | BaseFrequency | DsFast-jobbets frekvens i Hz. Se också Multiple nedan. Attributet tilldelas samma värde som motsvarande attribut i nodens DsFastConf objekt. Detta görs vid DsFast-jobbets initialisering. |
|
UInt16 | Multiple | Den enskilda mätstorhet som DataName anger kommer att lagrasmed frekvensen BaseFrequency / Multiple . |
|
UInt16 | NextMultiple | Används för att hålla reda på vid vilka scan just denna instans ska hanteras. NextMultiple sätts till värdet av Multiple och räknas därefter ned vid varje scan. Blir NextMultiple = 0 sker sampling och lagring varefter attributet åter tilldelas värdet Multiple . |
|
UInt8 | TrigMode | Anger triggvillkoret för den binära signal som anges av TrigName . Följande värden är möjliga: 0 -- triggning är blockerad. 1 -- positiv flank, dvs. övergången FALSE --> TRUE startar lagring. 2 -- negativ flank, dvs. övergången TRUE --> FALSE startar lagring. |
|
AttrRef | TrigName | Namn på extern binär triggsignal. Triggsignalens fullständiga namn, t.ex. för lokal storhet, PROC1-Di123 . ActualValue . Fältet lämnas blankt om yttre triggsignal saknas. |
|
Pointer to Boolean | TrigPointer | Om TrigName är ifylld, pekare till den externa triggsignalen. | |
RefId | TrigSubId | Identitet vid prenumeration av triggsignal. | |
Boolean | TrigManTrue | Anger om ovillkorlig triggning ska göras eller ej. TRUE betyder att triggning ska ske. Attributet sätts TRUE , t.ex. via Trigger-knappen i snabbkurv-bilden för att åter blir FALSE när samplingscykeln avslutas. |
|
UInt8 | DataType | Lagrar mätstorhetens datatyp. Denna ska vara någon av typerna: pwr_tBoolean, pwr_tFloat32, pwr_tFloat64, pwr_tInt8, pwr_tInt16, pwr_tInt32, pwr_tUInt8, pwr_tUInt16 eller pwr_tUInt32. |
|
AttrRef | DataName | Samplade mätstorhetens (attributets) fullständiga namn. Storheten, som ska vara lokal, anges t.ex. som PROC1-TEMP1. ActualValue |
|
Pointer to Float32 | DataPointer | Pekar på den storhet som ska samplas och lagras. | |
RefId | DataSubId | Identitet vid prenumeration av mätstorheten. | |
UInt32 | StorageTime | Anger, i sekunder, längden på lagringssekvensen. Om denna tid, med hänsyn till lagringsfrekvensen, överskrider vad som ryms i DataBuffer , stoppas lagringen när DataBuffer blivit fylld. StorageTime , Multiple , BaseFrequency och NoOfBufElement bestämmer NoOfSample. |
|
UInt32 | NoOfSample | Antal sampel som kan lagras i DataBuffer . | |
UInt32 | SampBeforeTrig | Anger antal sampel före triggtidpunkten som ska ingå i 'mätprovet'. | |
UInt32 | TrigIndex | Anger 1:a elementet i DataBuffer sedan triggning skett. | |
Boolean | Trigged | Anger om triggvillkoret, under pågående samplingscykel, har uppfyllts eller ej. TRUE betyder att triggvillkoret uppfyllts. Attributet blir FALSE så snart samplingscykeln avslutas. |
|
UInt32 | NextIndex | Anger var i bufferten nästa skrivning ska göras. | |
Boolean | AllDataOK | Anger om hela bufferten uppdaterats sedan Start -attributet blivit TRUE eller ej. AllDataOK sätts TRUE då DataBuffer har uppdaterats minst en gång och FALSE så snart samplingscykeln avslutas. |
|
UInt16 | NoOfBufElement | Anger antalet element som kan lagras i DataBuffer vid ett mätprov. | |
Array of Float32 | DataBuffer | Totalt tillgänglig lagringsutrymme. Max. storleken, som är förutbestämd (= NoOfBufElement ), anger antal sampel som samtidigt kan hållas lagrade. |
Template Object | |
---|---|
StorageTime | 9 |
BaseFrequency | 50 |
Multiple | 1 |
NoOfBufElement | 460 |
Description Attribute | ||
---|---|---|
Klass | Attribute | |
Typ | String80 | |
Flags | ||
Kropp | RtBody |
Valfri text.
Start Attribute | ||
---|---|---|
Klass | Attribute | |
Typ | Boolean | |
Flags | STATE | INVISIBLE | |
Kropp | RtBody |
Anger om lagring ska göras eller ej. FALSE betyder att lagringen ska stoppas. TRUE innebär att lagringen är igång. Lagringen kan startas från Start-knappen i snabbkurv-bilden. Attributet sätts FALSE när lagringscykeln avslutas.
BaseFrequency Attribute | ||
---|---|---|
Klass | Attribute | |
Typ | UInt32 | |
Flags | STATE | INVISIBLE | |
Kropp | RtBody |
DsFast-jobbets frekvens i Hz. Se också Multiple nedan. Attributet tilldelas samma värde som motsvarande attribut i nodens DsFastConf objekt. Detta görs vid DsFast-jobbets initialisering.
Multiple Attribute | ||
---|---|---|
Klass | Attribute | |
Typ | UInt16 | |
Flags | ||
Kropp | RtBody |
Den enskilda mätstorhet som DataName anger kommer att lagrasmed frekvensen BaseFrequency / Multiple .
NextMultiple Attribute | ||
---|---|---|
Klass | Attribute | |
Typ | UInt16 | |
Flags | STATE | INVISIBLE | |
Kropp | RtBody |
Används för att hålla reda på vid vilka scan just denna instans ska hanteras. NextMultiple sätts till värdet av Multiple och räknas därefter ned vid varje scan. Blir NextMultiple = 0 sker sampling och lagring varefter attributet åter tilldelas värdet Multiple .
TrigMode Attribute | ||
---|---|---|
Klass | Attribute | |
Typ | UInt8 | |
Flags | ||
Kropp | RtBody |
Anger triggvillkoret för den binära signal som anges av TrigName . Följande värden är möjliga: 0 -- triggning är blockerad. 1 -- positiv flank, dvs. övergången FALSE --> TRUE startar lagring. 2 -- negativ flank, dvs. övergången TRUE --> FALSE startar lagring.
TrigName Attribute | ||
---|---|---|
Klass | Attribute | |
Typ | AttrRef | |
Flags | ||
Kropp | RtBody |
Namn på extern binär triggsignal. Triggsignalens fullständiga namn, t.ex. för lokal storhet, PROC1-Di123 . ActualValue . Fältet lämnas blankt om yttre triggsignal saknas.
TrigPointer Attribute | ||
---|---|---|
Klass | Attribute | |
Typ | Pointer to Boolean | |
Flags | POINTER | PRIVATE | STATE | INVISIBLE | |
Kropp | RtBody |
Om TrigName är ifylld, pekare till den externa triggsignalen.
TrigSubId Attribute | ||
---|---|---|
Klass | Attribute | |
Typ | RefId | |
Flags | STATE | INVISIBLE | |
Kropp | RtBody |
Identitet vid prenumeration av triggsignal.
TrigManTrue Attribute | ||
---|---|---|
Klass | Attribute | |
Typ | Boolean | |
Flags | STATE | INVISIBLE | |
Kropp | RtBody |
Anger om ovillkorlig triggning ska göras eller ej. TRUE betyder att triggning ska ske. Attributet sätts TRUE , t.ex. via Trigger-knappen i snabbkurv-bilden för att åter blir FALSE när samplingscykeln avslutas.
DataType Attribute | ||
---|---|---|
Klass | Attribute | |
Typ | UInt8 | |
Flags | STATE | INVISIBLE | |
Kropp | RtBody |
Lagrar mätstorhetens datatyp. Denna ska vara någon av typerna: pwr_tBoolean, pwr_tFloat32, pwr_tFloat64, pwr_tInt8, pwr_tInt16, pwr_tInt32, pwr_tUInt8, pwr_tUInt16 eller pwr_tUInt32.
DataName Attribute | ||
---|---|---|
Klass | Attribute | |
Typ | AttrRef | |
Flags | ||
Kropp | RtBody |
Samplade mätstorhetens (attributets) fullständiga namn. Storheten, som ska vara lokal, anges t.ex. som PROC1-TEMP1. ActualValue
DataPointer Attribute | ||
---|---|---|
Klass | Attribute | |
Typ | Pointer to Float32 | |
Flags | POINTER | PRIVATE | STATE | INVISIBLE | |
Kropp | RtBody |
Pekar på den storhet som ska samplas och lagras.
DataSubId Attribute | ||
---|---|---|
Klass | Attribute | |
Typ | RefId | |
Flags | STATE | INVISIBLE | |
Kropp | RtBody |
Identitet vid prenumeration av mätstorheten.
StorageTime Attribute | ||
---|---|---|
Klass | Attribute | |
Typ | UInt32 | |
Flags | ||
Kropp | RtBody |
Anger, i sekunder, längden på lagringssekvensen. Om denna tid, med hänsyn till lagringsfrekvensen, överskrider vad som ryms i DataBuffer , stoppas lagringen när DataBuffer blivit fylld. StorageTime , Multiple , BaseFrequency och NoOfBufElement bestämmer NoOfSample.
NoOfSample Attribute | ||
---|---|---|
Klass | Attribute | |
Typ | UInt32 | |
Flags | STATE | INVISIBLE | |
Kropp | RtBody |
Antal sampel som kan lagras i DataBuffer .
SampBeforeTrig Attribute | ||
---|---|---|
Klass | Attribute | |
Typ | UInt32 | |
Flags | ||
Kropp | RtBody |
Anger antal sampel före triggtidpunkten som ska ingå i 'mätprovet'.
TrigIndex Attribute | ||
---|---|---|
Klass | Attribute | |
Typ | UInt32 | |
Flags | STATE | INVISIBLE | |
Kropp | RtBody |
Anger 1:a elementet i DataBuffer sedan triggning skett.
Trigged Attribute | ||
---|---|---|
Klass | Attribute | |
Typ | Boolean | |
Flags | STATE | INVISIBLE | |
Kropp | RtBody |
Anger om triggvillkoret, under pågående samplingscykel, har uppfyllts eller ej. TRUE betyder att triggvillkoret uppfyllts. Attributet blir FALSE så snart samplingscykeln avslutas.
NextIndex Attribute | ||
---|---|---|
Klass | Attribute | |
Typ | UInt32 | |
Flags | STATE | INVISIBLE | |
Kropp | RtBody |
Anger var i bufferten nästa skrivning ska göras.
AllDataOK Attribute | ||
---|---|---|
Klass | Attribute | |
Typ | Boolean | |
Flags | STATE | INVISIBLE | |
Kropp | RtBody |
Anger om hela bufferten uppdaterats sedan Start -attributet blivit TRUE eller ej. AllDataOK sätts TRUE då DataBuffer har uppdaterats minst en gång och FALSE så snart samplingscykeln avslutas.
NoOfBufElement Attribute | ||
---|---|---|
Klass | Attribute | |
Typ | UInt16 | |
Flags | CONST | INVISIBLE | |
Kropp | RtBody |
Anger antalet element som kan lagras i DataBuffer vid ett mätprov.
DataBuffer Attribute | ||
---|---|---|
Klass | Attribute | |
Typ | Array of Float32 | |
Flags | ARRAY | STATE | INVISIBLE | |
Elements | 460 | |
Kropp | RtBody |
Totalt tillgänglig lagringsutrymme. Max. storleken, som är förutbestämd (= NoOfBufElement ), anger antal sampel som samtidigt kan hållas lagrade.