The TB_TCtrl_PIDT1 function module is a PIDT1 controller that is primarily geared toward temperature regulation of thermally-sluggish systems. The controller can be used as a PIDT1 controller or a P, PI, PD or PDT1 controller. Combinations of controller types are also possible, e.g. for command PD and disturbance PIDT1, which means it can be used for almost any conceivable control distances.
The controller can be used as a PIDT1 controller or a PI, PD or PDT1 controller. When x_Enable = TRUE, the module is activated. Successful activation is signaled with TRUE at the x_Active output. From this point, the controller is active and calculates the output sizes. When x_Enable = FALSE, all output sizes are set to 0.
The controller works with four data records for command (cooling and heating) and disturbance (cooling and heating). Different parameters are required for heating and cooling since oftentimes only active heating is carried out, and not active cooling. The switching between command and disturbance is determined with u_Thresh_RD. If the same parameters are to be used for both command and disturbance, the parameters are to be connected regardless.
Setting rules according to Chien, Hrones and Reswick for determining the parameters can be found in the "setting rules" in this help information. Naturally, other methods can also be used for parameter finding.
Operation of the actuator can occur with the PWM generator TB_TCtrl_PWM, for example.
Recommended task: | Event/Cyclic; the important thing is a fixed call interval! |
Libraries used: | ARITHMETIC_xxbd00 or higher |
none |
Marking: | Data type: | Description: |
---|---|---|
x_Enable | BOOL | TRUE: Enabling of the module. Control is active. FALSE: Module is deactivated; the outputs are set to 0. |
i_W | INT | The input i_W represents the command value. The unit/size must be the same as the unit of the actual value i_X. |
i_X | INT | The i_X input represents the actual value. The unit/size must be the same as the unit of the command value i_W. |
i_PreControl | INT | The setting value can be pre-controlled with the i_PreControl input. The input is added directly to the setting value i_Y, but is also prevented from undershooting or exceeding the limits. The unit must therefore correspond to the unit of the setting value i_Y. |
u_Kp_Pro_R_H | UINT | Proportional coefficient for command and heating in percent. |
u_tn_0s1_R_H | UINT | Reset time for command and heating in 0.1 s. 0: I portion deactivated. |
u_tv_0s1_R_H | UINT | Hold-back time for command and heating in 0.1 s. 0: D portion deactivated. |
u_T1_0s1_R_H | UINT | Time constant of the DT1 actuator for command and heating in 0.1 s. |
u_Kp_Pro_D_H | UINT | Proportional coefficient for disturbance and heating in percent. |
u_tn_0s1_D_H | UINT | Reset time for disturbance and heating in 0.1 s. 0: I portion deactivated. |
u_tv_0s1_D_H | UINT | Reset time for disturbance and heating in 0.1 s. 0: I portion deactivated. |
u_T1_0s1_D_H | UINT | Hold-back time for disturbance and heating in 0.1 s. |
u_Kp_Pro_R_C | UINT | Proportional coefficient for command and cooling in percent. |
u_tn_0s1_R_C | UINT | Reset time for command and cooling in 0.1 s. 0: I portion deactivated. |
u_tv_0s1_R_C | UINT | Hold-back time for command and cooling in 0.1 s. 0: D portion deactivated. |
u_T1_0s1_R_C | UINT | Time constant of the DT1 actuator for command and cooling in 0.1 s. |
u_Kp_Pro_D_C | UINT | Proportional coefficient for disturbance and cooling in percent. |
u_tn_0s1_D_C | UINT | Reset time for disturbance and cooling in 0.1 s. 0: I portion deactivated. |
u_tv_0s1_D_C | UINT | Hold-back time for disturbance and cooling in 0.1 s. 0: D portion deactivated. |
u_T1_0s1_D_C | UINT | Time constant of the DT1 actuator for disturbance and cooling in 0.1 s. |
u_Ts_0s1 | UINT | Call interval of the function module in 0.1 s. |
u_Thresh_RD | UINT | Switching of the parameters between command and disturbance. If ABS(i_W - i_X) <= u_Thresh_RD, switching from command to disturbance occurs. Switching from disturbance back to command does not occur until a command value jump occurs. |
i_RampUp | INT | Positive change of the command value per call. A positive command value jump can be ramped here. |
i_RampDown | INT | Negative change of the command value per call. A negative command value jump can be ramped here. |
i_ULimit | INT | Upper limit of the setting value. |
i_LLimit | INT | Lower limit of the setting value. |
u_X_Ref | UINT | Value of actual value i_X that represents 100%. |
u_Y_Ref | UINT | Value of setting value i_Y that represents 100%. |
Marking: | Data type: | Description: |
---|---|---|
x_Active | BOOL | TRUE: Module active; control active. FALSE: Module not active; outputs set to 0. |
x_Error | BOOL | TRUE: function block detected an error FALSE: function block has no error |
i_Y | INT | Setting value of the controller. |
i_XW | INT | Control differential i_W – i_X |
i_P | INT | P portion of the controller setting value. |
i_I | INT | I portion of the controller setting value. |
i_D | INT | D portion of the controller setting value. |
i_Error | INT | i_Error <> 0: fb detected an error, for further information see the description of the errors |
s_ErrTxt | STRING | output of the error in a written form. |
i_Error | Description: |
---|---|
-999 | No technology license. Use PLC with technology license. |