PID_FB

PID处理指令

此执行允许使用以下参数直接设置F355_PID的参数:

参数

输入

Automatic

FALSE:可以手动设置MV

TRUE:自动PID控制MV

Forward (BOOL)

FALSE:反转控制(加热)

TRUE:正向控制(冷却)

I_PD (BOOL)

FALSE:PI-D控制

TRUE:I-PD控制

SP (INT)

设置点值,范围0-10000

PV (INT)

过程值,范围0-10000

Kp (INT)

比例增益,范围:1-9999,单位:0.1

Ti (INT)

积分时间,范围:1-30000,单位:0.1s

Td (INT)

导数时间,范围:1-10000,单位:0.1s

Ts (INT)

采样时间,范围:1-6000,单位:0.01s

LowerLimit (INT)

MV下限值,范围:0-10000

UpperLimit (INT)

MV上限值,范围:1-10000

输入/输出

MV (INT)

操控值

标注

  • 不可使用PID_FB自动调谐。因此,使用 PID_FB_DUT

  • 当初始化程序或Automatic的值为FALSE时,可在外部分配MV的值。

  • 为达到超过LowerLimitUpperLimit的最大分辨率和最小死区时间,如果可能,其值应覆盖整个0~10000的范围。

错误标志

sys_bIsOperationErrorHold(变为TRUE并保持为TRUE)

如果参数设置超过允许范围

sys_bIsOperationErrorNonHold(对于一次扫描变为TRUE)

如果参数设置超过允许范围

示例

全局变量

在全局变量列表中,定义项目中所有POU都可以访问的变量。

POU头

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

	VAR_EXTERNAL
		Set_Value_SP: INT:=0;
			(*A/D CH0*)
		Process_Value_PV: INT:=0;
			(*A/D CH1*)
		Output_Value_MV: INT:=0;
			(*D/A*)
	END_VAR
	VAR 
		PID_Control: PID_FB;
			(*PID Parameters*)
	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 := 15 ;
        NETWORK_BODY
B(B_FB,PID_FB!,PID_Control,11,1,19,15,,?BAutomatic?BForward?BI_PD?BSP?BPV?BKp?BTi?BTd?BTs?BLowerLimit?BUpperLimit?BMV?AMV);
B(B_VARIN,,TRUE,9,2,11,4,);
B(B_VARIN,,FALSE,9,3,11,5,);
B(B_VARIN,,FALSE,9,4,11,6,);
B(B_VARIN,,Set_Value_SP,9,5,11,7,);
B(B_VARIN,,Process_Value_PV,9,6,11,8,);
B(B_VARIN,,15,9,7,11,9,);
B(B_VARIN,,200,9,8,11,10,);
B(B_VARIN,,1,9,9,11,11,);
B(B_VARIN,,10,9,10,11,12,);
B(B_VARIN,,0,9,11,11,13,);
B(B_VARIN,,1000,9,12,11,14,);
B(B_VARIN,,Output_Value_MV,9,13,11,15,);
L(1,0,1,15);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST本体

PID_Control( Automatic:= TRUE,
        Forward:= FALSE,
        I_PD:= FALSE,
        SP:= Set_Value_SP,
        PV:= Process_Value_PV,
        Kp:= 15,
        Ti:= 200,
        Td:= 1,
        Ts:= 10,
        LowerLimit:= 0,
        UpperLimit:= 1000,
        MV:= Output_Value_MV);

IL本体

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