精心编制的 S7-300 PID 使用说明

上传人:灯火****19 文档编号:125333204 上传时间:2020-03-17 格式:DOC 页数:24 大小:287KB
返回 下载 相关 举报
精心编制的 S7-300 PID 使用说明_第1页
第1页 / 共24页
精心编制的 S7-300 PID 使用说明_第2页
第2页 / 共24页
精心编制的 S7-300 PID 使用说明_第3页
第3页 / 共24页
精心编制的 S7-300 PID 使用说明_第4页
第4页 / 共24页
精心编制的 S7-300 PID 使用说明_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《精心编制的 S7-300 PID 使用说明》由会员分享,可在线阅读,更多相关《精心编制的 S7-300 PID 使用说明(24页珍藏版)》请在金锄头文库上搜索。

1、定时中断组织块OB35西门子S7-300/400有9个定时中断组织块:OB30、OB31、OB32、OB33、OB34、OB35、OB36、OB37、OB38 。 CPU可以定时中断去执行这些模块中的程序,即:每隔一段时间就停止当前的程序,转去执行定时中断组织块中的程序,执行结速后再返回。相当于单片机的定时中断。这9个组织块功能相同,你可以选择其中之一使用,区别是它们的中断优先级不同,如果程序中用到了多个定时中断组织块,应设好它们的执行优先级。 S7-300CPU 可用的定时中断组织模块是OB35,在300站点的硬件组态中,打开CPU属性设置可以看到其它的中断组织块为灰色。OB35默认的调用时

2、间间隔为100ms 我们可以根据需要更改,定时范围是1-60000毫秒(ms)设置中断时间间隔如下图所示注意:设置的时间必须大于OB35中程序执行所花费的时间。例如:如果中断时间间隔为50ms而OB35中的程序花费的时间是70ms,那么OB35中的程序还没执行完毕就产生第二次中断,程序就会出错,这显然是我们不想看到的结果。以现在的技术,让你间隔一小时去月球拿一块石头你能做到吗?去月球所用的时间大于去月球的时间间隔,你做不到吧?正确设置:中断时间间隔大于OB35中程序执行完毕一次所需的时间使用FB41实现PID控制 在自动化领域中常常要用到PID控制,而常规仪表里一个控制器就只能实现一路的PID

3、控制,如果要现实多路的PID控制成本就会变得非常高,而且不便于我们集中控制与管理。 经过学习西门子S7-300PLC,我们可以使用模块FB41来实现PID控制,FB41就相当于我们常规仪表里的控制器,既然是PID控制器就应该能够设定P、I、D参数。即:比例度、积分时间、微分时间。常规仪表的面板上可以更改PID参数,又有手动/自动切换按钮等。 今天我们要做的就是使用S7-300PLC 的FB41来代替常规仪表,如何使用FB41来实现PID控制的呢? FB41是一个功能块,它所能实现的功能(PID)已经由专业人员设计好,我们只要调用它,并根据我们的需要来更改相应的参数即可使用。所以我们不用理会FB

4、41是如何实现比例运算、积分运算、微分运算等等这些问题,只需要会调用就可以了。 现在我们已经知道FB41就相当于常规仪表里的一个控制器了,那么我们是如何使用FB41并给它设置相应的参数呢? FB41相当于一个子程序,它是用来实现PID运算的,我们只需要每隔一段时间去调用这一“子程序”就可以实现PID控制。所以我们在OB35里调用FB41就可以了,调用的频率可以在属性里面设置。 我们是在OB35里调用FB41的所以在OB35里可以看到FB41的端口。因此可以直接在这些端口上直接设参数。如下图所示 到这里有人会问,既然可以在OB35里面可以直接给FB41端口赋参数,为什么还要背景数据块DB呢? 其

