您现在所在的是:

变频器论坛

回帖:2个,阅读:1874 [上一页] [1] [下一页]
909
houjing0610
文章数:5
年度积分:50
历史总积分:909
注册时间:2009/3/19
发站内信
发表于:2009/6/22 16:57:01
#0楼
准备用连续pid调节来实验一个控制,在软件上做了一个简单的pid41用仿真模拟了一把,情况还好,基本可以运行,但是其中的一些小的功能还是没有做好.想仔细再看看说明.幸好有一位网又一起讨论,得到了一个比较好的说明.传上来以免以后找不到.
使用fb41进行pid调整的说明
fb41称为连续控制的pid用于控制连续变化的模拟量,与fb42的差别在于后者是离散型的,用于控制开关量,其他二者的使用方法和许多参数都相同或相似。 pid的初始化可以通过在ob100中调用一次,将参数com-rst置位,当然也可在别的地方初始化它,关键的是要控制com-rst; pid的调用可以在ob35中完成,一般设置时间为200ms,一定要结合帮助文档中的pid框图研究以下的参数,可以起到事半功倍的效果 以下将重要参数用黑体标明.如果你比较懒一点,只需重点关注黑体字的参数就可以了。其他的可以使用默认参数。
       a:所有的输入参数:
com_rst: bool: 重新启动pid:当该位ture时:pid执行重启动功能,复位pid内部参数到默认值;通常在系统重启动时执行一个扫描周期,或在pid进入饱和状态需要退出时用这个位;
       man_on: bool:手动值on;当该位为ture时,pid功能块直接将man的值输出到lmn,这可以在pid框图中看到;也就是说,这个位是pid的手动/自动切换位;
       peper_on: bool:过程变量外围值on:过程变量即反馈量,此pid可直接使用过程变量piw(不推荐),也可使用 piw规格化后的值(常用),因此,这个位为false;
       p_sel: bool:比例选择位:该位on时,选择p(比例)控制有效;一般选择有效;  
i_sel: bool:积分选择位;该位on时,选择i(积分)控制有效;一般选择有效;
int_hold bool:积分保持,不去设置它;
i_itl_on bool:积分初值有效,
i-itlval(积分初值)变量和这个位对应,当此位on时,则使用i-itlval变量积分初值。一般当发现pid功能的积分值增长比较慢或系统反应不够时可以考虑使用积分初值;
d_sel : bool:微分选择位,该位on时,选择d(微分)控制有效;一般的控制系统不用;
cycle : time:pid采样周期,一般设为200ms; sp_int: real:pid的给定值;
pv_in : real:pid的反馈值(也称过程变量);
pv_per: word:未经规格化的反馈值,由peper-on选择有效;(不推荐) man : real:手动值,由man-on选择有效;
gain : real:比例增益;
ti : time:积分时间;
td : time:微分时间;
tm_lag: time:我也不知道,没用过它,和微分有关;
deadb_w: real:死区宽度;如果输出在平衡点附近微小幅度振荡,可以考虑用死区来降低灵敏度;
lmn_hlm: real:pid上极限,一般是100%;
lmn_llm: real:pid下极限;一般为0%,如果需要双极性调节,则需设置为-100%;(正负10v输出就是典型的双极性输出,此时需要设置-100%);
pv_fac: real:过程变量比例因子
pv_off: real:过程变量偏置值(offset)
lmn_fac: real:pid输出值比例因子;
lmn_off: real:pid输出值偏置值(offset);
i_itlval:real:pid的积分初值;有i-itl-on选择有效;
disv :real:允许的扰动量,前馈控制加入,一般不设置;

b:部分输出参数说明:
lmn :real:pid输出;
lmn_p :real:pid输出中p的分量;(可用于在调试过程中观察效果)
lmn_i :real:pid输出中i的分量;(可用于在调试过程中观察效果)
lmn_d :real:pid输出中d的分量;(可用于在调试过程中观察效果)

c:规格化概念及方法:
pid参数中重要的几个变量,给定值,反馈值和输出值都是用0.0~1.0之间的实数表示,而这几个变量在实际中都是来自与模拟输入,或者输出控制模拟量的因此,需要将模拟输出转换为0.0~1.0的数据,或将0.0~1.0的数据转换为模拟输出,这个过程称为规格化 规格化的方法:(即变量相对所占整个值域范围内的百分比 对应与27648数字量范围内的量)对于输入和反馈,执行:变量*100/27648,然后将结果传送到pv-in和sp-int 对于输出变量 ,执行:lmn*27648/100,然后将结果取整传送给pqw即可;

d:pid的调整方法:一般不用d,除非一些大功率加热控制等惯大的系统;仅使用pi即可, 一般先使i等于0,p从0开始往上加,直到系统出现等幅振荡为止,记下此时振荡 的周期,然后设置i为振荡周期的0.48倍应该就可以满足大多数的需求。我记得网络上有许多调整pid的方法,但不记得那么多了,先试试吧。 附录:pid的调整可以通过“开始-simatic-step7-pid调整”打开pid调整的控制面板,通过选择不同的pid背景数据块,调整不同回路的pid参数。

----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=91688&Name=houjing0610
9721
lwcccf
文章数:7459
年度积分:100
历史总积分:9721
注册时间:2006/1/7
发站内信
09工控人生征文
发表于:2009/6/23 8:23:33
#1楼
好文章,以前发过一次了。支持一下。
希望通过论坛与各位成为朋友!
学无止境,学有所用
823
江南春雨夜
文章数:6
年度积分:50
历史总积分:823
注册时间:2009/5/19
发站内信
发表于:2009/6/23 12:37:08
#2楼
雪中送炭啊

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

62.4004