FB_HVACPowerMeasurementKL3403

FB_HVACPowerMeasurementKL3403 1:

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.

FB_HVACPowerMeasurementKL3403 2:

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 := 8
1)
);
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