用Step7实现PID控制
- 格式:doc
- 大小:1.08 MB
- 文档页数:49
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倍,应该就可以满足大多数的需求。
Step7中PID控制器(FB41)在重介密度控制中的应用【摘要】可编程序控制器(PLC)在控制领域具有强大的功能,为了充分发挥PLC的功能,相应的编程软件也在不断地改进,本文在阐述西门子编程软件STEP7功能模块在密度控制中自动加水,调节密度的应用时间,着重量介绍了PID参数的作用及常用方法。
【关键词】PID连续控制器;密度控制系统一、引言自动控制理论与实践的发展,为人们设计自动化程度高的系统提供了很好的方法,自动控制,就是指在没人直接参与的情况下,利用外加的设备(控制器)操作被控制对象(电机、执行机构或生产过程)的某个状态或参数(控制量),使其按控制器预先设定的控制量规律的自动运行。
从而提高设备的运行性能、改善工作效率。
密度控制是重介选煤的核心部分,密度控制的好坏,直接影响产品的质量,介耗的大小,系统工艺的稳定,进而影响选煤生产的经济效益。
孔庄煤矿选煤厂密度控制系统为2003年重介工艺改造建立的控制系统,主要完成重介洗煤的密度调节,系统采用单片机,利用A/D转换技术,完成密度控制系统的数据采集与控制。
数据采集、转换精度不高,密度控制波动较大,造成产品质量稳定性较差,介耗高,生产系统经常性混乱,给重介系统带来很大的压力。
另外密度控制系统相对独立,与生产集中控制系统没有构成网络,形成了脱节,造成生产滞后。
图1 PID连续控制为改善密度控制系统对洗煤生产造成的影响,我厂从根本上修改了原有的控制方式,推倒重来,首先在硬件上增加了一个ET200西门子I/O分站,接入现场所有的开关量信号、模拟量信号,利用总线技术与原有的S7-300 315DP连接,从而与原有控制系统形成一体。
其次在控制方式上,考虑到密度控制中控制加水阀门开度大小来完成测量密度值与设定密度值的跟踪,从而控制重介生产密度在一个有效的范围内保持相对稳定,保证产品质量的稳定。
因此,控制方式要求要有快速度性与稳定性,所以,我们采取PID控制方式来实现控制。
STEP7中PID仿真实验的实现方法【摘要】PID控制在化工等连续生产行业的控制策略中起着重要的作用,虽然PID控制器参数较少,控制方式较为简单,但是不熟悉P、I、D三个参数所起作用和各参数之间相互联系,相互影响,想要找到一组合适的调节参数也是非常困难的。
使用西门子公司STEP7的程序仿真环境对生产环节的仿真控制来学习PID调节器的使用,对仪控和工艺操作人员,都有着重要的意义。
本文主要介绍了如何通过STEP7和Wincc搭建PID仿真平台来学习PID调节。
【关键词】PID控制;STEP7;Wincc;被控对象仿真一、PID仿真实验在化工行业培训教中的实用性PID控制是在化工生产过程中实用性最强、使用范围最广泛的一种自动控制系统。
在实际生产过程中,DCS或者PLC系统中的PID模块组态简单,使用方便,所需硬件少,所需调节参数少,调节器设定值、输出值和被控变量的实时和历史趋势查看方便,成本及维护费用低等优点,使得DCS或PLC控制系统中的软调节器代替了大部分的PID调节器模块。
在连续生产的化工行业,温度、压力等被控变量控制精度要求较高,不允许较大的波动和超调现象出现。
在实际生产过程中,P、I、D调节参数的投用切除和参数值的修改都会引起调节品质的变化,而且三个参数都对调节品质有影响,所以需要足够的经验才可以将PID调节器参数调至合适。
在实际的生产过程中,被控变量达到调节要求并趋于稳定后,调节参数不能随意修改,即使遇到有调节需要的仪表回路,有可能因为调节参数设置不当,造成被调参数的振荡,导致物料的浪费甚至停车事故,所以在生产过程中工艺及自控人员没有足够多的机会去积累PID调节方便的经验,在停车检修过程中,又没有真实生产过程供工艺及自控人员练习。
西门子STEP7是西门子S7 300\400系列PLC的组态编程环境,其仿真环境PLCSIM可以很好的模拟S7 300\400系列PLC控制器和用户程序的运行。
西门子S7 300\400系列PLC具有强大的PID控制功能,并具有FB41(连续控制器)、FB42(步进控制器)、FB43(脉冲发生器)、用于温度控制的FB58和FB59等PID相关的功能块和相应的系统功能块,并可以通过软件来实现自整定功能。
pid最早是采用运放等电路器件实现的,是一个连续调节的过程;但是数字电路里面要实现pid,就要进行“离散化”,你可以查阅数字pid的相关资料。
在大学自控专业的相关教材里面对此有详细的理论公式推导。
在plc里面实现pid当然就是个数字pid,其中一个重要的因素是采样时间,说的具体点,就是数字pid——在西门子plc里面就是fb41这个模块需要定时调用!比如放在ob35里面,那么ob35(默认100ms)的执行周期就是数字pid的采样时间,这个100ms是数字pid运算公式里面的一个重要参数!所以,把fb41放在ob1里面执行,表面看也是可以执行的,但运算结果其实是偏离了理论目标。
由于ob1扫描周期不固定,所以结果很难预料。
单说运行是可以的,但用OB35调用,可以有好的控制精度不是说非要作在OB35里,而是指从OB35调用主要是0B35以固定周期运行,数字化PID的采样周期T必须是等间隔的,所以要用定时中断来触发。
PID在定时中断中执行是因为定时中断准确,是以设定的周期执行的,除非有更高优先级的中断同时发生.而主程序的执行周期不是定长的,在主程序中的定时器的精度也受扫描周期的影响.OB35中断周期:按所设定的时间间隔产生中断。
即采样周期:常指在周期性的采样系统中,当对一模拟量进行采样时,两次采样之间的时间间隔。
原理上,PID 的调节节奏应该与其采样周期一致,这是数学模型应与物理过程一致的要求。
这也就是 FB41要在 OB35 中周期调用且 OB35 的周期要与 FB41采样周期一致的原因。
当然,在 OB1 或其他 FC、FB 中调用 FB41也是可以的,此时最好将 OB1 参数区中扫描周 期作为 FB41 的采样周期。
FB 41 "CONT_C"为了保证执行频率一致,块应当在循环中断 OB (例如. OB35)中调用。
"CYCLE" 参数对应的是扫描时间。
必须将程序块调用的间隔时间赋值在这里 ( 例如基于 OB35 的时间 )。
PID控制软件包包括以下几部分9 CONT_C、CONT_S和PULSEGEN功能模块PID控制的概念PID控制软件包里的功能块包括连续控制功能块CONT_C,步进控制功能块CONT_S以及具有脉冲调制功能的PULSEGEN。
控制模块利用其所提供的全部功能可以实现一个纯软件控制器。
循环扫描计算过程所需的全部数据存储在分配给FB的数据区里,这使得无限次调用FB变成可能。
功能块PULSEGEN一般用来连接CONT_C,以使其可以产生提供给比例执行器的脉冲信号输出。
基本功能在功能块组成的控制器中,有一系列你可以通过设置使其有效或无效的子功能。
除了实际采用PID算法的控制器外,还包括给定点值处理、过程变量处理以及调整操作值范围等功能。
应用用两个控制模块组成控制器就可以突破局限的特定应用。
控制器的性能和处理速度只与所采用的CPU性能有关。
对于任意给定的CPU,控制器的数量和每个控制器被调用的频率是相互矛盾的。
控制环执行的速度,或者说,在每个时间单元内操作值必须被更新的频率决定了可以安装的控制器的数量。
对要控制的过程类型没有限制,迟延系统(温度、液位等)和快速系统(流量、电机转速等)都可以作为控制对象。
过程分析注意:控制过程的静态性能(比例)和动态性能(时间延迟、死区和重设时间等)对被控过程控制器的构造和设计以及静态(比例)和动态参量(积分和微分)的维数选取有着很大的影响。
准确地了解控制过程的类型和特性数据是非常必要的。
控制器的选取注意:控制环的特性由被控过程或被控机械的物理特性决定,并且我们可以改变的程度不是很大。
只有选用了最适合被控对象的控制器并使其适应过程的响应时间,才能得到较高的控制质量。
生成控制器不用通过编程你就可以生成控制器的大部分功能(构造、参数设置和在程序中的调用等),前提是你掌握了STEP 7的编程知识。
在线帮助STEP 7的在线帮助同样也可以为你提供各种功能块的帮助信息进一步帮助PID控制器是标准控制器的子集,想得到标准控制器进一步的资料,请参阅/350/参数设置调用参数分配用户界面在Windows95下按照下面的选项调用PID控制器的参数设置用户界面Start—SIMA TIC_Step 7—PID Control ParameterAssignment 在第一个对话框中你可以打开一个已经存在的CONT_C或CONT_S的背景数据块,或者你新建一个数据块作为功能的背景数据块。
西门子PLC S7-300PID调试指南西门子PLC S7-300系列的模块配置灵活,扩展性强,通讯功能强大,为自动化控制系统提供了解决方案。
西门子PLC S7-300的编程软件是STEP7 V5.5,在编程软件中,用户可以通过PID功能块实现PID控制。
本文下面为您介绍一下西门子PLC S7-300PID调试方法,为您在程序调试中提供一些参考。
西门子PLC S7-300系列PLC的PID控制器参数整定的一般方法:PID控制器的参数整定是控制系统设计的核心内容。
它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。
PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。
它主要是依据系统的数学模型,经过理论计算确定控制器参数。
这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。
二是工程整定方法。
它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。
PID控制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。
三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。
但无论采用哪一种方法所得到的控制器参数,都需要在实际运行中进行最后调整与完善。
现在一般采用的是临界比例法。
利用该方法进行PID控制器参数的整定步骤如下:(1)首先预选择一个足够短的采样周期让系统工作;(2)仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡,记下这时的比例放大系数和临界振荡周期;(3)在一定的控制度下通过公式计算得到PID控制器的参数。
PID参数的设定:是靠经验及工艺的熟悉,参考测量值跟踪与设定值曲线,从而调整P\I\D的大小。
比例I/微分D=2,具体值可根据仪表定,再调整比例带P,P过头,到达稳定的时间长,P太短,会震荡,永远也打不到设定要求。
本文介绍了西门子PLC S7-300系列PID调试基本方法,用户可以参照本文提供的内容,对自动化控制系统进行PID调节,并最终达到稳定运行。
用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块组合使用,可以获得一个带有比例执行机构脉冲输出的控制器(例如,加热和冷却装置)。
∙SFB41/FB41 (CONT_C),连续控制方式;∙SFB42/FB42 (CONT_S),步进控制方式;∙SFB43/FB43 (PULSEGEN),脉冲宽度调制器;注意:SFB41/42/43,与FB41/42/43兼容,可以用于CPU 313C、CPU 313C-2 DP/PTP 和CPU 314C-2 DP/PTP中。
1.1应用借助于由你组态大量模块组成的控制器,可以完成带有PID算法的实际控制器。
控制效率,即处理速度取决于你所使用的CPU性能。
对于给定的CPU,必须在控制器的数量和控制器所需要执行频率之间找到一个折衷方案。
连接的控制电路越快,所安装的控制器数量越少,则每个时间单位计算的数值就越多。
对于控制过程的类型没有限制。
较慢(温度、填料位,等)以及较快的控制系统(流量、速度,等)都可以控制。
1.2控制系统分析控制系统的静态性能(增益)和动态性能(滞后、空载时间、积分常数,等),都是设计系统控制器及其静态参数(P操作)和动态参数(I、D操作)的主要因素。
因此,熟练掌握控制系统的类型和特性非常重要。
(如图1,图2,图3,图4)图 1图 2图 3图 42 PID系统控制器的选择控制系统的属性由技术过程和机器条件决定。
因此,为了获得良好的控制效果,你必须选择最适用的系统控制器。
2.1连续控制器、开关控制器∙连续控制器,输出一个线性(模拟)数值。
∙开关控制器,输出一个二进制(数字)数值。
2.2固定值控制器固定值控制,使用设定固定数值进行的过程控制,只是偶尔修改一下参考变量,过程偏差的控制。
2.3级联控制器级联控制器,控制器串行连接控制。
第一个控制器(主控制器)决定了串行控制器(从控制器)的设定点,或者根据过程变量的实际错误影响器设定点。
一个级联控制器的控制性能可以使用其它的过程变量加以改进。
为此,可以为主控制变量添加一个辅助过程变量PV2(主控制器SP2的输出)。
主控制器可以将过程变量PV1施加给设定点SP1,并且可以调整SP2,以便尽可能快地到达目标,而没有过调节。
(如图5)图 52.4混合控制器混合控制器是指根据每个被控组件所需要的设定点总数量,来计算总SP数量的一种控制结构。
在此,混合系数FAC的和必须为“1”。
(如图6)图 62.5比例控制器2.5.1 单循环比例控制器单循环比例控制器,可以用于“两个过程变量之间的比率”比“两个过程变量的绝对数值”重要的场合。
(例如,速度控制)。
(如图7)图 72.5.2 多循环比例控制器对于多循环比例控制,两个过程变量PV1和PV2之比保持为常数。
因此,可以使用第一个控制循环的过程数值,来计算第二个控制循环的设定点。
对于过程变量PV1的动态变化,也可以保证保持特定的比例。
(如图8)图 82.6二级控制器一个二级控制器只能采集两个输出状态(例如,开和关)。
典型的控制为:一个加热的系统,通过继电器输出的脉冲宽度调制。
2.7三级控制器一个三级控制器只能采集到三个具体的输出状态。
我们需要区分:“脉冲宽度调制”(例如,加热-冷却,加热-关机-冷却)和“使用集成执行机构的步进控制”(例如,左-停止-右)之间的区别。
3 布线对于没有集成的I/O控制器,你必须使用附加的I/O模块。
3.1布线规则3.1.1 连接电缆∙对于数字I/O,如果线路有100米长,必须使用屏蔽电缆;∙电缆屏蔽时必须在两端进行接地;∙软电缆的截面积选择0.25…1.5 mm2;∙无需选择电缆套。
如果决定选择使用电缆套,你可以使用不带绝缘套圈的电缆套(DIN 46228, Shape A, Short version);3.1.2 屏蔽端接元件∙你可以使用屏蔽端接元件,将所有屏蔽的电缆直接通过导轨连接接地;∙必须在断电情况下对组件进行接线;3.1.3 警告∙带电作业会有生命危险。
∙如果你带电对组件的前插头进行接线,会有触电危险!3.1.4 其它信息∙其他注意事项可参见手册“CPU数据”手册以及CPU的安装手册。
4 参数赋值工具介绍借助于“PID参数设置”工具,可以很方便的调试功能块SFB41/FB41,SFB42/FB42的参数(背景数据块)。
4.1调试PID参数的用户界面在Windows操作系统中,调用“调试PID参数用户界面”的操作过程如下:Start > SIMATIC > STEP 7 > PID Control Parameter Assignment(如图9)。
图 9在最开始的对话框中,你既可以打开一个已经存在的FB41/ SFB41 “CONT_C” 或者FB42/ SFB42 “CONT_S”的背景数据块。
也可以生成一个新的数据块,再可以分配给FB41/ SFB41 “CONT_C” 或者 FB42/ SFB42 “CONT_S”,作为背景数据块。
(如图10)图 10∙FB43/SFB43 “PULSEGEN” 没有参数设置的用户界面工具。
你必须在STEP 7 中去设置它的参数。
4.2获取在线帮助的途径当分配参数给FB41/ SFB41 “CONT_C” 、FB42/ SFB42 “CONT_S”或者FB43/SFB43 “PULSEGEN”时,你可以通过以下三条途径获得帮助:∙使用Step7菜单Help>Contents,获得相应的帮助信息;∙通过按下F1 键得到帮助;∙在PID参数设置对话框中,通过点击Help,可以得到具体的帮助信息。
5 在用户程序中实现以下章节将帮助你根据你的应用设计一个用户程序。
5.1调用功能块使用相应的背景数据块调用系统功能块。
举例:CALL SFB 41, DB 30 (或者,CALL FB 41, DB 31)5.2背景数据块系统功能块的参数将保存在背景数据块中。
在第6章中将阐述这些参数。
你可以通过以下方式访问这些参数∙DB编号和偏移地址∙数据块编号和数据块中的符号地址5.3程序结构SFB必须在重新启动组织块OB100中和循环中断组织块OB30…38中调用。
模式:∙OB100 Call SFB/FB 41、42、43, DB 30∙OB35 Call SFB/FB 41、42、43, DB 306 功能块介绍6.1连续调节功能SFB 41/FB 41 “CONT_C”6.1.1 简介SFB/FB“CONT_C”(连续控制器)用于使用连续的I/O变量在SIMATIC S7控制系统中控制技术过程。
你可以通过参数打开或关闭PID控制器,以此来控制系统。
通过参数赋值工具,可以很容易地做到这一点。
调用: Start > SIMATIC > STEP 7 > PID Control Parameter Assignment(如图)。
在线电子手册,见Start > SIMATIC > Documentation > English> STEP 7 – PID Control(如图11)。
图 116.1.2 应用程序你可以使用控制器作为单独的PID定点控制器或在多循环控制中作为级联控制器、混合控制器和比例控制器使用。
控制器的功能基于带有一个模拟信号的采样控制器的PID控制算法,如果必要的话,可以通过脉冲发送器(PULSEGEN)进行扩展,以产生脉冲宽度调制的输出信号,来控制比例执行机构的两个或三个步进控制器。
6.1.3 说明除了设定点操作和过程数值操作的功能以外,SFB 41/FB 41(CONT_C)可以使用连续的变量输出和手动影响控制数值选项,来实现一个完整的PID控制器。
下面是关于SFB 41/FB 41(CONT_C)详细的子功能说明:6.1.3.1设定点操作设定点以浮点格式在“SP_INT”端输入。
6.1.3.2实际数值操作过程变量可以在外围设备(I/O)或者浮点数值格式输入。
“CRP_IN”功能可以将“PV_PER”外围设备数值转换为一个浮点格式的数值,在–100和+100 % 之间,转换公式如下:CPR_IN 的输出=PV_PER x100 /27648“PV_NORM”功能可以根据下述规则标准化“CRP_IN”的输出:输出PV_NORM = (CPR_IN的输出)x PV_FAC + PV_OFF“PV_FAC”的缺省值为“1”,“PV_OFF”的缺省值为“0”。
变量“PV_FAC”和“PV_OFF”为下述公式转化的结果:PV_OFF =(PV_NORM的输出) - (CPR_IN的输出)x PV_FACPV_FAC =(PV_NORM的输出) - PV_OFF)/(CPR_IN 的输出)不必转换为百分比数值。
如果设定点为物理确定,实际数值还可以转换为该物理数值。
6.1.3.3负偏差计算设定点和实际数值之间的区别便形成负值偏差。