首页 理论教育 解决PID控制中的常见问题

解决PID控制中的常见问题

时间:2023-07-01 理论教育 版权反馈
【摘要】:答:S7-1200CPU固件版本V4.0以上,TIA博途V13SP1以上,使用S7-PLCSIMV13SP1可以仿真PLC的程序,但不支持工艺功能的仿真。答:3个PID指令功能对比见表11-12。图11-39 PID_Compact触摸屏上修改PID参数表11-12 PID指令功能对比8.PID指令为什么报错16#800:采样时间错误?

解决PID控制中的常见问题

1.S7-1200CPU的PID功能支持仿真吗?

答:S7-1200CPU固件版本V4.0以上,TIA博途V13SP1以上,使用S7-PLCSIMV13SP1可以仿真PLC的程序,但不支持工艺功能(高速计数器、运动控制、PID调节)的仿真。

2.S7-1200系列CPU支持几路PID控制?

答:S7-1200系列CPU可组态的PID回路最大数量没有固定限制,但与以下两点相关:

1)CPU的存储区的大小及DB块数量的限制;

2)在循环中断里调用PID指令,需要保证中断里执行指令的时间远小于该中断的循环时间。

3.如何实现手/自动无扰动切换

答:以“PID_Compact”为例,其他PID指令与其相同,相关编程步骤如下:

1)PID_Compact手动到自动切换,支持无扰动切换。

2)PID_Compact自动到手动切换,需要编程实现,如图11-38所示。

4.为何PID设置了“CPU重启后,激活Mode”为自动模式,CPU重启后,该设置不生效?

答:以“PID_Compact”为例,当Mode参数有输入实参时,CPU重启后PID的工作模式决定于Mode参数的实际值,而与“CPU重启后激活Mode”设置无关。解决方法:不要在Mode参数处连接实参。

5.如何在第三方触摸屏上修改PID参数?

答:以“PID_Compact”为例,“PID_Compact”的工艺DB为优化访问,没有实际地址,所以需要按照如下步骤操作:

978-7-111-58391-2-Chapter11-51.jpg

图11-38 PID_Compact自动到手动无扰切换

1)在项目树下选择PLC站点,打开工艺对象,选择该工艺对象DB块,右键菜单中选择“打开DB编辑器”,在“Static.Retain.CtrlParams”下找到“Gain”比例参数、“Ti”积分参数和“Td”微分参数。

2)编程如图11-39所示。

3)在触摸屏上访问“Tag_3”、“Tag_4”、“Tag_5”。

6.使用PID预调节前是否需要将PID控制器调整到基本稳定状态?

答:不需要,只需要满足预调节的条件即可。

7.“PID_Compact”、“PID_3Step”与“PID_Temp”指令功能对比?

答:3个PID指令功能对比见表11-12。

978-7-111-58391-2-Chapter11-52.jpg

图11-39 PID_Compact触摸屏上修改PID参数

11-12 PID指令功能对比

978-7-111-58391-2-Chapter11-53.jpg

8.PID指令为什么报错16#800:采样时间错误

答:为了保证PID采样与计算输出在同一个周期内完成,需要设置PID指令的采样时间与循环中断的时间相同,以“PID_Compact”为例,需要将静态变量“CycleTime”.Value设置为循环中断时间,其单位为秒(s)

9.如何让PID切换到自动模式?

答:PID在首次调用时,处于模式0,即非活动状态,想要将PID切换到自动模式可参考以下4种方法:

1)Mode=3,ModeActivate上升沿触发。(www.xing528.com)

2)Mode=3;Reset下降沿触发。

3)Mode=3;ManualEnable下降沿触发。

4)在组态内设置CPU断电重启后,进入自动模式,参考第11.2.2节。

10.PID调节中如何将非线性化的传感器信号做线性化处理

答:可以利用“Polyline”指令。

“Polyline”指令可对传感器的非线性特性执行线性化操作。“Polyline”指令利用特性曲线将输入值Input映射到输出值Output。特性曲线是一条最大点数为50的折线,相邻两点(xi和xi+1)之间执行线性插值

Polyline指令主要分为以下3个部分:输入、输出及静态变量。Polyline的输出可作为PID控制器的过程值输入,指令如图11-40所示。参数见表11-13、表11-14、表11-15。

978-7-111-58391-2-Chapter11-54.jpg

图11-40 Polyline指令

11-13 Polyline输入参数

978-7-111-58391-2-Chapter11-55.jpg

11-14 Polyline输出参数

978-7-111-58391-2-Chapter11-56.jpg

11-15 Polyline静态变量

978-7-111-58391-2-Chapter11-57.jpg

(1)启动

使用插值计算,首先需要编辑UserData结构中的值,再将通过有效性检查的值传送到WorkingData。只有WorkingData结构中的值才可以用于插值计算。

有以下两种方式启动插值计算:

1)将Validate参数设置为TRUE,同时Reset参数设置为FALSE。

2)CPU的工作状态从STOP到RUN后,首次调用Polyline,同时Reset参数设置为FALSE。

(2)折线数据的适用范围

检查UserData结构中的值时,必须满足以下条件才能确保有有效的折线数据可用于插值计算。

1)2≤UserData.NumberOfUsedPoint≤50。

2)UserData.Point[i].x≤UserData.Point[i+1].x。

3)-3.402823e+38≤UserData.Point[i].x≤3.402823e+38。

4)-3.402823e+38≤UserData.Point[i].y≤3.402823e+38。

5)UserData.Point[i].x与UserData.Point[i].y为有效的REAL值。

(3)OutOfRangeMode

如果Input参数的输入值低于所输入点的第一个x值或高于所输入点的最后一个x值,此时可通过OutOfRangeMode变量组态Output的输出规则,组态如下:

•OutOfRangeMode=0输出值由首尾两点的斜率计算。

•OutOfRangeMode=1输出值等于第一个点或最后一个点的y值。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