资源描述
如何使用S7-200CPU的PID控制S7-200能够进行PID控制。S7-200 CPI最多可以支持8个PID控制回路(8个PID指令 功能块)。PID 是闭环控制系统的比例积分微分控制算法。PID 控制器根据设定值(给定)与被控对象的实际值(反馈)的差值,按照 PID 算法计 算出控制器的输出量,控制执行机构去影响被控对象的变化。PID 控制是负反馈闭环控制, 能够抑制系统闭环内的各种因素所引起的扰动,使反馈跟随给定变化。根据具体项目的控制要求,在实际应用中有可能用到其中的一部分,比如常用的是PI(比例积分)控制,这时没有微分控制部分。1、PID 算法在 S7-200 中的实现PID控制最初在模拟量控制系统中实现,随着离散控制理论的发展,PID也在计算机化控制系统中实现。计算机化的 PID 控制算法有几个关键的参数: Kc: Gain ,增益Ti :积分时间常数 Td:微分时间常数 Ts:采样时间在S7-200中PID功能是通过PID指令功能块实现。 通过定时(按照采样时间) 执行PID 功能块,按照 PID 运算规律,根据当时的给定、反馈、比例积分微分数据,计算出控制 量。PID 功能块通过一个 PID 回路表交换数据, 这个表是在 V 数据存储区中的开辟, 长度为 36字节。因此每个PID功能块在调用时需要指定两个要素: PID控制回路号,以及控制回路 表的起始地址(以 VB 表示)。由于 PID 可以控制温度、 压力等等许多对象, 它们各自都是由工程量表示, 因此有一种 通用的数据表示方法才能被 PID功能块识别。S7-200中的PID功能使用占调节范围的百分比 的方法抽象地表示被控对象的数值大小。 在实际工程中, 这个调节范围往往被认为与被控对 象(反馈)的测量范围(量程)一致。 PID 功能块只接受 0.0 - 1.0之间的实数(实际上就是百分比) 作为反馈、 给定与控制输出的有效数值, 如果是直接使用 PID 功能块编程, 必 须保证数据在这个范围之内,否则会出错。其他如增益、采样时间、积分时间、微分时间都 是实数。因此,必须把外围实际的物理量与 PID 功能块需要的 (或者输出的) 数据之间进行转换。 这就是所谓输入/输出的转换与标准化处理。 S7-200系统手册上有详细的介绍。S7-200 的编程软件 Micro/WIN 提供了 PID 指令向导,以方便地完成这些转换/标准化处理。除此之外,PID指令也同时会被自动调用。1.1 调试 PID 控制器PID 控制的效果就是看反馈(也就是控制对象)是否跟随设定值(给定),是否响应快 速、稳定,是否能够抑制闭环中的各种扰动而回复稳定。要衡量 PID 参数是否合适, 必须能够连续观察反馈对于给定变化的响应曲线; 而实际上 PID 的参数也是通过观察反馈波形而调试的。 因此, 没有能够观察反馈的连续变化波形曲线 的有效手段,就谈不上调试 PID 参数。观察反馈量的连续波形, 可以使用带慢扫描记忆功能的示波器 (如数字示波器) ,波形 记录仪,或者在 PC 机上做的趋势曲线监控画面等。新版编程软件 STEP7 - Micro/WIN V4.0 内臵了一个 PID 调试控制面板工具,具有图形 化的给定、 反馈、 调节器输出波形显示, 可以用于手动调试 PID 参数。 对于没有 “自整定 PID” 功能的老版CPU也能实现PID手动调节。PID参数的取值,以及它们之间的配合,对PID控制是否稳定具有重要的意义。这些主要参数是:采样时间: 计算机必须按照一定的时间间隔对反馈进行采样, 才能进行 PID 控制的计算。 采样时间 就是对反馈进行采样的间隔。 短于采样时间间隔的信号变化是不能测量到的。 过短的采样时 间没有必要,过长的采样间隔显然不能满足扰动变化比较快、或者速度响应要求高的场合。编程时指定的PID控制器采样时间必须与实际的采样时间一致。S7-200中PID的采样时间精度用定时中断来保证。增益( Gain ,放大系数,比例常数) 增益与偏差(给定与反馈的差值)的乘积作为控制器输出中的比例部分。过大的增益 会造成反馈的振荡。积分时间( Integral Time )偏差值恒定时, 积分时间决定了控制器输出的变化速率。 积分时间越短, 偏差得到的修 正越快。过短的积分时间有可能造成不稳定。积分时间的长度相当于在阶跃给定下,增益为“1”的时候,输出的变化量与偏差值相等所需要的时间,也就是输出变化到二倍于初始阶 跃偏差的时间。 如果将积分时间设为最大值,则相当于没有积分作用。微分时间( Derivative Time )偏差值发生改变时, 微分作用将增加一个尖峰到输出中, 随着时间流逝减小。 微分时间 越长, 输出的变化越大。 微分使控制对扰动的敏感度增加, 也就是偏差的变化率越大, 微分 控制作用越强。微分相当于对反馈变化趋势的预测性调整。如果将微分时间设臵为 0 就不起作用,控制器将作为 PI 调节器工作。1.2 常见问题1对于某个具体的 PID 控制项目,是否可能事先得知比较合适的参数?有没有相关的 经验数据?虽然有理论上计算 PID 参数的方法, 但由于闭环调节的影响因素很多而不能全部在数学 上精确地描述, 计算出的数值往往没有什么实际意义。 因此, 除了实际调试获得参数外, 没 有什么可用的经验参数值存在。 甚至对于两套看似一样的系统, 都可能通过实际调试得到完 全不同的参数值。2. PID控制不稳定怎么办?如何调试 PID?闭环系统的调试, 首先应当做开环测试。 所谓开环, 就是在 PID 调节器不投入工作的时 候,观察:反馈通道的信号是否稳定输出通道是否动作正常可以试着给出一些比较保守的 PID 参数, 比如放大倍数 (增益) 不要太大, 可以小于 1, 积分时间不要太短, 以免引起振荡。 在这个基础上, 可以直接投入运行观察反馈的波形变化。 给出一个阶跃给定,观察系统的响应是最好的方法。如果反馈达到给定值之后, 历经多次振荡才能稳定或者根本不稳定, 应该考虑是否增益 过大、积分时间过短; 如果反馈迟迟不能跟随给定, 上升速度很慢, 应该考虑是否增益过小、积分时间过长总之,PID参数的调试是一个综合的、互相影响的过程,实际调试过程中的多次尝试是 非常重要的步骤,也是必须的。S7-200的新一代产品提供了自整定的PID细调功能。3没有采用积分控制时,为何反馈达不到给定?这是必然的。因为积分控制的作用在 于消除纯比例调节系统固有的静差”。没有积分控制的比例控制系统中,没有偏差就没有输出量,没有输出就不能维持反馈值与给定 值相等。所以永远不能做到没有偏差。4. 如何实现PID反作用调节?参见PID向导中的常问问题。5. S7-200控制变频器,在变频器也有 PID控制功能时,应当使用谁的PID功能?可以 根据具体情况使用。一般来说,如果需要控制的变量直接与变频器直接有关,比如变频水泵控制水压等,可以优先考虑使用变频器的PID功能。6. S7-200系统手册上的附录 H.14用S7-200实现PID控制”的例子,是否可以直接 使用?S7-200系统手册中的附录H在英文原版中并不存在。 H.14的PID例子是在第一 代产品还不支持PID运算指令时的产物。现在用户可以使用 PID指令块,或者PID Wizard(PID向导)编辑PID控制程序。1.3 PID Wizard - PID 向导Micro/WIN 提供了 PID Wizard (PID指令向导),可以帮助用户方便地生成一个闭环控 制过程的PID算法。此向导可以完成绝大多数 PID运算的自动编程,用户只需在主程序中调 用PID向导生成的子程序,就可以完成PID控制任务。PID向导既可以生成模拟量输出PID控制算法,也支持开关量输出;既支持连续自动调节,也支持手动参与控制。建议用户使用此向导对PID编程,以避免不必要的错误。如果用户不能确定中文编程界面的语义,我们建议用户使用英文版本的Micro/WIN,以免对向导中相关概念发生误解。建议用户使用较新的编程软件版本。在新版本中的PID向导获得了改善。1.4 PID向导编程步骤在Micro/WIN 中的命令菜单中选择 Tools InstructionWizard,然后在指令向导窗口中选择PID指令:图1.选择PID向导在使用向导时必须先对项目进行编译,在随后弹出的对话框中选择Yes”,确认编译。如果已有的程序中存在错误,或者有没有编完的指令,编译不能通过。如果你的项目中已经配臵了一个PID回路,则向导会指出已经存在的 PID回路,并让你选择是配臵修改已有的回路,还是配臵一个新的回路:图2.选择需要配臵的回路第一步:定义需要配臵的PID回路号图3.选择PID回路号第二步:设定PID回路参数图4.设臵PID参数图4中:a. 定义回路设定值 (SP,即给定)的范围: 在低限(Low Range)和高限(High Range)输入域中输入实数,缺省值为0.0和100.0,表示给定值的取值范围占过程反馈量程的百分比。 这个范围是给定值的取值范围。它也可以用实际的工程单位数值表示。参见:设臵给 定一反馈的量程范围。以下定义PID回路参数,这些参数都应当是实数:b. Gain (增益):即比例常数。c. Integral Time (积分时间):如果不想要积分作用,可以把积分时间设为无穷大:9999.99d. Derivative Time (微分时间):如果不想要微分回路,可以把微分时间设为0。e. Sample Time (采样时间):是PID控制回路对反馈采样和重新计算输出值的时间间隔。在向导完成后,若想要修改此数,则必须返回向导中修改,不可在程序中或状态表中修改。注意:关于具体的PID参数值,每一个项目都不一样,需要现场调试来定,没有所谓经验参数。第三步:设定回路输入输出值图5.设定PID输入输出参数在图5中,首先 设定过程变量的范围:a. 指定输入类型 Unipolar : 单极性,即输入的信号为正,如0 10V或0 20mA等 Bipolar :双极性,输入信号在从负到正的范围内变化。如输入信号为土 10V、 5V等时选用 20% Offset :选用20%偏移。如果输入为4 20mA则选单极性及此项,4mA是0 20mA 信号的20% 所以选20%偏移,即4mA对应6400, 20mA对应32000b. 反馈输入取值范围 在a.设臵为Unipolar 时,缺省值为0 - 32000,对应输入量程范围 0 - 10V或0 - 20mA 等,输入信号为正在a.设臵为Bipolar 时,缺省的取值为-32000 - +32000 ,对应的输入范围根据量程 不同可以是土 10V、土 5V等在a.选中20% Offset 时,取值范围为6400 - 32000,不可改变此反馈输入也可以是工程单位数值,参见:设臵给定-反馈的量程范围。然后定义输出类型c. Output Type(输出类型)可以选择模拟量输出或数字量输出。模拟量输出用来控制一些需要模拟量给定的设备,如比例阀、变频器等;数字量输出实际上是控制输出点的通、断状态按照一定的占空比变化,可以控制固态继电器(加热棒等)d. 选择模拟量则需设定回路输出变量值的范围,可以选择: Unipolar :单极性输出,可为 0 10V或0 20mA等 Bipolar :双极性输出,可为正负10V或正负5V等 20% Offset :如果选中20%偏移,使输出为 4 - 20mAe. 取值范围: d为Unipolar 时,缺省值为 0到32000 d 为 Bipolar 时,取值-32000 到 32000 d为20% Offset 时,取值6400 - 32000 ,不可改变如果选择了开关量输出,需要设定此占空比的周期。第四步:设定回路报警选项Suggest AddressVBO! IhDutfiVBGZ图6.设定回路报警限幅值向导提供了三个输出来反映过程值(PV)的低值报警、高值报警及过程值模拟量模块错误状态。当报警条件满足时,输出臵位为1。这些功能在选中了相应的选择框之后起作用。a. 使能低值报警并设定过程值(PV)报警的低值,此值为过程值的百分数,缺省值为0.10,即报警的低值为过程值的10%。此值最低可设为0.01,即满量程的1%b. 使能高值报警并设定过程值(PV)报警的高值,此值为过程值的百分数,缺省值为0.90,即报警的高值为过程值的 90%。此值最高可设为1.00,即满量程的100%c. 使能过程值(PV)模拟量模块错误报警并设定模块于CPU连接时所处的模块位臵。0”就是第一个扩展模块的位臵第第五步:指定PID运算数据存储区S7 20 D Instruction Wizard (PID)Allocate Menra for ConfiguralionThe loop I able doisc Ihesed for ccnboilingi the bop operaban. The table i$ 38in size. AddiRand虬 the: opiionE jiou have selected requrc: 32 byles of data farPlease specily aV-mefroiy bj/tewheie 6S byte can 二日 alkiDated far the PID table andcalcutatons area.T he wizard can auggest an address Uhal reprBnts an unused bbck of V-metnoiy of the carect 对zecPtfivNe;Q | Cancel图7.分配运算数据存储区PID指令(功能块)使用了一个 120个字节的V区参数表来进行控制回路的运算工作; 除此之外,PID向导生成的输入/输出量的标准化程序也需要运算数据存储区。需要为它们定义一个起始地址,要保证该地址起始的若干字节在程序的其它地方没有被重复使用。如果点击Suggest Address ”,则向导将自动为你设定当前程序中没有用过的V区地址。自动分配的地址只是在执行 PID向导时编译检测到空闲地址。向导将自动为该参数表分配符号名,用户不要再自己为这些参数分配符号名,否则将导致PID控制不执行。第六步:定义向导所生成的PID初使化子程序和中断程序名及手/自动模式图8.指定子程序、中断服务程序名和选择手动控制向导已经为初使化子程序和中断子程序定义了缺省名,你也可以修改成自己起的名字。a. 指定PID初使化子程序的名字。b. 指定PID中断子程序的名字 如果你的项目中已经存在一个PID配臵,则中断程序名为只读,不可更改。因为一个项目中所有PID共用一个中断程序,它的名字不会被任何新的PID所更改。 PID向导中断用的是SMB34定时中断,在用户使用了 PID向导后,注意在其它编程时 不要再用此中断,也不要向 SMB34中写入新的数值,否则 PID将停止工作。C.此处可以选择添加PID手动控制模式。在PID手动控制模式下,回路输出由手动输 出设定控制,此时需要写入手动控制输出参数一个0.0 1.0的实数,代表输出的0% 100%而不是直接去改变输出值。此功能提供了 PID控制的手动和自动之间的无扰切换能力。第七步:生成PID子程序、中断程序及符号表等一旦点击完成按钮,将在你的项目中生成上述PID子程序、中断程序及符号表等。图9.生成PID子程序、中断程序和符号表等第八步:配臵完PID向导需要在程序中调用向导生成的 PID子程序(如下图)TabfeI imersLibraries匸別 SubroutinesO SBR_0RDQ INIT图10. PID子程序Network 1Network TOeNetwork CommentSMO.O1 |WINIT匚bdAQWO f.-qoo g.01 h,-Q0.2 L1 1b. AIWO-c. 200-Ct 10.0臥06-tixiFVJOutputSetpoint_RHighAlormAuto ManuaiLowAlarmMsnualOutputModuleErr图11.调用PID子程序在用户程序中调用PID子程序时,可在指令树的Program Block (程序块)中用鼠标双击由向导生成的PID子程序,在局部变量表中,可以看到有关形式参数的解释和取值范围。a. 必须用SM0.0来使能PID,以保证它的正常运行b. 此处输入过程值(反馈)的模拟量输入地址c. 此处输入设定值变量地址(VDxx),或者直接输入设定值常数,根据向导中的设定 0.0100.0 ,此处应输入一个 0.0100.0 的实数,例:若输入 20,即为过程值 的20 , 假设过程值 AIW0 是量程为 0200 度的温度值, 则此处的设定值 20 代表 40 度(即 200 度的20);如果在向导中设定给定范围为 0.0 - 200.0 ,则此处的 20相当于 20 度。d. 此处用10.0 控制PID的手/自动方式,当10.0为1时,为自动,经过PID运算从AQW0输出;当I0.0 为0时,PID将停止计算,AQW0输出为ManualOutput (VD4中的设定值, 此时不要另外编程或直接给 AQW0赋值。若在向导中没有选择PID手动功能,则此项不会出现。e. 定义PID手动状态下的输出,从AQW0输出一个满值范围内对应此值的输出量。此处可输入手动设定值的变量地址(VDxx),或直接输入数。数值范围为0.0-1.0 之间的一个实数,代表输出范围的百分比。例:如输入 0.5 ,则设定为输出的 50。若在向导中没有选择 PID 手动功能,则此项不会出现。f. 此处键入控制量的输出地址。g. 当高报警条件满足时,相应的输出臵位为1 ,若在向导中没有使能高报警功能,则此项将不会出现。h. 当低报警条件满足时,相应的输出臵位为1,若在向导中没有使能低报警功能,则此项将不会出现。i. 当模块出错时, 相应的输出臵位为 1,若在向导中没有使能模块错误报警功能,则此项将不会出现。调用PID子程序时,不用考虑中断程序。子程序会自动初始化相关的定时中断处理事项, 然后中断程序会自动执行。第九步:实际运行并调试 PID 参数没有一个PID项目的参数不需要修改而能直接运行,因此需要在实际运行时调试PID参数。查看Data Block (数据块),以及Symbol Table (符号表)相应的PID符号标签的内容, 可以找到包括 PID 核心指令所用的控制回路表, 包括比例系数、 积分时间等等。 将此表的地 址复制到 Status Chart (状态表)中,可以在监控模式下在线修改 PID 参数,而不必停机再 次做组态。 参数调试合适后, 用户可以在数据块中写入, 也可以再做一次向导, 或者编程向 相应的数据区传送参数。1.5 常见问题1做完 PID 向导后,如何知道向导中设定值,过程值及PID 等参数所用的地址?做完PID向导后可在Symbol Table (符号表) 中,查看PID向导所生成的符号表(上例 中为PID0_SYM?可看到各参数所用的详细地址, 及数值范围。 在Data Block (数据块) 中, 查看 PID 指令回路表的相关参数。如图所示: 2 1 1 1 3 r i 5-i . i & r i - y Q SymbolAcUresEComment1F1D0_Lc*ai_AlarmVD116;二I ! U2F1D0 High AkirmVD11-2H igh Alam Limil3FlDOModeV32.04RD0_WSVBS25F1D0_D_CouttffrVW0OE口piDO_b_TjmeTime-7OF1D0 l TtfneVD20Integral 1 ime8OPlDOSampteT imeVD16iample lime (7 o rnodfy, rerun the RD Wizard9口P1D0_GainVD12Loop Gesn10F1DQ_0uiputvtif:CAtauldted. Noimalizesd Lw Omput11F1D0_SFVD4N ocmaized Hoc ess 占日护 oihl12P1D0_FVVDON orrnalzfsd Piocess Variable130AD0 IableVBOLoop 1 able: Starting mddr靳名 tor PlD 0图12. PID数据块2、做完PID向导后,如何在调试中修改 PID参数?可以在Status Chart(状态表)中,输入相应的参数地址,然后在线写入用户 需要的PID参数数值,这样用户就可根据工艺需要随时对PID参数、设定值等进行调整。3、PID已经调整合适,如何正式确定参数? 可以在Data Block (数据块)中直接写入参数。4、 做完PID向导后,能否查看PID生成的子程序,中断程序?PID向导生成的子程序,中断程序用户是无法看到的,也不能对其进行修改。没有密码 能够打开这些子程序,一般的应用也没有必要打开查看。5、PID参数有经验值吗?每一个项目的PID参数都不一样,没有经验参数,只能现场调试获得。6、PID向导生成的程序为何不执行?必须保证用SM0.0无条件调用PID0_INIT程序在程序的其它部分不要再使用SMB34定时中断,也不要对 SMB3 4赋值7、如何实现PID反作用调节?在有些控制中需要PID反作用调节。例如:在夏天控制空调制冷时,若反馈温度(过程 值)低于设定温度,需要关阀,减小输出控制(减少冷水流量等),这就是PID反作用调节(在PID正作用中若过程值小于设定值,则需要增大输出控制)。若想实现PID反作用调节,需要把PID回路的增益设为负数。对于增益为0的积分或微分控制来说,如果指定积分时间、微分时间为负值,则是反作用回路。8、如何根据工艺要求有选择地投入PID功能?可使用 手动/自动”切换的功能。PID向导生成的PID功能块只能使用 SM0.0的条件调 用。PID Wizard 中的给定反馈设臵完成 PID Wizard组态后,会为每个PID回路生成一 个子程序PIDx_INIT (x = 0 - 7 )。在用户程序中,必须使用 SM0.0始终调用这个子程序 才能实现PID功能。 下图是一个最简单的PID子程序调用程序段:SMO.OIIPIDOJNITCM1 1PV 1Output?Setpoin-图1.调用PID子程序(图形质量不好)其中:PV_I:过程反馈参数值的入口Setpoint :给定参数值的入口Output : PID调节器的输出值在这里,给定、反馈的入口参数不是PID指令功能块所需要的0.0 - 1.0 之间的实数,而可以是实际的反馈地址,或是其他变量。例如,PV_I可以是模拟量输入地址 AIW0,也可以是存储器地址VW100等;Setpoint则往往来自V变量存储区,这样可以从人机操作界面 (HMI) 设备输入给定值。对于PID控制系统来说,必须保证给定与过程反馈的一致性: 给定与反馈的物理意义一致这取决于被控制的对象,如果是压力,则给定也必须对应于压力值;如果是温度,则给定也必须对应于温度。给定与反馈的数值范围对应如果给定直接是摄氏温度值,则反馈必须是对应的摄氏温度值;如果反馈直接使用模拟量输入的对应数值,则给定也必须向反馈的数值范围换算。如果给定与反馈的换算有特定的比例关系也可以。如给定也可以表示为以反馈的数值范围的百分比数值。给定与反馈的数值具体是什么数值,其取值范围究竟如何,完全取决于我们在使用PID向导”编程时指定的给定与反馈的数值范围。其中,反馈量的数值范围不能随便自己定义, 而要取决于具体应用的模拟量输入模块。图2.在图中a.处设臵给定范围S7. SCDIhstructiDn Wizard (P1D)Lgod 1st OpGomVliFrdy hnw ihp Imp PrnriRss VarwhlA |Wj shrndrl hp artAlprl Thft I mp W is a |vwApmRh= 円“ spezi 伽 Ihe subrouline genertted 切 I he wiz-ard.b.larLlse2OOfFsgtX 3Low RngeHigh Range32000Low (Jutiput 口 phcn$Spec how I!he loop Output shoJd be scaled. The Loop OuFjxit is a paramelef you specif hr the suboutrie gen&aed by the 畑引d. ubii Tppe I AnginaSeanpolarUse 2C.0 sed.LiLow RangeHigh RangeJZOILI图3.在图中b.处设臵反馈范围1.6 PID应用实例假定一个PID控制系统的控制对象是压力,反馈元件的测量范围为0 - 16MPa。反馈器件的信号经过变换,以0 - 20mA (或4 - 20mA电流信号的形式输入到 EM231模拟量输入模 块中。据此,我们可以按下表设臵给定、反馈的范围。表1.反馈(单极性)给定实际物力量模拟量输入值百分比物理工程单位形式高限16MPa32000100.0n X 16.0低 限0MPa0 (0-20mA)0.00.06400(4-20mA)n为比例系数,为了精度高些可以设臵n=10等等 在上面的例子中,反馈和给定可以按照如下方法设臵57-200 InfLruchoii Wiurd (P1D)Loop Input Opfon$Specify haw the Imp Process Variable (PV) should b?The Loup FV i?a 片旳曲潇 yguspecify for the subroutine generated by the wizard.Loop Output OpticnsOutputScaling二|UrcUr _*JLow Rnge |0厂 Lse20 OffsetHi Range |32000Specify how the loop Ouhput should be seated. The Loop Oirtpit is a parametei you specify for the subroutine generated by Ihe wizard.cPrevNeMt I Cancel , nt jMl 4.h i图4.反馈范围设置图5.给定范围设置2 PID自整定2.1 PID 自整定概念新的S7-200 CPU支持PID自整定功能,在 STEP 7-Micro/WIN V4.0中也添加了 PID调节控制面板。用户可以使用用户程序或 PID调节控制面板来启动自整定功能。在同一时间最多可以有8个PID回路同时进行自整定。PID调节控制面板也可以用来手动调试老版本的(不支持PID自整定)CPI的PID控制回路。用户可以根据工艺要求为调节回路选择快速响应、中速响应、慢速响应或极慢速响应。PID自整定会根据响应类型而计算出最优化的比例、积分、微分值,并可应用到控制中。22 PID调节控制面板STEP 7-Micro/WIN V4.0 中提供了一个PID调节控制面板,可以用图形方式监视PID回路的运行,另外从面板中还可以启动、停止自整定功能。凹吩trjien,力处/A團懊Pl勺以阳叨、TT1C日翌T疋轴枕。图1. PID调节控制面板在图1中:a. 过程值指示显示过程变量的值及其棒图b. 当前的输出值指示显示当前使用的设定值、采样时间、PID参数值及显示当前的输出值和棒图c. 可显示过程值、设定值及输出值的PID趋势图图中:A. 过程变量和设定值的取值范围及刻度B. PID输出的取值范围及刻度C. 实际PC寸间D. 以不同颜色表示的设定值、过程变量及输出的趋势图d. 调节参数这里你可以:选择PID参数的显示:当前参数(Current )、推荐参数(Suggested )、手动输入(Manual) 在Manual模式下,可改变 PID参数,并按Update PLC按钮来更新PLC中的参数 启动PID自整定功能选择Advaneed (高级)按钮进入高级参数设定e. 当前的PID回路号 这里你可以选择需要监视或自整定的PID回路f. 时间选项设定 这里你可以设定趋势图的时基,时基以分为单位g. 图例颜色 这里你可以看到趋势图中不同的颜色代表不同的值的趋势h. 帮助按钮i. PID 信息显示窗口j. 关闭PID调节面板要使用PID调节控制面板,PID编程必须使用PID向导完成。2.3 PID自整定步骤第一步:在PID Wizard (向导)中完成PID功能组态 要想使用PID自整定功能,PID编程必须用 PID向导来完成第二步:打开PID调节控制面板,设臵 PID回路调节参数 在Miero/WIN V4.0在线的情况下,从主菜单 Tools PID Tu ne Co ntrol Pan el或点 进入PID调节控制面板中,如果面板没有被激活(所有地方都是灰色),可 点击Con figure (配臵)按钮运行CPU在PID调节面板的e.区选择要调节的PID回路号,在d.区选择Manual (手动),调节PID 参数并点击Update (更新),使新参数值起作用,监视其趋势图,根据调节状况改变PID参数直至调节稳定。为了使PID自整定顺利进行,应当做到:使PID调节器基本稳定,输出、反馈变化平缓,并且使反馈比较接近给定设臵合适的给定值,使PID调节器的输出远离趋势图的上、下坐标轴,以免PID自整定开始后输出值的变化范围受限制。参见:手动调整PID回路参数第三步:在d.区点击Advaneed (高级)按钮,设定PID自整定选项。如果不是很特殊的系统,也 可以不加理会。图3.设置PID自整定高级选项在此允许设定下列参数:a. 你可以选中复选框,让自整定来自动计算死区值和偏移值 对于一般的PID系统,建议使用自动选择。b. Hysteresis(滞回死区):死区值规定了允许过程值偏离设定值的最大 化不会引起PID自整定调节器改变输出,或者使 化是由于自己改变输出进行自整定调节而引起的。(正负)范围,过程反馈在这个范围内的变PID自整定调节器“认为”这个范围内的变PID自整定开始后,只有过程反馈值超出了该区域,PID自整定调节器才会认为它对输出的改变发生了效果。这个值用来减少过程变 量的噪声对自整定的干扰,从而更精确地计算出过程系统的自然振动频率。如果选用自动计算,则缺省值为2%。如果过程变量反馈干扰信号较强(噪声大)自然变化范围就大,可能 需要人为设臵一个较大的值。但这个值的改变要与下面的偏差值保持1:4的关系。c. Deviatio n(偏差):偏差值决定了允许过程变量偏离设定值的峰峰值。如果选择自动计算该值,它将是死区的4倍,即8%。有些非常敏感的系统不允许过程量偏离给定值很多,也可以人工设臵为比较小的值,但是要和上述死区”设臵保持比例关系。这就是说,一个精度要求高的系统,其反馈信号必须 足够稳定。d. I ni tial Output Step(初始步长值): PID调节的初始输出值PID自整定开始后,PID自整定调节器将主动改变 PID的输出值,以观察整个系统的反 应。初始步长值就是输出的变动第一步变化值,以占实际输出量程的百分比表示。e. Watchdog Time (看门狗时间):过程变量必须在此时间(时基为秒)内达到或穿越给定值,否则会产生看门狗超时错误。PID自整定调节器在改变输出后,如果超过此时间还未观察到过程反馈 (从下至上或从 上至下)穿越给定曲线,则超时。如果能够事先确定实际系统响应非常慢,可以加长这个时间。f. 动态响应选项:根据回路过程(工艺)的要求可选择不同的响应类型:快速、中速、 慢速、极慢速快速:可能产生超调,属于欠阻尼响应中速:在产生超调的边缘,属于临界阻尼响应慢速:不会产生任何超调,属于过阻尼响应极慢速:不会产生任何超调,属于严重过阻尼响应用户在这里指定需要达到的系统控制效果,而不是对系统本身响应快慢的判断。g. 设定完参数点击0K键回到PID调节控制面板的主画面第四步:在手动将PID调节到稳定状态后,即过程值与设定值接近,且输出没有不规律的变化,并最好处于控制范围中心附近。此时可点击d.区内的Start Auto Tune按钮启动PID自整定功能,这时按钮变为 Stop Auto Tu ne。这时只需耐心等待,系统完成自整定后会自动将计算 出的PID参数显示在d.区。当按钮再次变为Start Auto Tune时,表示系统已经完成了 PID自 整定。 要使用自整定功能,必须保证 PID回路处于自动模式。开始自整定后,给定值不能 再改变。第五步:如果用户想将PID自整定的参数应用到当前 PLC中,则只需点击Update PLC。完成PID调整后,最好下载一次整个项目(包括数据块),使新参数保存到CPU的EEPROM 中。2.4 PID自整定失败的原因1. PID输出在最大值与最小值之间振荡(曲线接触到坐标轴)解决方法:降低 PID初始输出步长值(initial output step )2. 经过一段时间后, PID自整定面板显示如下信息:The Auto Tune algorithm wasaborted due to a zero-crossing watchdog timeout.” 即自整定计算因为等待反馈穿越给定值的看门狗超时而失败。解决方法:确定在启动PID自整定前,过程变量和输出值已经稳定。并检查 WatchdogTime的值,将其适当增大。对于其它错误,可参考手册中表15-3中的错误代码的描述。2.5如何获得一个稳定的PID回路在开始PID自整定调整前,整个 PID控制回路必须工作在相对稳定的状态。稳定的PID是指过程变量接近设定值,输出不会不规则的变化,且回路的输出值在控制范围中心附近变化。问题与解决方法:1.PID输出总是输出很大的值,并在这一区间内调节变化产生原因:增益(Gain )值太高 PID扫描时间(sample time )太长(对于快速响应 PID的回路)解决方法:降低增益(Gain)值并且/或选择短一些的扫描时间2. 过程变量超过设定值很多(超调很大)产生原因:积分时间(In tegral time)可能太高 解决方法:降低积分时间3. 得到一个非常不稳定的 PID产生原因:如果用了微分,可能是微分参数有问题没有微分,可能是增益(Gain )值太高解决方法:调整微分参数到0 1的范围内根据回路调节特性将增益值降低,最低可从0.x开始逐渐增大往上调,直到获得稳定的PID。
展开阅读全文