FB_MBUS_KAM_Multical402

FB_MBUS_KAM_Multical402 1:

This function block is used to read energy meters from Kamstrup.

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;
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, 2400, 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.

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

stEnergyHeating: Heat energy (see ST_MBus_Info).

stVolume: Volume (see ST_MBus_Info).

stOnTime: Operating hours (see ST_MBus_Info).

stTempFlow: Flow temperature (see ST_MBus_Info).

stTempReturn: Return temperature (see ST_MBus_Info).

stTempDiff: Temperature difference (see ST_MBus_Info).

stPowerActual: Actual active power (see ST_MBus_Info).

stPowerMax: Active power (maximum) (see ST_MBus_Info).

stFlowActual: Actual flow (see ST_MBus_Info).

stFlowMax: Flow (maximum) (see ST_MBus_Info).

stTariff2: Tariff 2 (see ST_MBus_Info).

stTariff3: Tariff 3 (see ST_MBus_Info).

stPulseInputA: Pulse input A (see ST_MBus_Info).

stPulseInputB: Pulse input B (see ST_MBus_Info).

stEnergyCooling: Cooling energy (see ST_MBus_Info).

stDateTime: Date and time (see ST_MBus_Info).

stEnergyHeatingTarget: See manufacturer information (see ST_MBus_Info).

stVolumeTarget: See manufacturer information (see ST_MBus_Info).

stPowerMaxTarget: See manufacturer information (see ST_MBus_Info).

stFlowMaxTarget: See manufacturer information (see ST_MBus_Info).

stTariff2Target: See manufacturer information (see ST_MBus_Info).

stTariff3Target: See manufacturer information (see ST_MBus_Info).

stPulseInputATarget: See manufacturer information (see ST_MBus_Info).

stPulseInputBTarget: See manufacturer information (see ST_MBus_Info).

stEnergyCoolingTarget: See manufacturer information (see ST_MBus_Info).

stDateTarget: See manufacturer information (see ST_MBus_Info).

Requirements

Development environment

Target system type

PLC libraries to include

TwinCAT 2.11 R3/x64 higher than Build 2234

PC/CX, BX or BC

TcMBus-Library higher than V2.3.0

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_KAM_Multical402 2:

Download sample program for BX systems: FB_MBUS_KAM_Multical402 3:

Controller configuration setting: "BCxx50 or BX serial"

Download sample program for BC systems: FB_MBUS_KAM_Multical402 4:

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

Controller configuration setting: "BC serial"