我是一个西门子PLC的初学者,只接触学习过300,最近需要做一个工程要用到PId调节,阅读了许多资料,还是有些疑问,望老师指教。
我准备使用FB41来实现控制,在有的文章中,说是不推荐使用PV_PER输入过程值,有什么原因吗?使用PV_in引脚输入反馈值的话,就必须数据规格化,是使用FC105就可以了吗,还是要把转换后的实数按照比例转成0.0-1.0的实数才能加在PV_in引脚上?输出也需要转换吗?如果使用FC105、FB41、FC106实现PID的控制,这三个块的上下限数值应该如何设定。
PID可以使用PLCSIM做仿真调试实验吗?具体如何实现啊?
做温度PID调节的话,过程值使用专业RTD模块采集 ,采集进入PLC后为是什么数值,应该对这些数值做怎样的处理,就可以实现对温度的实数转换和PID调用?
最佳答案
1、有关规格化:
转帖:
在PID调节中有不同的物理量,因此在参数设定中需将其规格化:
附:
规格化概念及方法:
PID参数中重要的几个变量,给定值,反馈值和输出值都是用0.0~1.0之间的实数表示,
而这几个变量在实际中都是来自与模拟输入,或者输出控制模拟量的
因此,需要将模拟输入转换为0.0~1.0的数据,或将0.0~1.0的数据转换为模拟输出,这个过程称为规格化
规格化的方法:(即变量相对所占整个值域范围内的百分比 对应与27648数字量范围内的量)
对于输入和反馈,执行:变量*100/27648,然后将结果传送到PV-IN和SP-INT
对于输出变量 ,执行:LMN*27648/100,然后将结果取整传送给PQW即可;
2.实例:
输入参数:
SP_INT(给定值):0--100%的实数。
假定模块的输入变量量程为0-10Mpa,则SP_IN的范围0.0-1.00对应0-10Mpa.可以根据这一比例关系来设置给定值。例:如给定5.0Mpa
SP_INT(给定值)=5.0/(10.0-0.0)*100.0=50.0(50%)
PV_IN(过程值,即反馈值):0--100%的实数。
此值来自与阀门阀位(开度)的相应的压力反馈值。其范围0.0-1.0对应0-100%.即,当模拟量模板输入为数值为27648时则对应100%(量程的上限),数值为0时则对应0%(量程的下限)。
可以根据这一比例关系来换算PV_IN值。例:如输入数值为12000时
PV_IN(过程值,即反馈值)=12000/27648*100.0=43.403(43.403%)
输出参数:
当通过PID控制器(FB41)运算后,即得出调节值LMN_PER,该值已转化范围为0-27648的整型数值。例如经运算为43.403%,
LMN_PER=43.403*27648/100,取整后为12000,将LMN_PER送入模拟量输出模板即可.
上述调节阀门是"气开"式的,即输入20mA时阀门全开,4mA时全闭(失电全闭)。若调节阀门是"气闭"式的,即输入20mA时阀门全闭,4mA时全开(失电全开),FB41的SP_INT 与 PV_IN的数值互换即可(按制冷调节即可),此时如需输入MAN数值也应作相应处理。
3、相关文档:
《应用PID实现温度控制实例》:连接
http://jpkc.jingge.com/sc01/kecheng/userfiles/flash/shixunxiangmu10.swf
《用Step7中SFB41/FB 41、SFB42/FB42、SFB43/FB43实现PID控制 》下载:
http://www2.ad.siemens.com.cn/Download/Upload/AS/application/A0018.pdf http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=fb41
提问者对于答案的评价:
谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc302312.html