Class DsTrend
|
Version |
1.0 |
|
Modified |
26-MAY-2023 14:29:29.00 |
|
Långtidslagrar data för trendkurva.
I varje nod där mätdata för trendkurvor ska lagras finns behov av ett DsTrend-
jobb som genomsöker nodens (= lokala ) datalagringsobjekt.
Varje attribut (= mätstorhet) som ska kunna plottas kräver ett
datalagringsobjekt. Attribut i datalagringsobjektet anger t.ex. namnet på den
samplade mätstorheten och hur ofta lagring ska.
DsTrend 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.
En trendkurva består av mätvärden insamlade med given frekvens.
Insamlade mätvärden lagras i DataBuffer . Internt är DataBuffer uppdelad i två
lika delbuffrar. Arbetssättet går ut på att uppdatera varje element i den ena av
delbuffrarna och sedan fortsätta med första elementet i den andra delbufferten.
När också det sista elementet i den andra delbufferten blivit uppdaterad
fortsätter uppdateringen med första elementet i den första delbufferten.
Delbuffrarna uppdateras växelvis. BufferStatus anger hur resp delbuffert
används för tillfället.
Det samplade attributet ska vara en lokal storhet . Därför ska i målmiljön
DsTrend objekten finnas i samma nod som de samplade attributens objekt.
DsTrend modulen inkluderas i resp. processnods EBUILD-fil med hjälp av:
program PWR_EXE:RS_DS_TREND.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
Tips
Om till signal hör objekt av typen DsTrend , DsFast eller DsHist kan
förhållandet markeras genom att objektet placeras direkt under aktuellt
signalobjekt.
Configuration of a DsTrend Object
RtBody attributes pwr_sClass_DsTrend |
String80 |
Description |
|
Valfri text. |
UInt32 |
ScanTime |
|
Anger, i sekunder, DsTrend-jobbets cykeltid. Se också Multiple .
Attributet tilldelas samma värde som motsvarande attribut i nodens
DsTrendConf objekt. Detta görs vid DsTrend-jobbets initialisering. |
UInt16 |
Multiple |
|
Den enskilda mätstorhet som DataName anger kommer att lagrasmed perioden
ScanTime · Multiple . |
UInt16 |
NextMultiple |
|
Används för att hålla reda på vid vilka exekveringar just denna instans ska
hanteras. NextMultiple sätts till värdet av Multiple och räknas därefter ned vid
varje exekvering. Blir NextMultiple = 0 sker sampling och lagring varefter
attributet åter tilldelas värdet Multiple . |
UInt32 |
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 per delbuffert. Om denna tid,
med hänsyn till lagringsfrekvensen, överskrider vad som ryms i DataBuffer ,
förloras de äldsta värdena i DataBuffer .
eftersom ScanTime = Multiple = 1
StorageTime , Multiple , BaseFrequency och NoOfBufElement bestämmer
NoOfSample . |
CurveLayoutMask |
Layout |
|
Curve window layout. |
UInt32 |
NoOfSample |
|
Anger antal sampel som kan lagras per delbuffert. |
UInt16 |
WriteBuffer |
|
Anger vilken delbuffert som för närvarande används för skrivning.
= 0, .... ( NoOfBuffers - 1) |
Array of UInt16 |
NextWriteIndex |
|
Anger var i den aktuella delbufferten nästa skrivning ska ske. |
Array of UInt16 |
BufferStatus |
|
Anger aktuell status för resp. delbuffert. Följande värden finns:
0 -- Delbufferten används ej för skrivning.
1 -- Delbufferten används för skrivning. |
UInt16 |
NoOfBuffers |
|
Anger antalet delbuffrar som arean DataBuffer består av. NoOfBufElement
anger antalet element som varje delbuffert består av. |
UInt16 |
NoOfBufElement |
|
Anger antal element varje delbuffert består av. |
Array of Time |
BufferTime |
|
Tidpunkt, per delbuffert, för första lagringen i en skrivsession. |
Array of Float32 |
DataBuffer |
|
Totalt tillgängligt lagringsutrymme. Max. storleken är förutbestämd (=
NoOfBuffers · NoOfBufElement ) och anger antal sampel som samtidigt kan
hållas lagrade i en lagringscykel. |
Template Object |
Multiple |
1 |
StorageTime |
239 |
BufferStatus[0] |
1 |
BufferStatus[1] |
1 |
NoOfBuffers |
2 |
NoOfBufElement |
239 |
Attributes detail
Anger, i sekunder, DsTrend-jobbets cykeltid. Se också Multiple .
Attributet tilldelas samma värde som motsvarande attribut i nodens
DsTrendConf objekt. Detta görs vid DsTrend-jobbets initialisering.
Den enskilda mätstorhet som DataName anger kommer att lagrasmed perioden
ScanTime · Multiple .
Används för att hålla reda på vid vilka exekveringar just denna instans ska
hanteras. NextMultiple sätts till värdet av Multiple och räknas därefter ned vid
varje exekvering. Blir NextMultiple = 0 sker sampling och lagring varefter
attributet åter tilldelas värdet Multiple .
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.
Samplade mätstorhetens (attributets) fullständiga namn. Storheten, som ska
vara lokal, anges t.ex. som PROC1-TEMP1. ActualValue
Pekar på den storhet som ska samplas och lagras.
Identitet vid prenumeration av mätstorheten.
Anger, i sekunder, längden på lagringssekvensen per delbuffert. Om denna tid,
med hänsyn till lagringsfrekvensen, överskrider vad som ryms i DataBuffer ,
förloras de äldsta värdena i DataBuffer .
eftersom ScanTime = Multiple = 1
StorageTime , Multiple , BaseFrequency och NoOfBufElement bestämmer
NoOfSample .
Anger antal sampel som kan lagras per delbuffert.
Anger vilken delbuffert som för närvarande används för skrivning.
= 0, .... ( NoOfBuffers - 1)
Anger var i den aktuella delbufferten nästa skrivning ska ske.
Anger aktuell status för resp. delbuffert. Följande värden finns:
0 -- Delbufferten används ej för skrivning.
1 -- Delbufferten används för skrivning.
Anger antalet delbuffrar som arean DataBuffer består av. NoOfBufElement
anger antalet element som varje delbuffert består av.
Anger antal element varje delbuffert består av.
Tidpunkt, per delbuffert, för första lagringen i en skrivsession.
Totalt tillgängligt lagringsutrymme. Max. storleken är förutbestämd (=
NoOfBuffers · NoOfBufElement ) och anger antal sampel som samtidigt kan
hållas lagrade i en lagringscykel.