【PLC学习十二】西门子PID功能块(FB41)与PID函数块(PID_compact)的区别与共性
在学习已有项目时,发现PID功能的实现是通过西门子自带的PID功能块FB41实现的,而西门子自带的PID函数块PID_COMPACT功能也十分的强大,二者在使用上的区别引发了我的思考
文章目录
前言
西门子开发了三个PID函数,分别是:PID_Compact,PID_3Step,PID_Temp,另有PID功能块:分别是CONT_C\S,TONT_CP\S等。本文主要辨析PID_COMPACT和CONT_C的区别。
提示:以下是本篇文章正文内容,下面案例可供参考
一、控制系统与执行器
PID控制必须要搞明白的就是控制系统与执行器,下面以官方文档中的例子为例
如上图所示,是一个通过加热系统控制房间温度的简单控制系统示例。sensor测量房间temperature,并将temperature传输给controller。controller测量当前室内温度与setpoint差值,并计算需要增加温度的输出值(manipulated variable)。
上表是控制系统的示例。
二、软件控制器概述
1.软件控制器
对于软件控制器的配置,我们需要一个带有控制算法与技术对象的指令。软件控制器的技术对象与指令的实例DB相对应。控制器的配置信息保存在技术对象中。与其他指令的实例DB相反,技术对象并没有存储在程序资源中,而是存储在CPU中。
2.技术对象与说明
三、PID_Compact
技术对象PID_Compact提供了一个集成优化的连续PID控制器。PID-Compact在控制回路内连续获取测量过程值,并将其与所需的设定值进行比较。根据产生的控制偏差,指令PID_Compact计算出一个输出值,通过该输出值可以使过程值尽可能快速和稳定地适应设定值。PID控制器的输出值由三个动作组成:分别是P、I、D。
PID_Compact不能在负比例增益下工作,PID_Compact需要在循环OB块中调用
独特的自整定功能:https://www.ad.siemens.com.cn/productportal/Prods/S7-1200_PLC_EASY_PLUS/10-Technology/02-PID/02-PID_Compact/03-PID_V2/03-Tuning.htm
四、Cont_C
技术对象CONT_C为自动和手动模式提供了连续pid控制器。它对应于指令CONT_C的实例数据块。您可以使用PULSEGEN指令配置脉冲控制器。(没有自整定功能)
五、Cont_C与PID_Compact的区别
回答一:
PID_Compact 可实现一个集成优化功能的连续 PID 控制器,还可以组态脉冲控制器。PID_Compact 在预调节期间计算受控系统的比例、积分和微分参数,精确调节可用于进一步调节这些参数,用户不必手动确定这些参数。
CONT_C PID基本函数块功能比PID_Compact简单,若使用脉冲输出需要另配 PULSEGEN 指令,CONT_C 没有预调节功能,参数整定需要手动进行。
https://www.ad.siemens.com.cn/service/answer/solved_244314_1077.html
回答二:
https://support.industry.siemens.com/forum/WW/en/posts/pid-control-pid-compact-vs-cont-c/235408
总结
最终在实际应用时,参考前篇【PLC学习十一】,使用CONT_C功能块,提前设置设定值,并将过程值与CONT_C连接。并且,在单独的FB块内写PID手动、半自动、自动功能程序,并在该FB块内调用CONT_C。这种做法不用在循环FB内调用它。
示例文档:
1、CONT_C参考file:///C:/Users/79937/Downloads/83102537.pdf
2、手/自动无忧切换参考https://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/function/PID/PID_AUTO_MANUAL.html