西门子plc的pid控制程序的实例

作者:老电工时间:2016-11-23 08:07:57

西门子plc的pid控制程序的实例

问题描述:
要对plc的内部pid压力控制进行控制编程,不知道使用哪个程序,以及如何编程,请教大家帮忙。

问题补充:

如何编写PID控制程序的梯形图,这个PID是运算的是压力值,通过PID运算PLC给变频器一个信号来调节变频器的输出频率。就是这个PID运算的梯形图!

解答:
PID压力控制进行控制编程例子

一、输入参数:

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数值也应作相应处理。

在ob35里面插入FB41,方框顶上会有红字,输入一个类似“DB120”的,系统会问你要不要生成这个Db,yes就可以。

二、大部分参数不要填,默认就行,下面是常用参数,用变量连接:

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

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

3、SP_INT:MD2,是hmi发下来的设定值,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了。

本站仅提供信息发布平台,文章仅代表作者个人观点。

猜你喜欢

首页 > plc > 西门子plc编程实例