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