S7-300 FB41 PID如何设置参数

合集下载

step7 FB41的PID参数说明

step7 FB41的PID参数说明

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的PID控制

S7-300的PID控制

使用FB41实现PID控制在自动化领域中常常要用到PID控制,而常规仪表里一个控制器就只能实现一路的PID 控制,如果要现实多路的PID控制成本就会变得非常高,而且不便于我们集中控制与管理。

经过学习西门子S7-300PLC,我们可以使用模块FB41来实现PID控制,FB41就相当于我们常规仪表里的控制器,既然是PID控制器就应该能够设定P、I、D参数。

即:比例度、积分时间、微分时间。

常规仪表的面板上可以更改PID参数,又有手动/自动切换按钮等。

今天我们要做的就是使用S7-300PLC 的FB41来代替常规仪表,如何使用FB41来实现PID控制的呢??FB41是一个功能块,它所能实现的功能(PID)已经由专业人员设计好,我们只要调用它,并根据我们的需要来更改相应的参数即可使用。

所以我们不用理会FB41是如何实现比例运算、积分运算、微分运算等等这些问题,只需要会调用就可以了。

现在我们已经知道FB41就相当于常规仪表里的一个控制器了,那么我们是如何使用FB4 1并给它设置相应的参数呢??FB41相当于一个子程序,它是用来实现PID运算的,我们只需要每隔一段时间去调用这一“子程序”就可以实现PID控制。

所以我们在OB35里调用FB41就可以了,调用的频率可以在属性里面设置。

我们是在OB35里调用FB41的所以在OB35里可以看到FB41的端口。

因此可以直接在这些端口上直接设参数。

如下图所示到这里有人会问,既然可以在OB35里面可以直接给FB41端口赋参数,为什么还要背景数据块DB呢???其实PLC在运行过程中会先检查,用户有没有在OB35里给FB41的端口设参数,如果有就直接使用端口上的参数,如果没有就到背景数据表里面去取参数。

所以我们可以在两个地方设置参数,在数据表里面参数只能是一个固定值,不能是一个变量,所以当程序下载到PLC之后就不能更改数据表里面的参数了。

给端口赋参数是一个变量,变量里面存有参数,当我们需要改变参数只需要改变相应的变量就只以了。

S7300FB41 PID参数如何设置

S7300FB41 PID参数如何设置

S7-300 FB41 PID参数如何设置?来源:作者:时间:2008-02-03 点击:145PID 没有例程和经验值可参考,每个设备都不同,都需要根据现场的设备去调试。

有时同样的两套设备P、I、D参数都会不同。

所以PID 的参数也需要根据实际情况一点点试。

下面的步骤仅供参考。

PID的调用要在OB35中完成.在ob35里面插入FB41,方框顶上会有红字,输入一个DB块如“DB20”。

系统会问你要不要生成这个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×××转换为实际的工程量(使用FC105);5、MAN:MD10 (该地址也可以是从上位机设定的地址),是手动状态下的输入值,real型。

手动设多少输出将为多少。

6、GAIN: MD100(该地址也可以是从上位机设定的地址如DB 块的地址,这样可以从上位机设P 参数了),默认写1-2吧(系统默认是2),调试的时候再改。

7、TI:MW120, 默认可以写T#30S吧,调试的时候改;8、DEAD_W:MD122,死区,就是sp和pv的偏差死区,0-100.0的范围,默认0,调试的时候改;输出:9、LMN:MD126,把MD126再用fc106转换到pqw××,如果pid运算结果不再有工艺条件其他限制可以用LMN_PER更简单就不用fc106了。

三、用plcsim模拟1、手动man_on=true,看输出是否等于man;2、自动man_on=false,调整pv或者sp,使得有偏差大于死区,看输出变化,这里的模拟只能说明pid工作了,不能测试实际调节效果啊。

用S7-300PLC进行PID控制——功能块FB41的功能及用法介绍

用S7-300PLC进行PID控制——功能块FB41的功能及用法介绍

用S7-300PLC进行PID控制——功能块FB41的功能及用法介绍一、控制系统假设图1 液压系统控制框图如图1为液压系统的简单控制框图。

控制方式为使用变频器拖动泵,使系统的实际压力等于设定压力。

本文基于此系统,探讨一下如何用S7-300进行PID控制。

为方便讨论,做以下假定:•· 系统压力的可调范围为:0 – 1MPa;•· 变频器的变频范围为:0 – 50Hz;•· 压力传感器的输入外设地址:PIW272;模拟量输出外设地址为PQW288。

