FB_MBUS_CYN_MCount2C

FB_MBUS_CYN_MCount2C 1:

This module is used to readout pulse counter of the manufacturer Cynox.

It can only be used together with the module FB_MBUSKL6781()

Functionality of the module

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

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 deadline (see ST_MBus_Info).

stLastDeadline: Last deadline (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: About this structure, the block FB_MBUSKL6781() is connected to the meter function blocks (see ST_MBUS_Communication).

Requirements

Development environment

Target system

Required libraries

TwinCAT 2.11 R3/x64 from build 2250

PC/CX, BX or BC

TcMBus library from V2.5.0