二、PID指令介绍
1.指令说明
PID指令说明如表6-76所示。
表6-76PID指令说明
2.PID控制回路参数表
PID运算由P(比例)、I(积分)和D(微分)三项运算组成,PID运算公式如下:
Mn=[KcX(SPn-PVn)]+[KcX(Ts/Ti)X(SPn-PVn)+Mx]+[KcX(Td/Ts*)X(SPn-PVn)]
在上式中,Mn为PID运算输出值,[Kc(SPn-PVn)]为比例运算项,[KcX(Td/Ts)X(SP,-PV)+M]为积分运算项,[KcX(T/T)X(SPn-PVn)]为微分运算项。
要进行PID运算,须先在PID控制回路参数表中设置运算公式中的变量值。PID控制回路参数表见表6-77。在表中,过程变量(PVn)相当于图6-59中的反馈信号,设定值(SPn)
相当于图6-59中的给定信号,输出值(Mn)为PID运算结果值,相当于图 6-59中的控制
信号。如果将过程变量(PVn)值存放在VD200双字单元,那么设定值(SPn)、输出值(Mn)
则要分别存放在VD204、VD208单元。
表6-77PID控制回路参数表
3.PID运算项的选择
PID运算由P(比例)、|(积分)和D(微分)三项运算组成,可以根据需要选择其中的一项或两项运算。
①如果不需要积分运算,应在参数表中将积分时间(Ti)设为无限大,这样(Ts/Ti)
值接近0,虽然没有积分运算,但由于有上一次的积分值M,积分项的值也不为0.
②如果不需要微分运算,应将微分时间(Td)设为0.0。
③如果不需要比例运算,但需要积分或微分回路,可以把增益(Kc)设为0.0,系统
会在计算积分项和微分项时,把增益(Kc)当作1.0看待。
4.PID输入量的转换与标准化
PID控制电路有两个输入量:设定值和过程变量。设定值通常是人为设定的参照值,
如设置的水压值;过程变量值来自受控对象,如压力传感器检测到的水压值。由于现实中
的设定值和过程变量值的大小、范围和工程单位可能不一样,在执行PID指令进行PID运算前,必须先把输入量转换成标准的浮点型数值。
PID输入量的转换与标准化过程如下:
①将输入量从16位整数值转换成32位实数(浮点数)。该转换程序如图6-60
所示。
图6-6016位整数值转换成32位实数
②将实数转换成0.0~1.0之间的标准化数值。转换表达式为
输入量的标准化值=输入量的实数值1跨度+偏移量
跨度值通常取32000(针对0~32000单极性数值)或64000(针对-32000~+32000
双极性数值);偏移量取0.0(单极性数值)或0.5(双极性数值)。该转换程序如图6-61
图6-61
5. PID输出量的转换
在PID运算前,需要将实际输入量转换成0.0~1.0之间的标准值,然后进行PID运算,PID运算后得到的输出量也是0.0~1.0之间的标准值,这样的数值无法直接驱动PID的控制对象,因此需要将PID运算输出的0.0~1.0标准值按比例转换成16位整数,再送到模拟量输出单元,通过模拟量输出端子输出。
PID输出量的转换表达式为PID输出量整数值=(PID运算输出量标准值-偏移量)x跨度
PID输出量的转换程序如图6-62所示。
图6-62
PID指令应用举例
下面以图6-59所示的恒压供水控制为例来说明PID 指令的应用。
(1)确定PID控制回路参数表的内容
在编写PID控制程序前,首先要确定PID控制回路参数表的内容。参数表中的给定值SPn增益值Kc、采样时间Ts、积分时间下、微分时间Ti。需要在PID指令执行前输入,来自压力传感器的过程变量值需要在PID指令执行前转换成标准化数值并存入过程变量单元。参数表中的变量值要根据具体情况来确定,还要在实际控制时反复调试以
达到佳控制效果。本例中的PID控制回路参数表的值见表6-78,因为希望水箱水压维持在满水压的70%,故将给定值SPn设为0.7,不需要微分运算,将微分时间设为0。
(2) PID控制程序
恒压供水PID控制程序如图6-63所示。
表6-78PID控制回路参数表的值
图6-63恒压供水PID控制程序
在程序中,网络1用于设置PID控制回路的参数表,包括设置给定值SPn增益值Kc采样时间Ts、积分时间Ti和微分时间Td:网络2用于将模拟量输入AIW0单元中的整数值转换成0.0~1.0之间的标准化数值,再作为过程变量值PVn,存入参数表的VD100单元,AIW0单元中的整数值由压力传感器产生的模拟信号经PLC 的A/D(模/数)转换模块转换而来;网络3用于启动系统从参数表取变量值进行PID运算,运算输出值M,存入参数表的VD108单元:网络4用于将VD108中的标准化输出值(0.0~1.0)按比例转换成相应的整数值(0~32000),再存入模拟量输出 AQW0单元,AQW0单元的整数经D/A(数/模)转换模块转换成模拟信号,去控制变频器工作频率,进而控制水泵电动机的转速来调节水压。