FP_PID

以可选PWM输出进行PID处理

执行PID处理,以保持过程值PV尽量接近设置点值SP。与FP_PID_BASIC相比,此指令启用PWM输出(开-关输出)。自动调谐也可用于自动计算PID控制数据KpTiTd

参数

输入

Run (BOOL)

开始条件

s1_Control (PID_Control_DUT)

控制数据

s2_ProcessValue (INT)

过程值 (-30000–30000)

s3_Parameters (PID_PARAMETERS_DUT)

PID控制参数

输入/输出

s4_WorkArea (PID_WORK_AREA_DUT)

PID参数的数据表

注释

当您首次执行指令时,即,当在Run指定的执行条件变为TRUE时,默认值被写入DUT的DUT成员1至9。

在第二次执行FP_PID之前,您需要将DUT的DUT成员1到9更改为所需值。

输出

PWM (BOOL)

脉宽调制输出(可选,可用于代替操控值输出)

标注

  • PWM输出的周期(循环)是采样时间TsPWM输出的频率是1/Ts),并且占空是以0.01%为单位的操控值MV,例如,MV = 10000表示占空是100%

  • 该指令必须执行两次。第一次执行重置 PID_WORK_AREA_DUT中的值,然后需要设置 PID_WORK_AREA_DUT中DUT成员1到9的正确值,以便第二次执行指令时使用正确的值。

错误标志

sys_bIsOperationErrorHold(变为TRUE并保持为TRUE)
  • 如果使用索引寄存器指定的区域超出限制。

  • 如果为PID_Parameters_DUT参数指定的值超出允许的范围

sys_bIsOperationErrorNonHold(对于一次扫描变为TRUE)
  • 如果使用索引寄存器指定的区域超出限制。

  • 如果为PID_Parameters_DUT参数指定的值超出允许的范围

示例

POU头

所有用于编程此函数的输入和输出变量已在POU头中声明。 所有编程语言使用相同的POU头。

	VAR
		Automatic: BOOL:=TRUE;
		dutControl: PID_Control_DUT;
		PV: INT:=0;
		ParametersHold: PID_Parameters_DUT;
		ParametersNonHold: PID_Work_Area_DUT;
		bPWMOutput: BOOL:=FALSE;
	END_VAR

LD本体

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 7 ;
        NETWORK_BODY
B(B_VARIN,,dutControl,15,2,17,4,);
B(B_VARIN,,ParametersHold,15,4,17,6,);
B(B_CONTACT,,Automatic,6,1,8,3,);
B(B_VARIN,,ParametersNonHold,15,5,17,7,);
B(B_F,FP_PID!,,17,0,30,7,,?DRun?Ds1_Control?Ds2_ProcessValue?Ds3_Parameters?Ds4_WorkArea?As4_WorkArea?APWM);
B(B_VARIN,,PV,15,3,17,5,);
B(B_VAROUT,,bPWMOutput,30,1,32,3,);
L(1,2,6,2);
L(8,2,17,2);
L(1,0,1,7);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST本体

bPWMOutput := FP_PID(Run := Automatic, 
                     s1_Control := dutControl,
                     s2_ProcessValue := PV,
                     s3_Parameters := ParametersHold,
                     s4_WorkArea := ParametersNonHold);

最后更新日期: 此页面上的反馈松下热线