FB_MBUS_EMU_32x7
This function block is used to read electricity meters from EMU:
-EMU32.x7
Only the standard meter data will be read. The meter transmits this data in the standard EMU parameterization, or if the parameter set is set in the device to 00000 hexadecimal. Please refer to the meter documentation for further information regarding this.
In the normal version, the current consumption of the M-Bus interface is equivalent to 3 standard loads. If an M-Bus master interface is used that is designed, for example, for up to 120 standard loads, a maximum of 40 EMU M-Bus meters can be connected. The meter can optionally be supplied with 230 V. The current consumption of the M-Bus interface is then equivalent to one standard load.
The transmission of data from the EMU meter to the M-Bus protocol computer only works if the EMU meter is connected to at least two phases of the mains voltage network.
The EMU meter transmits current data to the device’s M-Bus interface every 40 seconds, so that the readout data is approx. 40 - 45 seconds old.
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);
stOperatingHours : ST_MBus_Info;
stEnergy : ST_MBus_Info;
stPower : ST_MBus_Info;
stInitCounter : ST_MBus_Info;
stDeviceError : 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.
stOperatingHours: Operating hours of EMU meter (see ST_MBus_Info).
stEnergy: Meter reading, energy consumption (see ST_MBus_Info).
stPower: Current energy consumption (see ST_MBus_Info).
stInitCounter: Number of voltage outages on EMU meter (see ST_MBus_Info).
stDeviceError: Error message from the device (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:
Download sample program for BX systems:
Controller configuration setting: "BCxx50 or BX serial"
Download sample program for BC systems:
BCxx00 must be set to "Large Model" in the PLC under "Project/Options/Controller Settings".
Controller configuration setting: "BC serial"