二、FB41简介在STEP7中的库中,有专门用于PID控制的FB块——FB41。

PID控制必须在循环中断中执行,以确保其扫描、执行时间基本固定。

本例中的CPU仅有OB35一个循环中断,因此,要在OB35中调用FB41。

图2 FB41在库中的位置图3 FB41的逻辑图FB41的逻辑如图3所示。

分解介绍如下:•· SP_INT端为给定值,本例中即为给定压力,假设为0.5MPa;即:0.5==>'SP_INT';•· 实际值有两条通路可选:· 当PVPER_ON=0时,PV_IN端的值为实际值,该值通常有FC105转换而来;· 当PVPER_ON=1时,PV_PER端的值为实际的压力值,该值来自AI模块,为压力传感器的反馈值;本例中,我们以PVPER_ON=1时,来说明。

即:1==>'PVPER_ON'、PIW272==>'PV_PER'•· PV_FAC、PV_OFF对应压力的范围,即:1==>'PV_FAC'、0==>'PV_OFF'。

•· PV是根据PV_PER计算出的实际压力值。

具体来说:PV_PER=0时,对应的实际压力为PV_OFF,即0MPa;PV_PER=27648时,对应的实际压力为PV_FAC,即1MPa;PV=PV_PER/27648*(PV_FAC –PV_OFF),本例中,PV=PV_PER/27648;•· ER为给定值SP_INT和实际值PV的偏差,PID即是基于它进行调节的;•· GAIN、TI、TD分别为比例、积分、微分的系数。

PID控制FB41的参数设置

PID控制FB41的参数设置

PID控制FB41的参数设置
有个PID控制方面的问题请教各位朋友,希望大家指点。

生产线上有个执行机构,主要负责上升和下降动作。

是通过力士乐伺服阀控制,同时依靠位移传感器进行检测上升和下降的距离。

最近发现,PID中SP_INT上升位置为650,可是每次反馈值PV_IN基本在730左右,而且上升的速度比较快,相比较下降,它会在快到最低位置执行减速,可是上升的时候却没实现。

导致上升到最大位置时,撞击声音很大。

昨天晚上,我就参照网上的FB41参数设置资料,对相关参数进行了设置,比如将P和I设置为1,设置LMN_HLM上限值,以及PV_OFF,可是都不起作用。

本来还想改GAIN,可是自己不太懂。

更糟糕的是,之前下降时会有个减速动作,可是现在连下降也不减速了,震动声音很明显。

我已经将所有修改过的地方都恢复成了原样,可是下降时减速现象还是不能恢复。

我现在有两个想法,不知道该怎么实现,请教。

1.如何实现对上升速度进行一个减速,比如现在上升到730,当在700的时候速度变慢,该怎么调试?gain这个参数该怎么设置?一般的设置值是多少?
2.如何在自动运行时设置一个上限值,不超过730,
希望对PID控制熟悉的,指导一下!
图片说明:1,PID控制程序2 2,PID控制程序1
最佳答案
FB41的P比例参数是个实数,从0----无穷大的,越大比例度越大,超调过多,可以减小P,P=1.0不是最小,你的现象是超调过多,需要先减小P,然后观察静差,根据静差调整I来减小静差.微分就不要用了。

西门子S7-300PID的FB41 CONT_C功能及参数设定

西门子S7-300PID的FB41 CONT_C功能及参数设定

本人现用到西门子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的设定值。

FB41背景数据块参数设置 及PID简介

FB41背景数据块参数设置 及PID简介

一、PID控制原理:1、比例(P)控制:比例控制是一种最简单的控制方式。

其控制器的输出与输入误差信号成比例关系。

当仅有比例控制时系统输出存在稳态误差。

2、积分(I)控制:在积分控制中,控制器的输出与输入误差信号的积分成正比关系。

对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统。

为了消除稳态误差,在控制器中必须引入“积分项”。

积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。

这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。

因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。

3、微分(D)控制:在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。

自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。

其原因是由于存在有较大惯性组件(环节)或有滞后组件,具有抑制误差的作用,其变化总是落后于误差的变化。

解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。

这就是说,在控制器中仅引入“比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。

所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。

二、PID控制器参数整定的一般方法:PID控制器的参数整定是控制系统设计的核心内容。

它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。

PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。

它主要是依据系统的数学模型,经过理论计算确定控制器参数。

这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改;二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。

