Deklaration und Aufruf von Filtern mit FB_FTR_<type>
In diesem Beispiel wird exemplarisch gezeigt, wie die einzelnen Filterfunktionsbausteine der SPS-Bibliothek Tc3_Filter deklariert und aufgerufen werden.
Download: Tc3_Filter_AllFilters.zip (*.tnzip)
Beschreibung:
- Das Beispielprojekt besteht aus einem TwinCAT-SPS-Projekt.
- Im SPS-Programm MAIN wird über einen Funktionsgenerator ein harmonisches Signal erzeugt, das als Eingangssignal für die verschiedenen Filter genutzt wird.
- Jeder Filter wird in einem separaten Funktionsbaustein beschrieben, der im SPS‑Programm MAIN instanziiert wird.
- Die SPS-Programm MAIN wird von einer Task mit 1 ms Zykluszeit aufgerufen.
Implementierung:
- In den Funktionsbausteinen werden exemplarisch die Deklarationen und Aufrufe der in der Bibliothek Tc3_Filter zur Verfügung gestellten Filterbausteine dargestellt.
- Über die Variable
nExampleSelector
können Sie den verwendenden Filter während der Laufzeit verändern.
Grundprinzip:
FUNCTION_BLOCK FB_PT1
VAR_INPUT
aBuffer : ARRAY [1..MAIN.cChannels] OF ARRAY [1..MAIN.cOversamples] OF LREAL;
END_VAR
VAR_OUTPUT
aOutput : ARRAY [1..MAIN.cChannels] OF ARRAY [1..MAIN.cOversamples] OF LREAL;
END_VAR
VAR
stParams: ST_FTR_PT1 := (fSamplingRate := 10000,
fKp := 1,
fT1 := 6.3661977236758134307553505349006E-4,
nOversamples := MAIN.cOversamples,
nChannels := MAIN.cChannels);
// fT1 correlates to fc=250 Hz
fbFilter : FB_FTR_PT1:=(stConfig:=stParams);
END_VAR
Siehe auch: