FB_MBUS_KAM_Multical402

FB_MBUS_KAM_Multical402 1:

Dieser Baustein dient zum Auslesen von Energiezählern der Firma Kamstrup.

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress      : USINT;
stSecAdr        : ST_MBUS_SecAdr;
eBaudrate       : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart          : BOOL;
bSND_NKE        : BOOL := TRUE;
bReadInit       : BOOL := TRUE;
tMinSendTime    : TIME := t#2s;
bDisabled       : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy                  : BOOL;
bReady                 : BOOL;
bError                 : BOOL;
eError                 : E_MBUS_ERROR;
dwIdNumber             : DWORD;
byStatus               : BYTE;
byGEN                  : BYTE;
byCounter              : BYTE;
usiRecivedAdr          : USINT;
eMedium                : E_MBUS_Medium;
sMan                   : STRING(3);
stEnergyHeating        : ST_MBus_Info;
stVolume               : ST_MBus_Info;
stOnTime               : ST_MBus_Info;
stTempFlow             : ST_MBus_Info;
stTempReturn           : ST_MBus_Info;
stTempDiff             : ST_MBus_Info;
stPowerActual          : ST_MBus_Info;
stPowerMax             : ST_MBus_Info;
stFlowActual           : ST_MBus_Info;
stFlowMax              : ST_MBus_Info;
stTariff2              : ST_MBus_Info;
stTariff3              : ST_MBus_Info;
stPulseInputA          : ST_MBus_Info;
stPulseInputB          : ST_MBus_Info;
stEnergyCooling        : ST_MBus_Info;
stDateTime             : ST_MBus_Info;
stEnergyHeatingTarget  : ST_MBus_Info;
stVolumeTarget         : ST_MBus_Info;
stPowerMaxTarget       : ST_MBus_Info;
stFlowMaxTarget        : ST_MBus_Info;
stTariff2Target        : ST_MBus_Info;
stTariff3Target        : ST_MBus_Info;
stPulseInputATarget    : ST_MBus_Info;
stPulseInputBTarget    : ST_MBus_Info;
stEnergyCoolingTarget  : ST_MBus_Info;
stDateTarget           : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergyHeating: Wärmeenergie (siehe ST_MBus_Info).

stVolume: Verbrauchtes Fernwärmewasser (siehe ST_MBus_Info).

stOnTime: Betriebsstunden (siehe ST_MBus_Info).

stTempFlow: Aktuelle Vorlauftemperatur (siehe ST_MBus_Info).

stTempReturn: Aktuelle Rücklauftemperatur (siehe ST_MBus_Info).

stTempDiff: Aktuelle Temperaturdifferenz (siehe ST_MBus_Info).

stPowerActual: Aktuelle Wirkleistung (siehe ST_MBus_Info).

stPowerMax: Wirkleistung (maximal) (siehe ST_MBus_Info).

stFlowActual: Aktueller Durchfluss (siehe ST_MBus_Info).

stFlowMax: Durchfluss (maximal) (siehe ST_MBus_Info).

stTariff2: Tarif 2 (siehe ST_MBus_Info).

stTariff3: Tarif 3 (siehe ST_MBus_Info).

stPulseInputA: Impulseingang A (siehe ST_MBus_Info).

stPulseInputB: Impulseingang B (siehe ST_MBus_Info).

stEnergyCooling: Kühlenergie (siehe ST_MBus_Info).

stDateTime: Datum und Uhrzeit (siehe ST_MBus_Info).

stEnergyHeatingTarget: Siehe Angaben des Herstellers (siehe ST_MBus_Info).

stVolumeTarget: Siehe Angaben des Herstellers (siehe ST_MBus_Info).

stPowerMaxTarget: Siehe Angaben des Herstellers (siehe ST_MBus_Info).

stFlowMaxTarget: Siehe Angaben des Herstellers (siehe ST_MBus_Info).

stTariff2Target: Siehe Angaben des Herstellers (siehe ST_MBus_Info).

stTariff3Target: Siehe Angaben des Herstellers (siehe ST_MBus_Info).

stPulseInputATarget: Siehe Angaben des Herstellers (siehe ST_MBus_Info).

stPulseInputBTarget: Siehe Angaben des Herstellers (siehe ST_MBus_Info).

stEnergyCoolingTarget: Siehe Angaben des Herstellers (siehe ST_MBus_Info).

stDateTarget: Siehe Angaben des Herstellers (siehe ST_MBus_Info).

Voraussetzungen

Entwicklungsumgebung

Zielsystem

erforderliche Bibliotheken

TwinCAT 2.11 R3/x64 ab Build 2234

PC/CX, BX oder BC

TcMBus-Bibliothek ab V2.3.0

VAR_IN_OUT

stCom          : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme: FB_MBUS_KAM_Multical402 2:

Download Beispielprogramm für BX Systeme: FB_MBUS_KAM_Multical402 3:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme: FB_MBUS_KAM_Multical402 4:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"