FB41.FB42.FB43 PID参数设置中文说明

FB41.FB42.FB43 PID参数设置中文说明

W#16#0000 MANIPULATED VALUE PERIPHERAL
QLMN_HLM BOOL REACHED 操作值始终受
FALSE HIGH LIMIT OF MANIPULATED VALUE
上限和下限的限制。如果输出为"达到 操作值上限" ,则表明已
超过上限。
QLMN_LLM BOOL REACHED 操作值始终受
输出参数
下表包含对 SFB 41/FB41 "CONT_C"输出参数的说明。
参数 数据类型 取值范围: 缺省值 说明
LMN REAL 有效的操作值为
0.0 MANIPULATED VALUE
"操作值"输出处 的浮点格式输出。
LMN_PER WORD 将 I/O 格式的操作值 连接到"操作值外设" 输出的控制器。
INT_HOLD BOOL
FALSE
设置输入"积分作用暂停"
可以"冻结"积分器的输出。
INTEGRAL ACTION HOLD
I_ITL_ON BOOL
FALSE INITIALIZATION OF THE INTEGRAL
ACTION ON
设置输入"积分作用初始化打开"可以
将积分器的输出
连接到输入
TI = T#0ms 时,可以禁用控制器的积分组件,从而可以将块作为比例控制器使用。
由于该控制器在没有任何位置反馈信号的情况下工作,内部计算的操作变量将不会与信号控制元素位置完 全相符。如果操作变量(ER * GAIN)为负值,将进行调整。随后该控制器会设置输出 QLMNDN (操作值信 号下限),直到设置了 LMNR_LS (位置反馈信号下限)为止。

西门子S7 FB41的使用方法

西门子S7 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调整的说明

A:所有的输入参数:
COM_RST: BOOL:
重新启动PID:当该位TURE时:PID执行重启动功能,复位PID内部参数到默认值;通常在系统重启动时执行一个扫描周期,或在PID进入饱和状态需要退出时用这个位;
使用FB41进行PID调整的说明--自动化、企业信息化—中国工控网—技术中心-工控论坛-中国工业控制自动化领域权威咨询、资讯传媒
用户登录 用户注册
厂商免费加入搜索!
综合 厂商 产品 论坛论文 培训 方案应用 图书 资料 教程 销售 供求特价 合作 新闻研究 职位
在西门子PLC中,ET200的I/O值在plc中调用的位置是在硬件配置时定义的,而且可以修改。变频器得看看什么通讯方式,是dp的话就很简单了,读入gsd文件进行硬件组态,跟调用普通io模块是一样的。
APHONE: 引用 加为好友 发送留言 2005-8-3 22:09:00
MAN_ON:
BOOL:手动值ON;当该位为TURE时,PID功能块直接将MAN的值输出到LMN,这可以在PID框图中看到;也就是说,这个位是PID的手动/自动切换位;
PEPER_ON: BOOL:过程变量外围值ON:过程变量即反馈量,此PID可直接使用过程变量PIW(不推荐),也可使用
zyhml: 引用 加为好友 发送留言 2005-8-3 12:33:00
不错,借问一下plcsim是不是不支持pid运算模拟阿,还有其他可以模拟的阿
石跃刚: 引用 加为好友 发送留言 2005-8-3 13:03:00
TD : TIME:微分时间;
TM_LAG: TIME:我也不知道,没用过它,和微分有关;
DEADB_W: REAL:死区宽度;如果输出在平衡点附近微小幅度振荡,可以考虑用死区来降低灵敏度;

西门子300中PID的使用

西门子300中PID的使用

西门子300中PID的使用PID的调用要在OB35中完成.在ob35里面插入FB41,方框顶上会有红字,输入一个DB块如“DB20”。

系统会问你要不要生成这个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×××转换为实际的工程量(使用FC105);5、MAN:MD10 (该地址也可以是从上位机设定的地址),是手动状态下的输入值,real型。

手动设多少输出将为多少。

6、GAIN: MD100(该地址也可以是从上位机设定的地址如DB 块的地址,这样可以从上位机设P 参数了),默认写1-2吧(系统默认是2),调试的时候再改。

7、TI:MW120, 默认可以写T#30S吧,调试的时候改;8、DEAD_W:MD122,死区,就是sp和pv的偏差死区,0-100.0的范围,默认0,调试的时候改;输出:((死区:又叫死区宽度,在控制系统中,某些执行机构如果动作频繁,会导致小幅震荡,造成严重的机械磨损。

