- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AB的PID学习帮助概要1
第一章 PID原理简介
比如说一个压力调节,设定目标值PIT_SP=4 MPa,现场反馈回来的实际压力值PIT_PV=3MPa,阀门开度为0%~100%。
如果PID在自动调节状态下,由于实际压力值PIT_PV与目标值PIT_SP不相等,此时阀门开度会增加(此处PID分正反作用,此处是反作用。如果是正作用,则阀门开度减小),使现场的管道压力PIT_PV增加至与设定的压力值PIT_SP相等。变化过程中,现场反馈的实际压力值PIT_PV越接近目标值PIT_SP,阀门开度变化的速度越慢,直到相等时,阀门开度不变,否则开度一直增加至100%(正作用时,减小至0%)。
第二章 PID功能块简介
打开Logix 5000编程软件,添加一个rung,输入PID,即可出现PID功能块,如下图1,图2所示。
图1
图2
2.1 变量简介
PID:PID结构体,此处定义了一个名为PIDA的结构体,结构体子变量说明见附件1。
Process Variable:现场反馈过来的实际参数值,如温度,压力,流量等;
Tieback:设定的牵引值,如手动情况下输入的阀门开度值;
Control Variable:控制输出值,如实际输出的阀门开度;
PID Master Loop :PID主回路;
Inhold bit :初始化保持位;
Inhold value :初始化保持数据;
Setpoint:显示设定的控制值,即目标值,如我需要将压力控制在4MPa;
Process Variable:显示现场反馈过来的实际参数值,如温度,压力,流量等;
Output:显示控制输出的阀门开度。
2.2 PID详细设置
在2.1节已经说明了进入PID详细设置的方法,进入后如下图所示。注意:一下截图只是说明相应项的设置意义,具体设置值是具体情况而定。
Tuning:
图3
图4
Configuration:
图5
图6
图7
Alarm:
图8
Scaling:
图9
图10
2.3 PID的无冲击启动
图11
图12
图13
第三章 PID程序分析
3.1 手自动无扰切换简介
总的来说,就是手自动相互切换时,输出的阀门开度值必须保持上一个状态的开度值。比如说现场的一个压力调节阀正常自动进行PID调节,输出的阀门开度为40%,现在由于特殊需要,需要将阀门开度开到一个特定值80%,此时切换到手动情况下,阀门的开度值必须保持自动状态下的最后的开度值40%,然后再手动输入特定的开度值80%。完成后,投入自动调节时,同样,阀门开度必须保持在手动状态下的开度值80%,然后从80%开始自动调节。
3.2 程序说明
程序如下图14所示。
图14
实际上,只需要第0行(rung)就可以完成手自动无扰切换,但是为了与上位机连接,故将PID结构体里的变量赋给我们自定义的变量,这样上位机连我们自定义的变量名及对应得地址即可(同时这样做的意义还有就是方便做成一个完整的功能块)。
那么第1行(rung)的意义:1. 用自己定义的变量MA_Value用于手自动切换(结构体里的.SWM);2. 用自己定义的变量KAIDU_M用于表示手动情况下输出的开度值(结构体里的.SO)。
第2行(rung)的意义:由于第一行将KAIDU_M的值赋给了输出开度值(结构体里的.SO)。如果没有第二行,且此时由自动切换至手动,则此时的输出的阀门开度值为上一次手动输入的开度值,并不是上一次自动状态下的阀门开度值,这样便无法实现自动向手动的无扰切换了。要达到自动向手动的无扰切换,就必须使KAIDU_M的值实时跟随控制输出的阀门开度值Output。那么第2行的赋值就可实现。
第3行(rung)的意义:用自己定义的变量PID_SP,PID_KP,PID_KI,PID_KD用于输入设置值,比例,积分,微分参数。
第四章 功能块制作
图15
对Add-On-Defined下的WRQH的设置定义如下图16所示。
图16
上图16中的红框里KAIDU_M的Usage为InOut。因为程序里对KAIDU_M,既对它进行了赋值,又把它作为数值赋给了别的变量,因此此处定义为InOut,用作输入输出。
另外,在上图16中的Local Tags中定义了一个PIDA的结构体,为本地变量,即局部变量,如下图17所示。
图17
定义完成后,再在Main Program里的PID里添加一个rung,双击,输入WRQH后回车,即可添加刚才制作完成的功能块WRQH,如下图18所示。
图18
到此,功能块制作完成并可以使用,我们自己定义的变量也在功能块里了,这样设置就友好多了。
第五章 附件1
PID结构体的子变量如下所述:
助记符 类型 说明
.CTL DINT
文档评论(0)