FB_MBUS_KAM_Multical402
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:
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"