FB_MBUS_EMU_3_5_Allrounder

FB_MBUS_EMU_3_5_Allrounder 1:

This block is used to read electricity meters from EMU.

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

Functionality of the 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;
bDisabled    : BOOL := FALSE;

usiAddress: Primary address of the meter to be read with this block.

stSecAdr: Secondary address of the meter to be read with this block (see ST_MBUS_SecAdr).

eBaudrate: 300..9600 baud (see E_MBUS_Baudrate).

bStart: A positive edge of this input triggers one reading of the meter.

bSND_NKE: TRUE initializes the meter for each read operation and sets the meter to the first telegram (SND_NKE).

bReadInit: If the PLC is restarted, the meter is read once.

tMinSendTime: Standard t#2s. The meter is read again, once the time set here has elapsed. If t#0s the meter is not read and can be read manually with bStart.

bDisabled: TRUE = deselection of the 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);
stActiveEnergyTariff1 : ST_MBus_Info;
stActiveEnergyTariff2 : ST_MBus_Info;
stActivePowerL1       : ST_MBus_Info;
stActivePowerL2       : ST_MBus_Info;
stActivePowerL3       : ST_MBus_Info;
stActivePowerTotal    : ST_MBus_Info;
stVoltageL1           : ST_MBus_Info;
stVoltageL2           : ST_MBus_Info;
stVoltageL3           : ST_MBus_Info;
stCurrentL1           : ST_MBus_Info;
stCurrentL2           : ST_MBus_Info;
stCurrentL3           : ST_MBus_Info;
stCurrentTotal        : 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: this output goes TRUE as soon as an error occurs. This error is described via the variable eError.

eError: In the event of an error the output issues an error code (see E_MBUS_ERROR). bError goes TRUE at the same time.

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

byStatus: Device status.

byGEN: Software version of the device.

byCounter: Number of times the master has accessed data of the respective slave.

usiRecivedAdr: Received primary address (0-250).

eMedium: Medium (see E_MBUS_Medium).

sMan: Manufacturer code.

stActiveEnergyTariff1: Active energy tariff 1 (see ST_MBus_Info).

stActiveEnergyTariff2: Active energy tariff 2 (see ST_MBus_Info).

stActivePowerL1: Effective power L1 (see ST_MBus_Info).

stActivePowerL2: Effective power L2 (see ST_MBus_Info).

stActivePowerL3: Effective power L3 (see ST_MBus_Info).

stActivePowerTotal: Total effective power (see ST_MBus_Info).

stVoltageL1: Voltage L1 (see ST_MBus_Info).

stVoltageL2: Voltage L2 (see ST_MBus_Info).

stVoltageL3: Voltage L3 (see ST_MBus_Info).

stCurrentL1: Current intensity L1 (see ST_MBus_Info).

stCurrentL2: Current intensity L2 (see ST_MBus_Info).

stCurrentL3: Current intensity L3 (see ST_MBus_Info).

stCurrentTotal: Total current intensity (see ST_MBus_Info).

stDeviceError: Error message from device (see ST_MBus_Info).

VAR_IN_OUT

stCom : ST_MBUS_Communication; 

stCom: This structure is used to link the block FB_MBUSKL6781() with the meter blocks (see ST_MBUS_Communication).

Requirements

Development environment

required TC3 PLC library

TwinCAT from v3.1.4020.14

Tc2_MBus from 3.3.4.0