PID处理指令
此执行允许使用以下参数直接设置F355_PID的参数:
输入
FALSE:可以手动设置MV
TRUE:自动PID控制MV
FALSE:反转控制(加热)
TRUE:正向控制(冷却)
FALSE:PI-D控制
TRUE:I-PD控制
设置点值,范围0-10000
过程值,范围0-10000
比例增益,范围:1-9999,单位:0.1
积分时间,范围:1-30000,单位:0.1s
导数时间,范围:1-10000,单位:0.1s
采样时间,范围:1-6000,单位:0.01s
MV下限值,范围:0-10000
MV上限值,范围:1-10000
输入/输出
操控值
不可使用PID_FB自动调谐。因此,使用 PID_FB_DUT。
当初始化程序或Automatic的值为FALSE时,可在外部分配MV的值。
为达到超过LowerLimit和UpperLimit的最大分辨率和最小死区时间,如果可能,其值应覆盖整个0~10000的范围。
如果参数设置超过允许范围
如果参数设置超过允许范围
在全局变量列表中,定义项目中所有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
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
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);