fb41(pid)的cycle设置
- 格式:doc
- 大小:23.00 KB
- 文档页数:2
FB41的PID:一、在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了。
三、用plcsim模拟1、手动man_on=true,看输出是否等于man;2、自动man_on=false,调整pv或者sp,使得有偏差大于死区,看输出变化,这里的模拟只能说明pid工作了,不能测试实际调节效果啊。
2、在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即可;D:PID的调整方法:一般不用D,除非一些大功率加热控制等惯大的系统;仅使用PI即可,一般先使I等于0,P从0开始往上加,直到系统出现等幅振荡为止,记下此时振荡的周期,然后设置I为振荡周期的0.48倍,应该就可以满足大多数的需求。
本人现用到西门子S7-300(CPU315)做整流系统的PID控制,具体是由AI模块输入4-20MA信号(既A柜/B柜饱和电抗器控制电流信号反馈和机组A柜/B柜直流电流信号反馈),通过CPU调用PID功能块,实现自动闭环控制,最后由AO模块输出一个4-20MA的信号给稳流系统(既A柜/B柜电流给定反馈)。
现请教:1、具体应调用S7的PID中的哪些功能块。
我是直接在OB1里边调用FB41,不知可否。
2、PID标准块FB41的输入输出参数如何整定,PV_PER、SP_INT、PV_IN有何区别。
3、GAIN、TI、TD如何整定。
4、MAN_ON、PVPER_ON怎么用,是直接在FB41的输入端写吗?原理上,PID的调节节奏应该与其采样周期一致,这是数学模型应与物理过程一致的要求。
这也就是FB41要在OB35中周期调用且OB35的周期要与FB41采样周期一致的原因。
当然,在OB1或其他FC、FB中调用FB41也是可以的,此时最好将OB1参数区中扫描周期作为FB41的采样周期。
本人在管道恒流恒压的PID过程控制中,也曾在FC中无条件连续调用FB41,PID效果也还令人满意。
我个人认为,精度要求不高的应用中,简单调用也是可以的。
FB41参数的设置很灵活,可根据自己的习惯或应用的方便选择。
下面是一种方式。
MAN_ON :激活PID手动调节给定值MAN的使能位,可用PID手自动转换位来触发。
PVPER_ON :是PID输入输出参数“PERIPHERAL化”的使能位,即将参数看成0~27648之间的整数。
换个说法,就是PID的反馈值直接取自相应AIW通道,而PID输出则直接给出到AQW通道。
参数整定由FB41完成。
可用调节装置的启动标志来触发本位。
MAN :PID手动调节给定值,当“MAN_ON=1”时有效。
CYCLE :采样周期。
根据物理量变化快慢定,一般要求与FB41执行的周期一致。
SP_INT:PID的设定值。
一、PID控制原理:1、比例(P)控制:比例控制是一种最简单的控制方式。
其控制器的输出与输入误差信号成比例关系。
当仅有比例控制时系统输出存在稳态误差。
2、积分(I)控制:在积分控制中,控制器的输出与输入误差信号的积分成正比关系。
对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统。
为了消除稳态误差,在控制器中必须引入“积分项”。
积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。
这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。
因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。
3、微分(D)控制:在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。
自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。
其原因是由于存在有较大惯性组件(环节)或有滞后组件,具有抑制误差的作用,其变化总是落后于误差的变化。
解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。
这就是说,在控制器中仅引入“比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。
所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。
二、PID控制器参数整定的一般方法:PID控制器的参数整定是控制系统设计的核心内容。
它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。
PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。
它主要是依据系统的数学模型,经过理论计算确定控制器参数。
这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改;二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。
PID调节-----西门子FB41使用准备用连续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-ITLV AL(积分初值)变量和这个位对应,当此位ON时,则使用I-ITLV AL变量积分初值。
FB42的PID调节说明
1※.CYCLE 一般为1S时间动作最快,越小动作越慢(1S以上作用不明显应大于20ms)。
2※.GAIN 比例增益越小越快,前边加—号改为反作用(超调量)。
3※.TI 积分时间越小越快(纠正误差的时间)。
4※.DEADB_W 死区宽度即实际值与测量值之间差小于这个值时没有控制输出。
5※.SP_INT 值输入。
6※.PV_IN 过程变量输入。
7.LMNR_HS 为开到位限位为1是表门开到位没输出。
8.LMNR_LS为关到位限位为1是表门关到位没输出。
9.LMNS_ON 为1时为手动模式。
10.LMNUP 手动模式下开。
11.LMNDN 手动模式下关。
12。
LMNS_ON 使用外来设备的给定变量。
13.PV_PER 外来设备的过程变量值。
带※同样适用FB41。
西门子S7-300PLC使用FB41进行闭环PID调节的解释说明2009-03-01 12:07使用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倍,应该就可以满足大多数的需求。
使用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倍,应该就可以满足大多数的需求。
S7-300PLC FB41 PID功能模块的基本操作通过这个实验,你可以掌握FB41 PID功能模块应用的基本操作、PID控制的基本编程方法。
在此基础上进行举一反三。
通过改变不同的P、I即D的值,可以体会并观察到的各个量对调节过程的影响。
D值用的较少没有加入,有兴趣的朋友可以把它加入一并实验。
FB41功能模块的输入输出参数比较多,各个输入输出量均可通过变量进行操作,使应用更加灵活。
读者可阅读有关参考书籍,灵活应用。
1.开始->SIMTIC->SIMATIC Manager2.文件->新建项目向导->下一个->在CPU类型中选择:314C->下一个3.在块名称中勾选√OB1,0B35及OB1004.所选块的语言中默认STL->下一个->项目名称:S7_MyPID->完成。
5.在打开的项目中双击硬件,窗口打开后在小窗口中的CPU的上面1号栏内,用鼠标点击左键,在弹出的菜单中点击插入对象,在弹出的菜单中选择PS307 2A。
6.在快捷菜单栏点选保存按钮。
7.站点->关闭->Yes。
8.在主栏目左侧点选块,在主栏目中有三个块存在,OB1、OB35及OB100。
9.双击OB100进入程序编辑状态。
10.在程序段1中添加FB41功能块。
操作->打开左侧程序元素窗口->点击“库”前面的+号->点击Standard Library前面的+号->PID Control Blocks前面的+号->拖拽FB41 CONT_C ICONT的图标进入程序段1中->在CALL FB 41 的后输入DB41->回车;11.提示:实例数据块不存在。
是否要生成它,点选“是Y”;自动展开一个功能块图。
12.在COM_RST:=后面输入1,回车,1即变成TRUE。
13.保存,关闭。
14.在主栏目中双击OB35进入程序编辑状态,同第10,11步。
fb41(pid)的cycle设置
使用fb41做pid控制
-------
在ob35里调用fb41,那么ob35的中断周期(t)和fb41中的参数cycle(采样时间)要有一个怎样的关系?必须相等么?
-------------
如果ob35的中断周期设为200ms,cycle一般设置为多少最佳?
最佳答案
1、ob35的中断周期(t)和fb41中的参数cycle(采样时间)要有一个怎样的关系?必须相等么?
、为了保证执行频率一致,块应当在循环中断ob(例如.ob35)中调用。
、”cycle”参数对应的是扫描时间。
必须将程序块调用的间隔时间赋值在这里(例如基于ob35的时间)。
、必须相等么?
采样周期:常指在周期性的采样系统中,当对一模拟量进行采样时,两次采样之间的时间间隔。
cycle:t#100ms,这个值与ob35默认的100ms一致。
原理上,pid的调节节奏应该与其采样周期一致,这是数学模型应与物理过程一致的要求。
这也就是fb58要在ob35中周期调用且ob35的周期要与fb58采样周期一致的原因。
2、如果ob35的中断周期设为200ms,cycle一般设置为多少最佳?
要根据调节对象来决定,例如,温度调节是一个滞后系统,所以周期可设置长一些。