FB_MBUS_General

FB_MBUS_General 1:

Dieser Baustein dient zum Auslesen von beliebigen M-Bus Geräten. Die Variable arrData liefert maximal cMBUS_MaxData Werte des 1.Telegramms. String-Werte und herstellerspezifische Informationen werden nicht korrekt dargestellt.

FB_MBUS_General 2:

Dieser Baustein ist nicht für BC / BX geeignet.

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;
usiUnit        : USINT;
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, 600, 1200, 2400, 4800, 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.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

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);
arrData        : ARRAY [1..cMBUS_MaxData] OF ST_MBus_Data;

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.

arrData: Maximal cMBUS_MaxData Werte des 1.Telgramms. Die Bedeutung der Werte muss dem M-Bus Protokoll des Gerätes entnommen werden.

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).

Beispielansicht:

FB_MBUS_General 3:

Download Beispielprogramm für PC/CX Systeme: FB_MBUS_General 4: