FB_MBUS_CYN_MCount2C

FB_MBUS_CYN_MCount2C 1:

This function block is used to read pulse counters from Cynox.

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 meter to be read with this block.

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

eBaudrate: 2400 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 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);
stCurrent1      : ST_MBus_Info;
stCurrent2      : ST_MBus_Info;
stCurrent3      : ST_MBus_Info;
stCurrent4      : ST_MBus_Info;
stHistorical1   : ST_MBus_Info;
stHistorical2   : ST_MBus_Info;
stHistorical3   : ST_MBus_Info;
stHistorical4   : ST_MBus_Info;
stNextDeadline  : ST_MBus_Info;
stLastDeadline  : ST_MBus_Info;
stCurrentTime   : ST_MBus_Info;
stOperatingTime : 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.

stCurrent1: Current value 1 (see ST_MBus_Info).

stCurrent2: Current value 2 (see ST_MBus_Info).

stCurrent3: Current value 3 (see ST_MBus_Info).

stCurrent4: Current value 4 (see ST_MBus_Info).

stHistorical1: Historical value 1 (see ST_MBus_Info).

stHistorical2: Historical value 2 (see ST_MBus_Info).

stHistorical3: Historical value 3 (see ST_MBus_Info).

stHistorical4: Historical value 4 (see ST_MBus_Info).

stNextDeadline: Next reporting date (see ST_MBus_Info).

stLastDeadline: Last reporting date (see ST_MBus_Info).

stCurrentTime: Current time (see ST_MBus_Info).

stOperatingTime: Operating time (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.32

Tc2_MBus from 3.4.6.0