MP_DamperLinearActuator

MP_DamperLinearActuator 1:

This function block is used to control and monitor an actuator of a damper and of a globe valve.

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.

A positive edge at bReset clears any pending error messages from the actuator. This resets errors that affect the output variables bErr_MecOcld, bErr_ActHunt and bErrMecTrv. If the error itself is still present, the actuator will set these error bits again.

SetPoint is used to adjust the position of the damper from 0...100 %. The current position of the actuator can be read through ActValue.

If a sensor is connected to the actuator, its type is to be indicated in iSensorTyp. If no sensor is connected, the value "0" should be entered, or the variable left open. A digital sensor should be parameterized with "1". The state of the sensor can be queried through bMP_Sensor_Digi. Analog sensors "2...6" are output in variable iMP_Sensor_Analog.

VAR_INPUT

MP_Address     : USINT := 1;
bStart         : BOOL;
bReset         : BOOL;
iSensorTyp     : INT;
SetPoint       : USINT;
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.

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: 0...100 % the set damper position specified for the actuator.

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;
ActValue               : WORD;
bMP_Sensor_Digi        : BOOL;
iMP_Sensor_Analog      : INT;
iErrorID               : MP_Error;
bError                 : BOOL;
bErr_MecOvld           : BOOL;
bErr_ActHunt           : BOOL;
bErr_MecTrv            : BOOL;
bPositionSetByHand     : BOOL;
bSynchronisationActive : BOOL;

bBusy: this bit is set for as long as the function block is active.

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".

iErrorID: this output outputs an error code in the event of an error (see MP_Error). bError goes TRUE at the same time.

bError: the output becomes TRUE as soon as an error occurs. This error is described via the iErrorID variable.

bErr_MecOvld: actuator error, "Overload"; the set position could not be reached.

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.

bPositionSetByHand: the position of the actuator was changed by hand.

bSynchronizationActive: the actuator synchronizes.