FB_MBUS_BEC_DZ

FB_MBUS_BEC_DZ 1:

This function block is used to read electricity meters from Berg:

-DZ+

The function block can only be executed together with the function block FB_MBUSKL6781().

Functionality of the function block

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: Primary address of the counter, that shall be readout with this module.

stSecAdr: Secondary address of the counter, that shall be readout with this module.

eBaudrate: 300, 600, 1200, 2400, 4800, 9600 baud.

bStart: Positive edge on this input, the meter is read out once.

bSND_NKE: TRUE to initialize the meter at each reading, and sets the meter on the first telegram (SND_NKE).

bReadInit: After restarting the PLC, the meter is read out once.

tMinSendTime: Standard t#2s. When this time exceeds, the counter is rereadout. At t#0s the counter is not readout and can be readout with bStart manually.

usiUnit: Unit of the energy values. 0=W/J(h) / 1=KW/KJ(h) / 2=MW/MJ(h) / 3=GW/GJ(h).

bDisabled: TRUE = disable the function block.

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);
stActiveEnergy    : ST_MBus_Info;
stReactiveEnergy  : ST_MBus_Info;
stActivePower     : ST_MBus_Info;
stReactivePower   : ST_MBus_Info;
stCurrentL1       : ST_MBus_Info;
stCurrentL2       : ST_MBus_Info;
stCurrentL3       : ST_MBus_Info;
stPowerFactor     : ST_MBus_Info;

bBusy: The bBusy output is TRUE while the meter is being read.

bReady: The bReady output is TRUE for one cycle, once meter reading is completed.

bError: The bError output becomes TRUE as soon as an error occurs. The error is described via the variable eError.

eError: The eError output issues an error code when an error occurs (see E_MBUS_ERROR).

dwIdNumber: Serial number of the meter (secondary address).

byStatus: Status of the meter. Please refer to device description for meanings.

byGEN: Meter software version.

byCounter: Transmission counter (number of transmitted RSP_UD).

usiRecivedAdr: Received primary address (0-250).

eMedium: Medium (see E_MBUS_Medium).

sMan: Manufacturer code.

stActiveEnergy: Meter reading, total active energy (see ST_MBus_Info).

stReactiveEnergy: Meter reading, total reactive energy (see ST_MBus_Info).

stActivePower: Current consumption, total active power (see ST_MBus_Info).

stReactivePower: Current consumption, total reactive power (see ST_MBus_Info).

stCurrentL1: Current L1 (see ST_MBus_Info).

stCurrentL2: Current L2 (see ST_MBus_Info).

stCurrentL3: Current L3 (see ST_MBus_Info).

stPowerFactor: Total power factor (see ST_MBus_Info).

VAR_IN_OUT

stCom          : ST_MBUS_Communication;

stCom: About this structure, the block FB_MBUSKL6781() is connected to the meter function blocks (see ST_MBUS_Communication).

Download sample program for PC/CX systems: FB_MBUS_BEC_DZ 2:

Download sample program for BX systems: FB_MBUS_BEC_DZ 3:

Controller configuration setting: "BCxx50 or BX serial"

Download sample program for BC systems: FB_MBUS_BEC_DZ 4:

BCxx00 must be set to "Large Model" in the PLC under "Project/Options/Controller Settings".

Controller configuration setting: "BC serial"