从控制要求来说,很多系统又允许被控量在一定范围内存在误差。

我们允许被控量的误差大小,被称为PID的死区宽度;死区是如何工作的呢?当误差的绝对值小于死区宽度时,死区非线性的输出量(即PID 控制器的输入量)为0 ,这时PID 控制器的输出分量中,比例部分和微分部分为0,积分部分保持不变,因此PID的输出保持不变,PID控制器起不到调节作用;当误差的绝对值超过死区宽度时,开始正常的PID 控制在FB41 中,死区宽度是“DEADB_W”PID的输入量 = 0 偏差的绝对值|ev|< "DEADB_W"= ev 偏差的绝对值|ev|>= "DEADB_W" ))9、LMN:MD126,把MD126再用fc106转换到pqw××,如果pid运算结果不再有工艺条件其他限制可以用LMN_PER更简单就不用fc106了。

使用S7-300的FB41进行PID调整的说明

使用S7-300的FB41进行PID调整的说明

使用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功能模块的基本操作

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-FB42参数详细说明 S7-300 西门子

FB41-FB42参数详细说明 S7-300 西门子

用Step7 中SFB41/FB 41,SFB42/FB42,SFB43/FB43实现PID控制SLC A&D CSMay 2004目录1概述 (3)1.1应用 (3)1.2控制系统分析 (4)2PID系统控制器的选择 (7)2.1连续控制器、开关控制器 (7)2.2固定值控制器 (8)2.3级联控制器 (8)2.4混合控制器 (8)2.5比例控制器 (9)2.5.1单循环比例控制器 (9)2.5.2多循环比例控制器 (9)2.6二级控制器 (9)2.7三级控制器 (10)3布线 (10)3.1布线规则 (10)3.1.1连接电缆 (10)3.1.2屏蔽端接元件 (10)3.1.3警告 (10)3.1.4其它信息 (10)4参数赋值工具介绍 (10)4.1调试PID参数的用户界面 (11)4.2获取在线帮助的途径 (12)5在用户程序中实现 (12)5.1调用功能块 (12)5.2背景数据块 (13)5.3程序结构 (13)6功能块介绍 (13)6.1连续调节功能SFB 41/FB 41 “CONT_C” (13)6.1.1简介 (13)6.1.2应用程序 (14)6.1.3说明 (14)6.2步进控制功能SFB 42/FB 42“CONT_S” (26)6.2.1简介 (26)6.2.2应用程序 (26)6.2.3说明 (27)6.3脉冲宽度调制器SFB 43/FB 43“PULSEGEN” (36)6.3.1简介 (36)6.3.2应用程序 (36)6.3.3说明 (36)7功能块举例 (49)1 概述本文中所讨论的功能块(SFB41/FB41,SFB42/FB42,SFB43/FB43)仅仅是使用于S7和C7的CPU中的循环中断程序中。

该功能块,定期计算所需要的数据,保存在指定的DB中(背景数据块)。

允许多次调用该功能块。

CONT_C块与PULSEGEN块组合使用,可以获得一个带有比例执行机构脉冲输出的控制器(例如,加热和冷却装置)。

西门子PLC使用FB41进行PID调整的说明

西门子PLC使用FB41进行PID调整的说明

使用FB41进行PID调整的说明目前工业自动化水平已成为衡量各行各业现代化水平的一个重要标志。

同时,控制理论的发展也经历了古典控制理论、现代控制理论和智能控制理论三个阶段。

智能控制的典型实例是模糊全自动洗衣机等。

自动控制系统可分为开环控制系统和闭环控制系统。

一个控控制系统包括控制器﹑传感器﹑变送器﹑执行机构﹑输入输出接口。

控制器的输出经过输出接口﹑执行机构﹐加到被控系统上﹔控制系统的被控量﹐经过传感器﹐变送器﹐通过输入接口送到控制器。

不同的控制系统﹐其传感器﹑变送器﹑执行机构是不一样的。

比如压力控制系统要采用压力传感器。

电加热控制系统的传感器是温度传感器。

目前,PID控制及其控制器或智能PID控制器(仪表)已经很多,产品已在工程实际中得到了广泛的应用,有各种各样的PID控制器产品,各大公司均开发了具有PID参数自整定功能的智能调节器(intelligent regulator),其中PID控制器参数的自动调整是通过智能化调整或自校正、自适应算法来实现。

有利用PID控制实现的压力、温度、流量、液位控制器,能实现PID控制功能的可编程控制器(PLC),还有可实现PID控制的PC系统等等。