5、实PLC在运行过程中会先检查,用户有没有在OB35里给FB41的端口设参数,如果有就直接使用端口上的参数,如果没有就到背景数据表里面去取参数。所以我们可以在两个地方设置参数,在数据表里面参数只能是一个固定值,不能是一个变量,所以当程序下载到PLC之后就不能更改数据表里面的参数了。给端口赋参数是一个变量,变量里面存有参数,当我们需要改变参数只需要改变相应的变量就只以了。 结合两种方法的优缺点,我们可以同时在两个地方设参数,有些参数不需要经常改变的,我们就直接在DB里面设定。要经常改变的参数就在FB41的端口上设定。经过这一节我们已经对FB41有了一个基本的认识了,下一节我们讲如何使用,欢迎你观看

6、下一节。FB41背景数据块参数设置 使用FB41作PID控制时,设置参数非常烦琐,下面是单回路PID控制的参数设置实例,在表格第三列有的就是我们需要设置的,空白的我们就不用改变,按默认值就可以了。参数描述设置实例COM_RST完全重启动FALSEMAN_ON手动/自动 PVPER_ON测量值选择FALSEP_SEL比例输出开关TRUEI_SEL积分输出开关TRUEIN_HOLD积分输出冻结 I_ITL_ON积分初始化 D_SEL微分输出开关 CYCLE采样量时,条件CYCLE=1ms100msSP_INT给定值在引脚中设置PV_IN测量值1在引脚中设置PV_PER测量值2 MAN手动值 GAI

7、N比例增益按默认TI积分时间,条件TI=CYCLE按默认TD微分时间,条件TD=CYCLE TM_LAG微分作用时滞时间,条件TM_LAG=CYCLE/2 DEADB_W死区宽度 LMN_HLM控制器输出上限 LMN_LLM控制器输出下限 PV_FAC过程变量因子 PV_OFF过程变量偏移 LMN_FAC控制器输出因子 LMN_OFF控制器输出偏移 I_ITLVAL积分初始化值 DISV扰动量(前馈控制系统中才用到) LMN控制器输出值在引脚中设置LMN_PER控制器输出值(格式化后) QLMN_HLM达到上限 QLMN_LLM达到下限 LMN_P比例分量输出 LMN_I积分分量输出 LMN_

8、D微分分量输出 PV测量值输出 ER实际误差 关于FB41块的各个管脚的功能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规格化后的值(常用),因

9、此,这个位为FALSE;P_SEL:BOOL:比例选择位:该位ON时,选择P(比例)控制有效;一般选择有效;I_SEL:BOOL:积分选择位;该位ON时,选择I(积分)控制有效;一般选择有效;INT_HOLDBOOL:积分保持,不去设置它;I_ITL_ONBOOL:积分初值有效,I-ITLVAL(积分初值)变量和这个位对应,当此位ON时,则使用I-ITLVAL变量积分初值。一般当发现PID功能的积分值增长比较慢或系统反应不够时可以考虑使用积分初值;D_SEL:BOOL:微分选择位,该位ON时,选择D(微分)控制有效;一般的控制系统不用;CYCLE:TIME:PID采样周期,一般设为200MS;

10、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%;(正负1

11、0V输出就是典型的双极性输出,此时需要设置-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

12、_D:REAL:PID输出中D的分量;(可用于在调试过程中观察效果)非常实用的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发下来的设定值,0100.0的范围,real型;4、PV_IN:md6,实际测量值,比如压力,要从piw转换为010

13、0.0的量程;5、MAN:MD10,op值,也就是手动状态下的阀门输出,real型,0100.0的范围;6、GAIN:md14,Pid的P啊,默认写12吧(系统默认是2),调试的时候再改7、TI:MW20,pid的i啊.默认写T#30S吧,调试的时候改;8、DEAD_W:md22,死区,就是sp和pv的偏差死区,0100.0的范围,默认0,调试的时候改;输出:9、LMN:MD26,0100。0,最终再用fc106转换为word型move到pqw,如果pid运算结果不再有工艺条件其他限制可以用LMN_PER更简单就不用fc106了。三、用plcsim模拟1、手动man_ontrue,看输出是否等于man;2、自动man_onfalse,调整pv或者sp,使得有偏差大于死区,看输出变化,这里的模拟只能说明pid工作了,不能测试实际调节效果啊。3、如果需要反作用,有三种方法:a、pv和sp颠倒输入b、p值用负的c、输出用100减http:/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号