FB_MBUS_ELV_CMa10_20

FB_MBUS_ELV_CMa10_20 1:

This block is used to read temperature and humidity sensors from elvaco.

Can be used with the sensors CMa10 and CMa20.

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

usiUnit: Unit of the energy values to be output by the block. 0=W(h) / 1=KW(h) / 2 =MW(h) / 3=GW(h).

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);
strRelHumi       : ST_MBus_Info;
strRelHumiMin    : ST_MBus_Info;
strRelHumiMax    : ST_MBus_Info;
strTemp          : ST_MBus_Info;
strTempMin       : ST_MBus_Info;
strTempMax       : ST_MBus_Info;
strTempAvg1h     : ST_MBus_Info;
strTempAvg24h    : 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.

strRelHumi: Current relative humidity (see ST_MBus_Info).

strRelHumiMin: Lowest relative humidity since the last min/max reset command (see ST_MBus_Info).

strRelHumiMax: Highest relative humidity since the last min/max reset command (see ST_MBus_Info).

strTemp: Current temperature (see ST_MBus_Info).

strTempMin: Lowest temperature since the last min/max reset command (see ST_MBus_Info).

strTempMax: Highest temperature since the last min/max reset command (see ST_MBus_Info).

strTempAvg1h: 1-hour mean value for temperature (see ST_MBus_Info).

strTempAvg24h: 24-hour mean value for temperature (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