MP_CMV
This function block is used to control and monitor a volume flow controller.
MP_Address is used to specify the MP-Bus device with which the function block is to communicate. bStart activates communication with the MP-Bus device. bBusy indicates that the function block is active. If bStart remains TRUE, the device is addressed cyclically with a period specified by the time in TMPolling. The time should be set longer than 1 s. bError is used to indicate an error in communication with the actuator. The type of the error can be read with iErrorId.
VAR_INPUT
MP_Address : USINT := 1;
bStart : BOOL;
bSet : BOOL;
bOpen : BOOL;
bClose : BOOL;
bReset : BOOL;
iSensorTyp : INT;
SetPoint : USINT;
MaxVol : WORD;
MinVol : WORD;
strDataKL6771 : DataKL6771;
TMpolling : TIME:= t#10S;
MP_Address: MP-Bus address of the slave.
bStart: a positive edge starts the function block. If this remains continuously TRUE, the function block will be activated cyclically with a period specified by the time in TMPolling.
bSet: a positive edge writes the MaxVol and MinVol data to the actuator.
bOpen: a positive edge opens the dampers of the actuator, while a negative edge cancels the forced ventilation.
bClose: a positive edge closes the dampers of the actuator, while a negative edge cancels the forced closure.
bReset: a positive edge resets the actuator's error messages.
iSensorTyp: 0: no sensor connected, 1: digital sensor connected, 2: analog sensor connected (0...35 V), 3...6: output of a resistance in ohms (3..5 applies to PT1000, NI1000 and NI1000LuS; 6 applies to NTC). To convert to a temperature, use the corresponding conversion functions.
SetPoint: set volume flow rate (0...100 %).
MaxVol: maximum volume flow (30...100 %).
MinVol: minimum volume flow (0...100 %).
strDataKL6771: the data structure with which the KL6771 function block must be linked (see DataKL6771).
TMpolling: the time for which the function block should address the actuator. Default 10 s, minimum time 1 s.
VAR_OUTPUT
bBusy : BOOL;
bError : BOOL;
iErrorId : MP_Error;
ActValue : WORD;
bMP_Sensor_Digi : BOOL;
iMP_Sensor_Analog : INT;
AirVolume_m3h : WORD;
iVnom_m3h : INT;
act_MaxVol : INT;
act_MinVol : INT;
bErr_ActHunt : BOOL;
bErr_MecTrv : BOOL;
bErr_MecOvld : BOOL;
rTemperature : LREAL;
bBusy: this bit is set for as long as the function block is active.
bError: the output becomes TRUE as soon as an error occurs. This error is described via the iErrorId variable.
iErrorId: this output outputs an error code in the event of an error (see MP_Error). bError goes TRUE at the same time.
ActValue: contains the current position of the actuator (0...100 %).
bMP_Sensor_Digi: if an analog sensor is connected, its value is indicated through this variable. iSensorTyp must be "1".
iMP_Sensor_Analog: if an analog sensor is connected, its value is indicated through this variable. iSensorTyp must be in the range "2...6".
AirVolume_m3h: output of the volume flow rate in m³/h.
iVnom_m3h: nominal air volume flow in m³/h. This output is available from version 1.12.0. VAV is read and must be > 0. If 0, then the calculation of AirVolume_m3h is not correct.
act_MaxVol: maximum set volume flow rate in %.
act_MinVol: minimum set volume flow rate in %.
bErr_ActHunt: actuator error, "Regulating oscillation"; the actuator is swinging backwards and forwards.
bErr_MecTrv: actuator error, "Positioning angle exceeded"; the actuator has passed more than 10° beyond the adaptation position.
bErr_MecOvld: actuator error, "Overload"; the set position could not be reached.
rTemperature: temperature in the channel in °C.