使用FB41进行PID调整的说明

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

使用FB41进行PID调整的说明--自动化、企业信息化—中国工控网—技术中心-工控论坛-中国工业控制自动化领域权威咨询、资讯传媒

用户登录 用户注册
厂商免费加入搜索!
综合 厂商 产品 论坛论文 培训 方案应用 图书 资料 教程 销售 供求特价 合作 新闻研究 职位

首页|新闻|厂商|产品|论坛|技术|商务|市场研究|展会|媒体|人才|有奖互动|摄影|俱乐部|博客|通讯

PLCDCSPACPC-BASEDCPCI-PXI嵌入式系统SCADA

工业以太网现场总线无线通讯自动化软件人机界面

纺织机械包装机械塑料机械橡胶机械
印刷机械烟草机械起重机械电梯机床



低压变频器高压变频器运动控制机械传动机器视觉传感器
现场仪表显示控制仪表分析测试仪表执行机构工业安全低压电器电源

冶金石化电力汽车轨道交通
建材电子造纸矿业水处理








首页|工控论坛|专业论文|海外文摘|方案与应用|资料中心|在线教程|使用维修|研讨培训|有奖征文|专业图书



使用FB41进行PID调整的说明
作者: 激情如火 ,2005-8-3 11:31:00 发表于:《Siemens PLC论坛》 共有82人回复,7093次点击 加为好友 留言


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参数。

注:本文由zzj1382提供,工控网整理,感谢zzj1382的支持!

以下是对《使用FB41进行PID调整的说明》的回复:
共有82人回复 分页: 1 2
APHONE: 引用 加为好友 发送留言 2005-8-3 12:23:00
谢谢新楼主的整理 ,这些东西很有用处, 希望继续努力。 多多提供300的应用方面的东西。

zyhml: 引用 加为好友 发送留言 2005-8-3 12:33:00
不错,借问一下plcsim是不是不支持pid运算模拟阿,还有其他可以模拟的阿

石跃刚: 引用 加为好友 发送留言 2005-8-3 13:03:00
不错,现正不知道其参数的具体意思,现在好了
有一问题请教:在西门子PLC中,ET200的I/O值是怎样存入在预定DB块而被PLC调用的,是怎样预定DB块的?还有变频器等设备的控制字,也是同样的问题.不知能否见告,谢谢!

激情如火: 引用 加为好友 发送留言 2005-8-3 14:42:00

在西门子PLC中,ET200的I/O值在plc中调用的位置是在硬件配置时定义的,而且可以修改。变频器得看看什么通讯方式,是dp

的话就很简单了,读入gsd文件进行硬件组态,跟调用普通io模块是一样的。

APHONE: 引用 加为好友 发送留言 2005-8-3 22:09:00
不错 ,新来的斑竹竟然是西门子的高手,呵呵, 以后有的搞了, 正要做一个S7-300带8路模拟量PID控制的项目。

石跃刚: 引用 加为好友 发送留言 2005-8-6 8:42:00
谢谢,俺懂了,版主你真的不错啊!我喜欢

zyhml: 引用 加为好友 发送留言 2005-8-6 8:51:00
将参数COM-RST置位,当然也可在别的地方初始化它,关键的是要控制COM-RST;
我看到s7-300应用技术中,是复位com-rst,不知哪个对阿。

渝: 引用 加为好友 发送留言 2005-8-19 19:56:00

我用OB35调用SFB41,不知为什么不能下载到300里,这问题急需解决,请各位高手指点一下阿,另外,请斑竹说明一下COM_RST到底是怎样在OB100里初始化的,希望举个例,谢谢

张林: 引用 加为好友 发送留言 2005-8-20 21:13:00
谢谢

zyhml: 引用 加为好友 发送留言 2005-8-20 23:25:00
sfb不用下载,本来就在plc里

cookie20: 引用 加为好友 发送留言 2005-9-2 9:50:00
我正需要用到FB41,谢谢!
请斑竹说明一下COM_RST到底是怎样在OB100里初始化的,希望举个例,谢谢

