FB_HVACPowerMeasurementKL3403

Dieser Funktionsbaustein dient dazu eine 3-Phasen-Leistungsmessklemme (KL/KS3403) zu steuern. Die Daten der Klemme werden ausgelesen und alle davon abhängigen Größen abgeleitet. Die Busklemme KL3403 ermöglicht die Messung aller relevanten elektrischen Daten des Versorgungsnetzes. Die Spannung wird über den direkten Anschluss von L1, L2, L3 und N gemessen. Der Strom der drei Phasen L1, L2 und L3 wird über einfache Stromwandler eingespeist. Die Messwerte aller Ströme und Spannungen stehen als Effektivwert zur Verfügung. In der KL3403 wird für jede Phase die Wirkleistung und der Energieverbrauch berechnet. Durch den Bezug der Effektivwerte von Spannung U und Strom I zur Wirkleistung P können alle weiteren Informationen wie Scheinleistung S oder der Phasenverschiebungswinkel cos φ abgeleitet werden. Die KL3403 stellt jedem Feldbus eine umfangreiche Netzanalyse und die Möglichkeit zu einem Energiemanagement zur Verfügung. Die Daten werden in 8 Gruppen nacheinander gelesen. Abhängige Werte werden zyklisch berechnet. Die Energiemessung wird mit dem Überlauf aus Register 1 als 32 Bit-Wert aus der Klemme gelesen. Zum Löschen dieses Zählwertes kann der Eingang bDelEnergyConsumption genutzt werden.
Die Ergebnisse der Leistungsmessung stehen in der Ausgangsstruktur ST_HVACPowerMeasurementzur Verfügung. Die Struktur ist 120 Bytes lang.
![]() | Die Ein- und Ausgangsvariablen wDataL1, wDataL2, wDataL3, bySBL1, bySBL2, bySBL3, byCBL1, byCBL2, byCBL3, iDataOutL1, iDataOutL2 und iDataOutL3 müssen mit der Busklemme KL3403 verknüpft sein. Diese werden benötigt um sämtliche Daten aus der Klemme zu bekommen. |
TYPE ST_HVACPowerMeasurement
STRUCT
diIL1, diIL2, diIL3 : DINT; A Ieff Auflösung: 0,1 A
diUL1, diUL2, diUL3 : DINT; V Ueff Auflösung: 0,1 V
diPL1, diPL2, diPL3 : DINT; kW Pw pro Phase Auflösung: 0,1 kW
diPg : DINT; kW Pges Auflösung: 0,1 kW
diCosPhiL1, diCosPhiL2, diCosPhiL3 : DINT; cosPhi pro Phase Auflösung: 0,01
diCosPhi : DINT; cosPhiges Auflösung: 0,01
diWL1, diWL2, diWL3 : DINT; kWh Energieverbrauch Auflösung: 1 kWh
diWg : DINT; kWh Energieverbrauch Auflösung: 1 kWh
diImaxL1, diImaxL2, diImaxL3 : DINT; A Imax Auflösung: 0,1 A
diUmaxL1, diUmaxL2, diUmaxL3 : DINT; V Umax Auflösung: 0,1 V
diPmaxL1, diPmaxL2, diPmaxL3 : DINT; kW Pmax Auflösung: 0,1 kW
diSg : DINT; kVA Sges Auflösung: 0,1 kVA
diQg : DINT; kvar Qges Auflösung: 0,1 kvar
dummy : DINT; Reserve, füllt die Struktur auf 120Bytes auf
END_STRUCT
VAR_INPUT
wDataL1, wDataL2, wDataL3 : WORD;
bySBL1, bySBL2, bySBL3 : BYTE;
diCurrTransFactor : DINT;
eModePowerMeasurement : E_HVACPowerMeasurementMode;
bDelEnergyConsumption : BOOL;
wDataLx: Eingangsdaten aus den drei Kanälen der KL3403.
bySBLx: Statusbyte der drei Kanäle der KL3403. Meldet zurück welcher Wert über den Eingang (wDataLx) gelesen werden kann.
diCurrTransFactor: Transformationsfaktor des Stromwandlers, dient zur Umrechnung auf den tatsächlichen Strangstrom und der damit verbundenen Werte.
Da unabhängig vom Klemmentyp der Messendwert immer dezimal 1000 ergibt (100,0%), muss für den Faktor der primäre Endwert des Wandler angegeben werden.
Beispiel KL3403-0000: Ein 400/1A Wandler ergibt einen diCurrTransFactor von 400. Bei einem Messwert von max. 1A, ergibt sich bei einer internen Auflösung von 0,001A ein Endwert von dezimal 1000 (100,0%) * diCurrTransFactor = 400A.
Beispiel KL3403-0010: Ein 400/5A Wandler ergibt einen diCurrTransFactor von 400. Bei einem Messwert von max. 5A, ergibt sich bei einer internen Auflösung von 0,005A ein Endwert von dezimal 1000 (100,0%) * diCurrTransFactor = 400A.
eModePowerMeasurement: Wenn dieser Parameter im Wertbereich zwischen 1 und 8 liegt, wird das automatische Auslesen aller Daten unterbrochen. Es wird nur die entsprechende ausgewählte Messgröße pro Zyklus gelesen (siehe E_HVACPowerMeasurementMode).
TYPE E_HVACPowerMeasurementMode :
(
eHVACPowerMeasurementMode_AutoAllValues := 0,
eHVACPowerMeasurementMode_Current := 1,
eHVACPowerMeasurementMode_Voltage := 2,
eHVACPowerMeasurementMode_EffectivePower := 3,
eHVACPowerMeasurementMode_PowerFactor := 4,
eHVACPowerMeasurementMode_EnergyConsumption := 5,
eHVACPowerMeasurementMode_PeakCurrentValu := 6, 1)
eHVACPowerMeasurementMode_PeakVoltageValue := 7, 1)
eHVACPowerMeasurementMode_PeakPowerValue := 81)
);
END_TYPE
bDelEnergyConsumption: Positive Flanke an diesem Eingang löscht den Energieverbrauch im EEPROM. Der Energieverbrauch wird im RAM gezählt und zyklisch alle 15 Minuten in das EEPROM gespeichert. Dort bleibt er auch beim Abschalten der KL3403 erhalten.
1) Die Minimal- und Spitzenwerte werden beim Abschalten der KL3403 gelöscht.
VAR_OUTPUT
bDelEnergyMeasuredValuesBusy : BOOL;
bError : BOOL;
iErrID : UDINT;
byCBL1, byCBL2, byCBL3 : BYTE;
iDataOutL1, iDataOutL2, iDataOutL3 : INT;
stQ_PowerMeasurement : ST_HVACPowerMeasurement;
bDelEnergyMeasuredValuesBusy: Da die Energiemesswerte aus dem internen EEPROM gelöscht werden müssen, wird während dieser Zeit kein Wert aktualisiert und die Variable bDelEnergyMeasuredValuesBusy zeigt TRUE.
bError: Wenn TRUE, dann ist ein Fehler in der Registerkommunikation aufgetreten.
iErrID: Fehler ID der Registerkommunikation
0x100 Timeout-Fehler. Die zulässige Ausführungszeit wurde überschritten.
0x200 Parameter Fehler (z.B. bei einer unzulässigen Registernummer).
0x300 Der gelesene Wert unterscheidet sich von dem geschriebenen Wert (Schreibzugriff auf diesen Register möglicherweise nicht erlaubt oder fehlgeschlagen )
byCBLx: Dieser Ausgang dient zur Auswahl des gewünschten Eingangswertes und zur Registerkommunikation um den Energieverbrauch zu löschen.
iDataOutLx: Dieser Ausgang dient zur Registerkommunikation um den Energieverbrauch zu löschen.
stQ_PowerMeasurement: Die Ergebnisse der Leistungsmessung als Ausgangsdatenstruktur (siehe ST_HVACPowerMeasurement).
Voraussetzungen
Entwicklungsumgebung | erforderliche Bibliothek | Erforderliche Function |
---|---|---|
TwinCAT 3.1 ab Build 4022.16 | Tc2_HVAC V3.3.1.0 | TF8000 | TC3 HVAC V1.0.0.0 |