STEP7-Micro/WINSMART提供了PID指令向导,可以帮助用户方便地生成一个闭环控制过程的PID算法。此向导可以完成绝大多数PID运算的自动编程,用户只需在主程序中调用PID向导生成的子程序,就可以完成PID控制任务。
PID向导既可以生成模拟量输出PID控制算法,也支持开关量输出;既支持连续自动调节,也支持手动参与控制。建议用户使用此尚导对PID编程,以避免不必要的错误。
5.5.1PID向导编程步骤
(1)打开PID向导
方法1:在STEP7-Micro/WINSMART编程软件的“工具”菜单中选择PID向导赵方法2:打开STEP7-Micro/WINSMART编程软件,在项目树中打开“向导”文件夹,然后双击PID。
(2)定义需要配置的PID回路号
在图5-25中,选择要组态的回路,单击“下一页”,最多可组态8个回路。(3)为回路组态命名
可为回路组态自定义名称。此部分的默认名称是“回路x”,其中“x”等于回路编号,如图5-26所示。
(4)设定PID回路参数
PID回路参数设置,如图5-27所示。PID回路参数设置分为4个部分,分别为增益设置、采样时间设置、积分时间设置和微分时间设置。注意这些参数的数值均为实数。
①增益:即比例常数,默认值=1.00。
②积分时间:如果不想要积分作用,默认值=10.00。
微分时间:如果不想要微分回路,可以把微分时间设为0,默认值=0.00。
在向导完成后,若想要修改此数,则必须返回向导中修改,不可在程序中或状态表中修改。
(5)设定输人回路过程变量
设定输入回路过程变量,如图5-28所示。
①指定回路过程变量(PV)如何标定。可以从以下选项中选择:单极性:即输入的信号为正,如0~10V或0~20mA等。
双极性:输入信号在从负到正的范围内变化。如输入信号为-10~10V、-5~5V等时选用.
选用20%偏移:如果输入为4~20mA则选单极性及此项,4mA是0~20mA信号的20%,所以选20%偏移,即4mA对应5530,20mA对应27648。
温度X10℃。温度X10F。
在图5-28中,a.设置为单极时,缺省值为0~27648,对应输入量程范围0~10V或0~20mA等,输入信号为正。
在图5-28中,a.设置为双极时,缺省的取值为一27648~27648,对应的输入范围根据量程不同可以是一10~10V、-5~5V等。
在图5-28中,a.选中20%偏移量时,取值范围为5530~27648,不可改变。
c.在“定标”(Scaling)参数中,指定回路设定值(SP)如何定标。默认值是0.0~100.0的一个实数。
(6)设定回路输出选项
设定回路输出选项,如图5-29所示。
输出类型
可以选择模拟量输出或数字量输出。模拟量输出用来控制一些需要模拟量给定的设备,如比例阀、变频器等;数字量输出实际上是控制输出点的通、断状态按照一定的占空比变化,可以控制固态继电器等。
②选择模拟量则需设定回路输出变量值的范围,可以选择:a.单极。单极性输出,可为0~10V或0~20mA等。b.双极。双极性输出,可为-10~10V或-5~5V等。
c.单极20%偏移量。如果选中20%偏移,使输出为4~20mA。
取值范围
a.为单极时,缺省值为0~27648。b.为双极时,取值一27648~27648。
c。为20%偏移量时,取值5530~27648,不可改变。
如果选择了开关量输出,需要设定此循环周期,如图5-30所示。(7)设定回路报警选项
设定回路报警选项,如图5-31所示。
向导提供了三个输出来反映过程值(PV)的低值报警、高值报警及过程值模拟量模块错误状态。当报警条件满足时,输出置位为1。这些功能在选中了相应的选择框之后起作用。
使能低值报警并设定过程值(PV)报警的低值,此值为过程值的百分数,缺省值为
0.10,即报警的低值为过程值的10%。此值最低可设为0.01,即满量程的1%。
使能高值报警并设定过程值(PV)报警的高值,此值为过程值的百分数,缺省值为
0.90,即报警的高值为过程值的90%。此值最高可设为1.00,即满量程的100%。
使能过程值(PV)模拟量模块错误报警并设定模块于CPU连接时所处的模块位置。“EM0”就是第一个扩展模块的位置。
(8)定义向导所生成的PID初使化子程序和中断程序名及手/自动模式
定义向导所生成的PID初使化子程序和中断程序名及手/自动模式,如图5-32所示。
a.指定PID初使化子程序的名字。b.指定PID中断子程序的名字。
c.此处可以选择添加PID手动控制模式Vo在PID手动控制模式下,回路输出由手动输出设定控制,此时需要写入手动控制输出参数0.0~1.0之间的一个实数,代表输出的0~100%,而不是直接去改变输出值。
(9)指定PID运算数据存储区
指定PID运算数据存储区,如图5-33所示。
(10)生成PID子程序、中断程序及符号表
生成PID子程序、中断程序及符号表,如图5-34所示。
在用户程序中调用PID子程序时,可在指令树的程序块中用鼠标双击由向导生成的PID子程序,如图5-35所示
a.必须用来使能PIDxCTRL子程序,后不能串联任何其他条件,而且也不能有越过它的跳转;如果在子程序中调用PIDx_CTRL子程序,则调用它的子程序也必须仅使用调用,以保证它的正常运行。
c.此处输入设定值变量地址(VDxx),或者直接输入设定值常数,根据向导中设定的
0.0~100.0,此处应输入一个0.0~100.0的实数,例:若输入20,即为过程值的20%,假设过程值AIW0是量程为0~200℃的温度值,则此处的设定值20代表40℃(即200℃的20%);如果在向导中设定给定范围为0.0~200.0,则此处的20相当于20℃。
d.此处用控制PID的手/自动方式,当为1时,为自动,经过PID运算从AQW0输出;当为0时,PID将停止计算,AQW0输出为ManualOutput(VD4)中的设定值,此时不要另外编程或直接给AQW0赋值。若在向导中没有选择PID手动功能,则此项不会出现。
e.定义PID手动状态下的输出,从AQW0输出一个满值范围内对应此值的输出量。此处可输入手动设定值的变量地址(VDxx),或直接输入数。数值范围为0.0~1.0的一个实数,代表输出范围的百分比。例:如输入0.5,则设定为输出的50%。若在向导中没有选择PID手动功能,则此项不会出现。
f.此处键入控制量的输出地址。
g.当高报警条件满足时,相应的输出置位为1,若在向导中没有使能高报警功能,则此项将不会出现。
h.当低报警条件满足时,相应的输出置位为1,若在向导中没有使能低报警功能,则此项将不会出现。
i.当模块出错时,相应的输出置位为1,若在向导中没有使能模块错误报警功能,则此项将不会出现。
PID向导应用案例一恒压控制
(1)控制要求
本例与5.4.4案例的控制要求、硬件图纸和硬件组态完全一致,将程序换由PID向导来编写。
(2)程序设计
①PID向导生成:本例的PID向导编程请参考5.5.1PID向导编程步骤,其中第4步设置回路参数增益改成3.0,第7步设置回路报警全不勾选,第8步定义向导所生成的PID初使化子程序和中断程序名及手/自动模式中手动控制不勾选,第9步指定编程PID运算数据存储区VB44,其余与5.5.1PID向导编程步骤所给图片一致,故这里不再赘述。





