首页 理论教育软件编程中的PID控制与调用

软件编程中的PID控制与调用

【摘要】:当然,OB35的周期设置可以根据工艺实际要求而定。表9-3 PID软件编程步骤为了保证执行频率一致,块应当在循环中断OB中调用。图9-3 设置SFB41的背景DB为DB3具体的PID调用程序如图9-4所示。图9-4 PID程序调用在PID程序调用中,“CYCLE”参数对应的是扫描时间,必须将程序块调用的间隔时间赋值在这里。当前值显示在窗口的右上部。9)单击“关闭”按钮,终止曲线记录器的功能。

1.恒液位控制程序

恒液位控制的软件编程应按表9-3进行。当然,OB35的周期设置可以根据工艺实际要求而定。

表9-3 PID软件编程步骤

978-7-111-38359-8-Chapter09-7.jpg

为了保证执行频率一致,块应当在循环中断OB(例如OB35)中调用。由于OB1不能保证不变的循环时间,所以不能为“CYCLE”提供明确的参数。一旦“CYCLE”参数不能和扫描时间保持一致,那么基于时间的控制参数(例如TI,TD)会看起来很快或者很慢。

由于SFB41需要背景DB块,因此需要按照图9-3进行设置。

978-7-111-38359-8-Chapter09-8.jpg

图9-3 设置SFB41的背景DB为DB3

具体的PID调用程序如图9-4所示。

978-7-111-38359-8-Chapter09-9.jpg

图9-4 PID程序调用

在PID程序调用中,“CYCLE”参数对应的是扫描时间,必须将程序块调用的间隔时间赋值在这里(例如基于OB35的时间)。

默认状态下为手动模式(MAN_ON=true)。当I0.3=1时,自动回路被中断,在MAN参数下输出控制值,如本例中的50%。为了确保手自动的无扰切换,在手动模式下至少保证两次块调用的输出时间。

2.PID控制软件

PID控制软件是配合STEP 7管理器使用的,在本案例中的操作使用步骤如下:

(1)新建或打开现有的数据块

可从CPU在线装载数据块或从PG/PC离线装载数据块,如图9-5所示。

978-7-111-38359-8-Chapter09-10.jpg

图9-5 新建或打开现有的数据块

(2)在线获取PID参数

无论是手动模式(如图9-6所示)还是自动模式(如图9-7所示),都可以在线获取PID参数,需要注意的是如果PID中的某一个控制没有被激活,如D分量没有激活,其参数值将不被获取。

(3)在线数据运行曲线记录器

要使用在线数据运行曲线记录器,可按如下操作:

1)使用菜单“选项调试”→“曲线记录器”启动此项功能。出现“曲线记录器”窗口,单击“设置...”按钮,跳转到曲线记录器的“设置”对话框。

2)单击方框“曲线1”到“曲线3”中的箭头。出现参数列表,可从中选择要分配给曲线的参数。

3)设置X轴坐标的上限和下限。

4)单击“更改颜色”按钮。“颜色选择”对话框打开。在此,可为曲线分配特定的颜色。

978-7-111-38359-8-Chapter09-11.jpg

图9-6 手动操作

978-7-111-38359-8-Chapter09-12.jpg

图9-7 自动操作

5)使用“时间分辨率”框中的箭头为过程动态选择合适的周期(100ms、200ms、...900ms、1s、2s、...9s、10s、20s、90s),来建立采集周期。

6)单击“确定”按钮退出对话框,然后单击“开始”按钮,开始测量值的采集。

7)监视窗口中的记录。您将看到所选参数记录的当前部分。当前值显示在窗口的右上部。

8)要停止记录,单击“停止”按钮。此状态下,可使用曲线窗口下的滚动条将窗口移动到所记录的曲线上。继续记录,再次单击“开始”按钮。

9)单击“关闭”按钮,终止曲线记录器的功能。

如图9-8所示为恒液位控制某一时刻所记录的曲线。

978-7-111-38359-8-Chapter09-13.jpg

图9-8 在线数据运行曲线记录器

3.PID编程经验技巧

由于PID控制在很大程度上取决于工艺类型,因此应用PID尤其困难,这时候可以采用这里所提的PID编程经验技巧,即大部分参数不要填,默认就行,以下是常用参数,用变量连接:

1)MAN_ON:用一个bool量,如m0.0,为true则手动,为false则自动;

2)cycle:如T#100MS,这个值与ob35默认的一致;

3)SP_INT:如MD2,是操作站发下来的设定值,0~100.0的范围,real型;

4)PV_IN:如md6,实际测量值,比如液位、压力,要从PIW×××转换为0~100.0的量程

5)MAN:如MD10,op值,也就是手动状态下的阀门输出,real型,0~100.0的范围;

6)GAIN:如md14,Pid的P,默认写1~2(系统默认是2),调试的时候再依实际情况修改;

7)TI:如MW20,pid的i啊.默认写T#30S吧,调试的时候依实际情况修改;

8)DEAD_W:如md22,死区,就是sp和pv的偏差死区,0~100.0的范围,默认0,调试的时候依实际情况修改;

输出:

9)LMN:MD26,0-100。0,最终再用fc106转换为word型move到pqw×××,如果pid运算结果不再有工艺条件其他限制可以用LMN_PER更简单就不用fc106了。

4.用PLCSIM模拟的经验技巧

对于没有控制器的编程者来说,用PLCSIM模拟的经验技巧如下:

(1)手动

man_on=true,看输出是否等于man。

(2)自动

man_on=false,调整PV或者SP,使得有偏差大于死区,看输出变化,这里的模拟只能说明PID工作了,不能测试实际调节效果。

(3)如果需要反作用,有三种方法:

1)PV和SP颠倒输入;

2)P值用负的;

3)输出用100减。