FB_CMA_Downsampling
Downsampling von Signaldaten durch Kopieren der Signaldaten von einem SPS Puffers zu einem anderen SPS Puffer (Array).
Ein Signal, als Puffer vorliegend (z.B. Oversampling Array), kann um einen individuellen Teiler verlangsamt abgetastet werden. Downsampling ist eine Möglichkeit niedrigere Frequenzen zu analysieren ohne die FFT Länge vergrößern zu müssen, um eine hohe Auflösung beizubehalten.
Üblicherweise wird ein Downsampling Block in der Condition Monitoring Analysekette vor einem FB_CMA_Source angefügt.
Ein- und Ausgänge
Eingangsparameter
VAR_INPUT
nDivider : UDINT := 1; // given input signal is sampled down by the specified divider. (1 = no downsampling)
nChannels : UDINT; // number of channels in data buffer (=1:onedimensional dataset, >1:twodimensional dataset)
END_VAR
nDivider
: Gibt den Downsampling-Faktor als ganzzahligen Divisor an. Eine Samplerate von 10 KHz kann beispielsweise mitnDivider=5
zu einer Samplerate von 2 KHz gewandelt werden.nChannels
: Zum Downsampling eines mehrkanaligen Datensatzes wird die Anzahl der Kanäle am EingangnChannels
angegeben.
Ausgangsparameter
VAR_OUTPUT
bError : BOOL; // TRUE if an error occurs. Reset by next method call.
hrErrorCode : HRESULT; // '< 0' = error; '> 0' = info; '0' = no error/info
ipErrorMessage : I_TcMessage := fbErrorMessage; // Shows detailed information about occurred errors, warnings and more.
nCntResults : ULINT; // Counts outgoing results (MultiArrays were calculated and sent to transfer tray).
END_VAR
-
bError
: Der Ausgang istTRUE
, falls ein Fehler auftritt. -
hrErrorCode
: Falls ein Fehler auftritt, wird ein entsprechender Fehlercode vom TypHRESULT
ausgegeben. Mögliche Werte sind in der Liste der Fehlercodes erläutert. -
ipErrorMessage
: Beinhaltet nähere Informationen zum aktuellen Rückgabewert. Siehe hierzu den Abschnitt Fehlerbeschreibung und Information. Für diesen speziellen Schnittstellenzeiger ist intern sichergestellt, dass er immer gültig/zugewiesen ist.
Methoden
Call():
SchreibtDaten des Eingangsdatenpuffers in den Ausgangsdatenpuffer. Der Ausgangsdatenpuffer ist vollständig gefüllt sobald bNewResult gesetzt ist.
- Rückgabewert: Falls ein Fehler auftritt, wird ein entsprechender Fehlercode vom Typ
HRESULT
ausgegeben. Mögliche Werte sind in der Liste der Fehlercodes erläutert.
METHOD Call : HRESULT
VAR_INPUT
pDataIn : POINTER TO BYTE; // address of data buffer (e.g. oversampling data)
nDataInSize : UDINT; // size of data buffer in bytes
pDataOut : POINTER TO BYTE; // address of result buffer
nDataOutSize : UDINT; // size of data buffer in bytes
nElementSize : UDINT; // Size of element type in bytes
END_VAR
VAR_OUTPUT
bNewResult : BOOL; // TRUE every time when outgoing data buffer was calculated.
bError : BOOL; // TRUE if an error occurs.
hrErrorCode : HRESULT; // '< 0' = error; '> 0' = info; '0' = no error/info
END_VAR
pDataIn
: Der zugewiesene Eingangspuffer.nDataInSize:
Gibt die Größe des SPS Eingangspuffers an und muss folgende Bedingung erfüllen:nChannels * nElementSize * „
Elementanzahl pro Kanal“.pDataOut
: Der zugewiesene Ausgangspuffer muss unverändert bleiben bis der AusgangbNewResult
gesetzt wird. Üblicherweise werden Ein- und Ausgangspuffer immer beibehalten.nDataOutSize
: Gibt die Größe des SPS Ausgangspuffers an und muss folgende Bedingung einhalten:nDataOutSize = n * nDataInSize
. Falls der Quotient ohne Rest durch den ParameternDivider
teilbar ist, ist alternativ folgende Bedingung anwendbar:nDataOutSize = n * (nDataInSize/nDivider)
.nElementSize
: Gibt die Größe eines Elements in Bytes an. Die Größe ist beispielsweise 8 für ein Array von LREAL Elementen.bError
: Der Ausgang istTRUE
, falls ein Fehler auftritt.hrErrorCode
: Falls ein Fehler auftritt, wird ein entsprechender Fehlercode vom Typ HRESULT ausgegeben. Mögliche Werte sind in der Liste der Fehlercodes erläutert. Dieser Ausgang ist identisch zum Rückgabewert der Methode.
Falls ein Timeout eintritt oder kein MultiArray Puffer für das Ergebnis verfügbar ist, so gehen weder die Eingangsdaten noch die Ergebnisdaten verloren. Sie werden beim nächsten Aufruf weitergeleitet. |
Falls ein Fehler auftritt, wird keine Kopieraktion ausgeführt. |
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
---|---|---|
TwinCAT v3.1.4022.25 | PC or CX (x86, x64) | Tc3_CM, Tc3_CM_Base |
Eingeschränkter Funktionsumfang bereits mit CM 3.1 verfügbar. Siehe Abschnitt Kompatibilität. |