FB_MBUS_KAM_Multical402
Dieser Baustein dient zum Auslesen von Energiezählern der Firma Kamstrup.
Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.
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:
Download Beispielprogramm für BX Systeme:
Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"
Download Beispielprogramm für BC Systeme:
BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.
Einstellung Steuerungskonfiguration: "BC seriell"