SPS

Um die Filter in Form von Spezifikationen oder Koeffizienten in die SPS zu transferieren, gibt es mehrere Möglichkeiten. Der einfachste Weg ist über das Kontextmenü zu gehen. Dieses öffnet sich durch einen Rechtsklick auf das entsprechende Filter Set.

SPS 1:

Kopieren Sie die Daten des designten Filters in die Zwischenablage und gehen direkt in das bereits vorhandene SPS Projekt, um dort die Koeffizienten oder die entsprechende Spezifikation einzufügen. Aktuell gibt es drei verschiedene Kopier-Optionen.

Copy IIR Coeff Sos For PLC

Hier werden die Koeffizienten in einzelnen Biquads zerlegt und für den FB_FTR_IIRSos in einem Array, welches in einer Struktur ST_FTR_IIRSos angegeben werden muss, übergeben. Es müssen die Instanznamen des Arrays und der Struktur manuell deklariert werden.

//CoeffArray_Sos

: ARRAY [1..1] OF ARRAY [1..6] OF LREAL := [[0.894858606122573, -1.78971721224515, 0.894858606122573, 1, -1.77863177782458, 0.800802646665708]];

: ST_FTR_IIRSos :=(    nOversamples := 1,
                       nChannels := 1,
                       pCoefficientArrayAdr_Sos := ADR(),
                       nCoefficientArraySize_Sos := SIZEOF());

Copy IIR Coeff For PLC

Hier werden die Koeffizienten nicht zerlegt und für den FB_FTR_IIRCoeff in zwei Arrays für die Koeffizienten A und B übergeben. Für beide Arrays müssen Instanznamen angegeben werden. Sie sind in der Struktur ST_FTR_IIRCoeff bekannt zu machen. Die Struktur benötigt noch einen Instanznamen.

//DenomCoeffArray_a
: ARRAY [1..3] OF LREAL := [1, -1.77863177782458, 0.800802646665708];
//DenomCoeffArray_b
: ARRAY [1..3] OF LREAL := [0.894858606122573, -1.78971721224515, 0.894858606122573];

: ST_FTR_IIRCoeff := (nOversamples := 1,
                      nChannels := 1,
                      pCoefficientArrayAdr_A := ADR(),
                      nCoefficientArraySize_A := SIZEOF(),
                      pCoefficientArrayAdr_B := ADR(),
                      nCoefficientArraySize_B := SIZEOF());

Copy IIR Spec For PLC

Hier wird die eingestellte Spezifikation des Filters in Klartext in Form des Strukturtypen ST_FTR_IIRSpec kopiert. Die Struktur benötigt noch einen Instanznamen.

: ST_FTR_IIRSpec :=(eFilterName := E_FTR_Name.eButterworth,
                    eFilterType := E_FTR_Type.eHighPass,
                    nFilterOrder := 2,
                    fCutoff := 250,
                    fSamplingRate := 10000,
                    nOversamples := 1,
                    nChannels := 1 );

Eine weitere Möglichkeit die Filter Eigenschaften in die SPS zu transferieren, bietet der Dialog Transfer Filter Set.

SPS 2:

Hier können Sie zwischen SPS und I/O wählen. Im Falle der SPS ist es möglich einen Pfad, zum Beispiel zu einer Solution, anzugeben. Dieser wird auf mögliche POUs der Filter Bibliothek geprüft. Also auf Instanzen der Coeff oder Spec Strukturen. Den Scan-Vorgang lösen Sie mit dem Lupen-Button entsprechend aus.

Nach dem Scan werden alle Treffer unten in einer Baumansicht dargestellt. Sie können nun wählen, welche Filterstruktur Instanz durch den designten Filter überschrieben werden soll. Diese Funktion steht auch zur Verfügung, wenn die gescannte Solution bereits geöffnet ist. Das Visual Studio® macht Sie darauf aufmerksam, dass sich die Datei extern geändert hat, und bietet einen Reload an.