zzj1382: 引用 加为好友 发送留言 2005-9-2 10:24:00

嘿嘿,这份资料是我一个朋友需要时,我紧急给他整理的,看看放在电脑里没有用,又看到很多人问,就顺手放到自助资料库了,没想到我们亲爱的板主老大把它翻出来.
受宠若惊,惭愧.不对之处,请各位指正

feishine: 引用 加为好友 发送留言 2005-9-19 21:16:00
我正需要用到FB41,谢谢!

qianli: 引用 加为好友 发送留言 2005-11-19 0:11:00
STEP7-400 PID编程同300一样吗?

king0815: 引用 加为好友 发送留言 2005-11-21 17:53:00
好东西!谢谢!!

张志华: 引用 加为好友 发送留言 2006-1-17 11:59:00
谢谢,你有使用FB58,41的例子吗?我希望看到,发给我邮箱
robinzzh@

张志华: 引用 加为好友 发送留言 2006-1-17 12:02:00
激情如火:希望能加你为好友

32890786: 引用 加为好友 发送留言 2006-1-17 12:08:00


operaton: 引用 加为好友 发送留言 2006-1-17 12:54:00
激情如火: 你真是一个热心人呀!


谢谢了

886688: 引用 加为好友 发送留言 2006-1-17 16:04:00
当然斑竹最强了

886688: 引用 加为好友 发送留言 2006-1-17 16:06:00
我怎么没看到啊,是啥东西,在哪找啊

怪石: 引用 加为好友 发送留言 2006-1-24 14:34:00
初始化的目的是什么呢?必须吗?

激情如火: 引用 加为好友 发送留言 2006-1-24 14:54:00
不是必须的,初始化主要恢复算法内部各临时变量的值,可以把他认为是硬件上的复位开关。

不打好人: 引用 加为好友 发送留言 2006-1-24 16:14:00


JLCWZF: 引用 加为好友 发送留言 2006-3-2 11:15:00
谢谢,你有使用FB58,41的例子吗?我希望看到,发给我邮箱
jlcwzz@

激情如火: 引用 加为好友 发送留言 2006-3-2 11:16:00
楼上网友可以到资料库下载。

STYLE: 引用 加为好友 发送留言 2006-3-4 17:59:00
我想问斑竹!PID中FB41的背景数据块怎么用!

万能控制: 引用 加为好友 发送留言 2006-3-8 10:12:00
首先在BLOCK中添加一个背景数据块,然后在程序中添加一个FB41,最后在FB41块的顶上把背景数据块名添上就可使用

激情如火: 引用 加为好友 发送留言 2006-3-8 12:45:00
首先在BLOCK中添加一个数据块,修改数据块属性为instance db,然后选择fb41,即可生成,使用同上。

西门子菜鸟: 引用 加为好友 发送留言 2006-3-9 16:03:00
斑竹!资料下载中心PID的例子不全,只有上半部分,不知下半部分在哪?

风清杨: 引用 加为好友 发送留言 2006-3-9 18:50:00
真的很不错,是个学习的好地方!!继续精彩,我们都很欢迎!!

king0815: 引用 加为好友 发送留言 2006-3-10 18:28:00
这个太好了!谢谢版主. 还能不能提供其它用于PID控制的块的资料,如:SFB41,SFB42,SFB43,FB42,FB43.
再次谢谢!

一大幅度: 引用 加为好友 发送留言 2006-3-11 19:04:00
C:规格化概念及方法:
PID参数中重要的几个变量,给定值,反馈值和输出值都是用0.0~1.0之间的实数表示,
-------------------------
这句话我不同意。
建议最好用0-100.0范围
也就是pv、sp、op和lmn都是0-100

一刀见血: 引用 加为好友 发送留言 2006-3-12 10:16:00
靠!这样有什么意思呢!

定要拿出证据来才有说服力!


又卡了: 引用 加为好友 发送留言 2006-4-16 21:14:00
zzj1382: 
“PV_PER: WORD:未经规格化的反馈值,由PEPER-ON选择有效;(不推荐)”
为什么不推荐啊?