可编程控制器(PLC)是利用其闭环控制模块来实现PID控制,而可编程控制器(PLC)可以直接与ControlNet相连,如Rockwell的PLC-5等。

还有可以实现PID 控制功能的控制器,如Rockwell 的Logix产品系列,它可以直接与ControlNet相连,利用网络来实现其远程控制功能。

1、开环控制系统开环控制系统(open-loop control system)是指被控对象的输出(被控制量)对控制器(controller)的输出没有影响。

在这种控制系统中,不依赖将被控量反送回来以形成任何闭环回路。

2、闭环控制系统闭环控制系统(closed-loop control system)的特点是系统被控对象的输出(被控制量)会反送回来影响控制器的输出,形成一个或多个闭环。

S7-300(FC105,FB41,FB43,FC106)功能块的使用

S7-300(FC105,FB41,FB43,FC106)功能块的使用

FC105的使用----FC105是处理模拟量(1~5V、4~20MA等常规信号)输入的功能块:打开Libraries\standard library\Ti-S7 Converting Blocks\fc105,将其调入OB1中,给各个管脚输入地址;如下图:其中管脚的定义如下:IN---------模拟量模块的输入通道地址,在硬件组态时分配;HI_LIM-----现场信号的最大量程值;LO_LIM-----现场信号的最小量程值;BIPOLAR—---极性设置,如果现场信号为+10V~-10V(有极性信号),则设置为1,如果现场信号为4MA~20MA(无极性信号),则设置为0;RET_VAL----FC105功能块的故障字,可存放在一个字里面。

如:MW50;OUT--------现场信号值(带工程量单位);信号类型是实数,所以要用MD200来存放;热电偶、热电阻信号的处理,该类信号实际值是通道整数值的1/10;FB41 PID控制模块的使用----PID模块是进行模拟量控制的模块,可以完成恒压、恒温等控制功能:打开Libraries\standard library\PID Control block\FB41,将其调入OB1中,首先分配背景数据块DB41,再给各个管脚输入地址;如下图:脉冲输出模块FB43,该模块是将模拟量转换成比率的脉冲输出。

Libraries\standard library\PID Control block\FB43,将其调入OB1中,首先分配背景数据块DB43,再给各个管脚输入地址;如下图:通道地址输入PID的输出通道. 如下图:使用FC106模块如果单独控制变量输出通道,可使用FC106模块:FC106是处理模拟量(1~5V、4~20MA 等常规信号)输出的功能块,打开Libraries\standard library\Ti-S7 Converting Blocks\fc106,将其调入OB1中,给各个管脚输入地址;如下图:。

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

PID 没有例程和经验值可参考,每个设备都不同,都需要根据现场的设备去调试。

有时同样的两套设备P、I、D参数都会不同。

所以PID 的参数也需要根据实际情况一点点试。

下面的步骤供你参考。

PID的调用要在OB35中完成.
在ob35里面插入FB41,方框顶上会有红字,输入一个DB块如“DB20”。

系统会问你要不要生成这个DB,选yes就可以。

大部分参数不要填,默认就行,下面是常用参数,用变量连接:本文来自PLC资料网
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×××转换为实际的工程量(使用FC105);
5、MAN:MD10 (该地址也可以是从上位机设定的地址),是手动状态下的输入值,real 型。

手动设多少输出将为多少。

6、GAIN: MD100(该地址也可以是从上位机设定的地址如DB 块的地址,这样可以从上位机设P 参数了),默认写1-2吧(系统默认是2),调试的时候再改。

7、TI:MW120, 默认可以写T#30S吧,调试的时候改;
8、DEAD_W:MD122,死区,就是sp和pv的偏差死区,0-100.0的范围,默认0,调试的时候改;
输出:
9、LMN:MD126,把MD126再用fc106转换到pqw××,如果pid运算结果不再有工艺条件其他限制可以用LMN_PER更简单就不用fc106了。

三、用plcsim模拟
1、手动
man_on=true,看输出是否等于man;
2、自动
man_on=false,调整pv或者sp,使得有偏差大于死区,看输出变化,这里的模拟只能说明pid工作了,不能测试实际调节效果啊。

copyright plc资料网
COM_RST: BOOL: 重新启动PID:当该位TURE时:PID执行重启动功能,复位PID内部参数到默认值;通常可以不用,因为一旦参数设定好不会有大的变动了。

相关文档
最新文档