FB_GseSvFunctionGeneratorClass

Dieser Funktionsbaustein implementiert einen einfachen Generator für Sinusfunktion-Testsignal. Die generierten Abtastwerte können für eine Simulation der SV-Kommunikation verwendet werden.
Namensraum: Tc3_Gse
Bibliothek: Tc3_Gse (Tc3_Gse.compiled-library)
FUNCTION_BLOCK FB_GseSvFunctionGeneratorClass
VAR_OUTPUT
bValid : BOOL;
fSignal : LREAL;
nSmpRate : UINT;
nSample : UDINT;
END_VAR
Ausgänge
Name | Typ | Beschreibung |
|---|---|---|
bValid | BOOL | Dieser Ausgang hat den Wert: TRUE, wenn die Signalgenerator-Konfiguration gültig ist und den Wert: FALSE, wenn einer oder mehrere Parameterwerte ungültig sind. Beispiele für ungültige Parameterwerte: nOversampleFactor = 0, fFrequency <= 0, nSpecifiedSmpRate = 0 oder fCycleTimeCorrectionFactor <= 0. |
fSignal | LREAL | Liefert den zuletzt mit dem Call-Methodenaufruf generierten Signal-Abtastwert der Sinusfunktion. |
nSmpRate | UINT | Effektive Abtastrate. Im Abtastmodus: ‚AtSmpRateProPeriod‘ ist es die festgelegte Anzahl der Abtastwerte pro Periode. Im Abtastmodus: ‚AtSmpRateProSecond‘ ist es die festgelegte Anzahl der Abtastwerte pro Sekunde. Im Abtastmodus: ‚AtPlcTaskCycleTime‘ wird dieser Parameterwert nicht verwendet und die effektive Abtastrate aus der Zykluszeit der SPS-Task, der Frequenz und des konfigurierten Oversampling-Faktors errechnet. |
nSample | UDINT | Abtastwert-Nummer. Der Wert inkrementiert bei jedem Call-Methodenaufruf. Der erste Abtastwert hat die Nummer: 0 und der letzte Abtastwert die Nummer: nSmpRate – 1. Beim nSmpRate-Call hat die Abtastwert-Nummer einen Überlauf und erneut den Wert: 0. |
Methoden
Name | Beschreibung |
|---|---|
Die Methode generiert einen neuen Signal-Abtastwert. Im Signal-Abtastmodus: ‚AtPlcTaskCycleTime‘ wird diese Methode normalerweise in jedem SPS-Taskzyklus nOversampleFactor-mal aufgerufen. | |
Die Methode konfiguriert den Funktionsgenerator in Abhängigkeit vom ausgewählten Signal-Abtastmodus (eMode), der Zykluszeit der SPS-Taks, dem SPS-Zykluszeit-Korrekturfaktor (fCycleTimeCorrectionFactor), dem konfigurierten Oversampling-Faktor (nOversampleFactor), der konfigurierten Abtastrate (nSpecifiedSmpRate) sowie der Signalfrequenz (fFrequency). Die Config-Methode wird bei jeder Wertänderung dieser Konfigurationsparameter intern automatisch aufgerufen. | |
Die Methode setzt den Ausgangswert: fSignal auf: 0 und die Abtastwert-Nummer: nSample auf 0 zurück. Nach diesem Methodenaufruf generiert der nächste Call-Methodenaufruf erneut den ersten Abtastwert mit der Nummer 0. Bei einer Änderung der Konfigurationsparameter wird die Reset-Methode intern automatisch intern von der Config-Methode aufgerufen. |
Eigenschaften
Name | Typ | Zugriff | Beschreibung |
|---|---|---|---|
eMode | Set | Signal-Abtastmodus. Standardwert: ‚AtPlcTaskCycleTime‘ => Abtastung im SPS-Taskzyklus. | |
fAmplitude | LREAL | Set | Legt die Spitzenamplitude des Signals fest. Z.B. in V oder A. Standardwert: 230 V * √2 => ~ 325 V. |
fCycleTimeCorrectionFactor | LREAL | Set | Legt den Korrekturfaktor für die SPS-Task-Zykluszeit fest. Standardwert: 1.0 (keine Korrektur). Werte <= 0 sind ungültig. |
fFrequency | LREAL | Set | Legt die Signalfrequenz in Hz fest. Standardwert: 50.0 Hz. Werte <= 0 sind ungültig. |
fOffset | LREAL | Set | Legt den Signal-Offset fest. Standardwert: 0 (kein Offset). |
fPhi | LREAL | Set | Legt die Signalphasenverschiebung in ° fest. Standardwert: 0°. |
nOversampleFactor | UINT(1..128) | Set | Legt den Oversampling-Faktor des Signalgenerators fest. Wert 0 ist ungültig. Standardwert: 1 (kein Oversampling). In der UCA 61850-9-2LE Konfiguration enthält eine SV-Nachricht des MSVCB01 nur einen Signal-Abtastwert (kein Oversampling) und eine SV-Nachricht des MSVCB02 acht Signal-Abtastwerte (Oversampling-Faktor: 8). Um die 8 Abtastwerte pro SPS-Zyklus zu generieren, wird z.B. beim MSVCB08-Signalgenerator der Oversampling-Faktor: 8 und beim MSVCB01-Signalgenerator der Oversampling-Faktor: 1 konfiguriert. Die Call-Methode des MSVCB02 wird acht Mal und die Call-Methode des MSVCB01 ein Mal pro SPS-Zyklus aufgerufen. Die Zykluszeit der SPS-Task bestimmt dann die effektive Abtastrate. |
nSpecifiedSmpRate | UINT | Set | Die für den Abtastmodus: ‚AtSmpRatePerPeriod‘ oder ‚AtSmpRatePerSecond‘ festgelegte Abtastrate. Standardwert: 80. Wert 0 ist ungültig. Im Abtastmodus: ‚AtPlcTaskCycleTime‘ wird dieser Parameterwert ignoriert und nicht verwendet. |