南极火: 引用 加为好友 发送留言 2006-4-26 15:02:00
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即可;



弄斧到班门,下棋找高手: 引用 加为好友 发送留言 2006-5-25 21:52:00

PID的初始化可以通过在OB100中调用一次,将参数COM-RST置位,当然也可在别的地方初始化它,关键的是要控制COM-RST;


这段话我不理解,不知道是什么意思,是一定要初始化吗?我问西门子公司技术支持,他们说不用啊。我后来也没有初始化,直接在OB35里调用就可以了,效果很好。这个初始化是什么意思?是把模块参数恢复到默认值?

99999999: 引用 加为好友 发送留言 2006-5-26 15:44:00
那个PID背景模块怎么用呢?

努力认清自己: 引用 加为好友 发送留言 2006-5-27 16:34:00
LMN-PER可以输出控制值到PQW吗?请教。

于增源: 引用 加为好友 发送留言 2006-6-23 11:24:00
TO:激情如火老师:

能不能给我发一个FB41 PID调节的例子,谢谢,急需解决问题。
不胜感激!!!邮箱:yzy1979@

于增源: 引用 加为好友 发送留言 2006-6-23 11:25:00
TO:激情如火老师:

能不能给我发一个FB41 PID调节的例子,谢谢,急需解决问题。
不胜感激!!!邮箱:yzy1979@

一青松: 引用 加为好友 发送留言 2006-6-28 11:37:00
正好要用!感谢搂主!

dummkopf: 引用 加为好友 发送留言 2006-7-1 19:01:00
真是好人

红烧大肠: 引用 加为好友 发送留言 2006-7-

3 12:32:00
能不能给我发一个FB41 PID调节的例子,谢谢,急需解决问题。
不胜感激!!!邮箱:594022856@

happyoicq: 引用 加为好友 发送留言 2006-7-3 19:44:00
太感谢了

兰色月光: 引用 加为好友 发送留言 2006-7-10 10:05:00
顶一下,太感谢了!

qm: 引用 加为好友 发送留言 2006-7-10 12:14:00
顶!

如火: 引用 加为好友 发送留言 2006-7-10 14:13:00
to:又卡了
不推荐是因为如果采用PV_PER,对PV的标准化、线性化、有效性分析等有困难。所以我建议不用PV_PER。

to:弄斧到班门,下棋找高手:
PID的初始化可以通过在OB100中调用一次,可以对一些特定参数进行初始化,但不初始化也可以满足多数应用。

弄斧到班门,下棋找高手: 引用 加为好友 发送留言 2006-7-10 18:07:00
谢谢如火.

刘洋: 引用 加为好友 发送留言 2006-7-10 21:28:00
真是需要的,哈哈~

共有82人回复 分页: 1 2
 回复此主题: 【放入我的收藏】 【建议删除】
◆如果您的文章包含图片,请点击这里发表图文内容!(仅限中国工控网的VIP用户,申请VIP用户)
◆笔名: (填写您喜欢的笔名,若此笔名未被注册,系统会自动为您注册)
◆有人回复后,系统是否自动给您发信? 选择 发信 不发信
◆文章内容:(如果您输入的内容较多,建议您提交前将内容复制到记事本里,以便出错后重新提交)

字体颜色: 黑色 灰色 茶色 红色 紫色 绿色 橄榄色 蓝色


您的用户名:kuizi
·中国工控网BBS经营许可证编号:京ICP证020079号。
·请确认您的言论符合《互联网电子公告服务管理规定》《全国人大常委会关于维护互联网安全的规定》及中国工控网工控论坛规范条例。





中国工控网所有信息→自动化厂商-自动化产品-技术论文-方案与应用-自动化新闻-资料下载-自助资料库-ENGLISH



联系我们| 广告联系| 市场研究| 人才服务| 用户注册| 用户反馈| 本站介绍| 有奖报错| 今日更新| 历史首页| 版权声明|
帮助信息
中国工控网(www.gongkong™.com)版权所有
工控TV自动化视频© Copyright By China Industrial Control Net 中国自动化网现代物流网物流搜索


相关文档
最新文档