西门子S7200CPU PID控制图解之一Word文档格式.docx
- 文档编号:19700956
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:13
- 大小:681.82KB
西门子S7200CPU PID控制图解之一Word文档格式.docx
《西门子S7200CPU PID控制图解之一Word文档格式.docx》由会员分享,可在线阅读,更多相关《西门子S7200CPU PID控制图解之一Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
其他如增益、采样时间、积分时间、微分时间都是实数。
因此,必须把外围实际的物理量与PID功能块需要的(或者输出的)数据之间进行转换。
这就是所谓输入/输出的转换与标准化处理。
《S7-200系统手册》上有详细的介绍。
S7-200的编程软件Micro/WIN提供了PID指令向导,以方便地完成这些转换/标准化处理。
除此之外,PID指令也同时会被自动调用。
调试PID控制器
PID控制的效果就是看反馈(也就是控制对象)是否跟随设定值(给定),是否响应快速、稳定,是否能够抑制闭环中的各种扰动而回复稳定。
要衡量PID参数是否合适,必须能够连续观察反馈对于给定变化的响应曲线;
而实际上PID的参数也是通过观察反馈波形而调试的。
因此,没有能够观察反馈的连续变化波形曲线的有效手段,就谈不上调试PID参数。
观察反馈量的连续波形,可以使用带慢扫描记忆功能的示波器(如数字示波器),波形记录仪,或者在PC机上做的趋势曲线监控画面等。
新版编程软件STEP7-Micro/WINV4.0内置了一个PID调试控制面板工具,具有图形化的给定、反馈、调节器输出波形显示,可以用于手动调试PID参数。
对于没有“自整定PID”功能的老版CPU,也能实现PID手动调节。
PID参数的取值,以及它们之间的配合,对PID控制是否稳定具有重要的意义。
这些
主要参数是:
•
采样时间:
计算机必须按照一定的时间间隔对反馈进行采样,才能进行PID控制的计算。
采样时间就是对反馈进行采样的间隔。
短于采样时间间隔的信号变化是不能测量到的。
过短的采样时间没有必要,过长的采样间隔显然不能满足扰动变化比较快、或者速度响应要求高的场合。
编程时指定的PID控制器采样时间必须与实际的采样时间一致。
S7-200中PID的采样时间精度用定时中断来保证。
增益(Gain,放大系数,比例常数)
增益与偏差(给定与反馈的差值)的乘积作为控制器输出中的比例部分。
过大的增益会造成反馈的振荡。
积分时间(IntegralTime)
偏差值恒定时,积分时间决定了控制器输出的变化速率。
积分时间越短,偏差得到的修正越快。
过短的积分时间有可能造成不稳定。
积分时间的长度相当于在阶跃给定下,增益为“1”的时候,输出的变化量与偏差值相等所需要的时间,也就是输出变化到二倍于初始阶跃偏差的时间。
如果将积分时间设为最大值,则相当于没有积分作用。
微分时间(DerivativeTime)
偏差值发生改变时,微分作用将增加一个尖峰到输出中,随着时间流逝减小。
微分时间越长,输出的变化越大。
微分使控制对扰动的敏感度增加,也就是偏差的变化率越大,微分控制作用越强。
微分相当于对反馈变化趋势的预测性调整。
如果将微分时间设置为0就不起作用,控制器将作为PI调节器工作。
常问问题
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指令块,或者PIDWizard(PID向导)编辑PID控制程序。
PIDWizard-PID向导
Micro/WIN提供了PIDWizard(PID指令向导),可以帮助用户方便地生成一个闭环控制过程的PID算法。
此向导可以完成绝大多数PID运算的自动编程,用户只需在主程序中调用PID向导生成的子程序,就可以完成PID控制任务。
PID向导既可以生成模拟量输出PID控制算法,也支持开关量输出;
既支持连续自动调节,也支持手动参与控制。
建议用户使用此向导对PID编程,以避免不必要的错误。
如果用户不能确定中文编程界面的语义,我们建议用户使用英文版本的Micro/WIN,以免对向导中相关概念发生误解。
建议用户使用较新的编程软件版本。
在新版本中的PID向导获得了改善。
PID向导编程步骤
在Micro/WIN中的命令菜单中选择Tools>
InstructionWizard,然后在指令向导窗口中选择PID指令:
图1.选择PID向导
在使用向导时必须先对项目进行编译,在随后弹出的对话框中选择“Yes”,确认编译。
如果已有的程序中存在错误,或者有没有编完的指令,编译不能通过。
如果你的项目中已经配置了一个PID回路,则向导会指出已经存在的PID回路,并让你选择是配置修改已有的回路,还是配置一个新的回路:
图2.选择需要配置的回路
第一步:
定义需要配置的PID回路号
图3.选择PID回路号
第二步:
设定PID回路参数
图4.设置PID参数
a.
定义回路设定值(SP,即给定)的范围:
在低限(LowRange)和高限(HighRange)输入域中输入实数,缺省值为0.0和100.0,表示给定值的取值范围占过程反馈量程的百分比。
这个范围是给定值的取值范围。
它也可以用实际的工程单位数值表示。
参见:
设置给定-反馈的量程范围。
以下定义PID回路参数,这些参数都应当是实数:
b.
Gain(增益):
即比例常数。
c.
IntegralTime(积分时间):
如果不想要积分作用,可以把积分时间设为无穷大:
9999.99
d.
DerivativeTime(微分时间):
如果不想要微分回路,可以把微分时间设为0。
e.
SampleTime(采样时间):
是PID控制回路对反馈采样和重新计算输出值的时间间隔。
在向导完成后,若想要修改此数,则必须返回向导中修改,不可在程序中或状态表中修改。
注意:
关于具体的PID参数值,每一个项目都不一样,需要现场调试来定,没有所谓经验参数。
第三步:
设定回路输入输出值
图5.设定PID输入输出参数
在图5中,首先设定过程变量的范围:
指定输入类型
o
Unipolar:
单极性,即输入的信号为正,如0-10V或0-20mA等。
Bipolar:
双极性,输入信号在从负到正的范围内变化。
如输入信号为±
10V±
5V等时选用
。
20%Offset:
选用20%偏移。
如果输入为4-20mA则选单极性及此项,4mA是0-20mA信号的20%,所以选20%偏移,即4mA对应6400,20mA对应32000。
反馈输入取值范围
o在a.设置为Unipolar时,缺省值为0-32000,对应输入量程范围0-10V或0-20mA等,输入信号为正
o在a.设置为Bipolar时,缺省的取值为-32000-+32000,对应的输入范围根据量程不同可以是±
10V、±
5V等
o在a.选中20%Offset时,取值范围为6400-32000,不可改变
此反馈输入也可以是工程单位数值,参见:
然后定义输出类型。
OutputType(输出类型)
可以选择模拟量输出或数字量输出。
模拟量输出用来控制一些需要模拟量给定的设备,如比例阀、变频器等;
数字量输出实际上是控制输出点的通、断状态按照一定的占空比变化,可以控制固态继电器(加热棒等)
选择模拟量则需设定回路输出变量值的范围,可以选择:
Unipolar:
单极性输出,可为0-10V或0-20mA等
Bipolar:
双极性输出,可为正负10V或正负5V等
如果选中20%偏移,使输出为4-20mA
取值范围:
d为Unipolar时,缺省值为0到32000
d为Bipolar时,取值-32000到32000
d
为20%Offset时,取值6400-32000,不可改变如果选择了开关量输出,需要设定此占空比的周期。
第四步:
设定回路报警选项
图6.设定回路报警限幅值
向导提供了三个输出来反映过程值(PV)的低值报警、高值报警及过程值模拟量模块错误状态。
当报警条件满足时,输出置位为1。
这些功能在选中了相应的选择框之后起作用。
a.使能低值报警并设定过程值(PV)报警的低值,此值为过程值的百分数,缺省值为0.10,即报警的低值为过程值的10%。
此值最低可设为0.01,即满量程的1%
b.使能高值报警并设定过程值(PV)报警的高值,此值为过程值的百分数,缺省值为0.90,即报警的高值为过程值的90%。
此值最高可设为1.00,即满量程的100%
c.使能过程值(PV)模拟量模块错误报警并设定模块于CPU连接时所处的模块位置。
“0”就是第一个扩展模块的位置。
第五步:
指定PID运算数据存储区
图7.分配运算数据存储区
PID指令(功能块)使用了一个120个字节的V区参数表来进行控制回路的运算工作;
除此之外,PID向导生成的输入/输出量的标准化程序也需要运算数据存储区。
需要为它们定义一个起始地址,要保证该地址起始的若干字节在程序的其它地方没有被重复使用。
如果点击“SuggestAddress”,则向导将自动为你设定当前程序中没有用过的V区地址。
自动分配的地址只是在执行PID向导时编译检测到空闲地址。
向导将自动为该参数表分配符号名,用户不要再自己为这些参数分配符号名,否则将导致PID控制不执行。
第六步:
定义向导所生成的PID初使化子程序和中断程序名及手/自动模式
图8.指定子程序、中断服务程序名和选择手动控制
向导已经为初使化子程序和中断子程序定义了缺省名,你也可以修改成自己起的名字。
a.指定PID初使化子程序的名字。
b.指定PID中断子程序的名字
1.如果你的项目中已经存在一个PID配置,则中断程序名为只读,不可更改。
因为一个项目中所有PID共用一个中断程序,它的名字不会被任何新的PID所更改。
2.PID向导中断用的是SMB34定时中断,在用户使用了PID向导后,注意在其它编程时不要再用此中断,也不要向SMB34中写入新的数值,否则PID将停止工作。
c.此处可以选择添加PID手动控制模式。
在PID手动控制模式下,回路输出由手动输出设定控制,此时需要写入手动控制输出参数一个0.0-1.0的实数,代表输出
的0%-100%而不是直接去改变输出值。
此功能提供了PID控制的手动和自动之间的无扰切换能力。
第七步:
生成PID子程序、中断程序及符号表等一旦点击完成按钮,将在你的项目中生成上述PID子程序、中断程序及符号表等。
图9.生成PID子程序、中断程序和符号表等
第八步:
配置完PID向导,需要在程序中调用向导生成的PID子程序(如下图)
图10.PID子程序
图11.调用PID子程序
a.必须用SM0.0来使能PID,以保证它的正常运行
b.此处输入过程值(反馈)的模拟量输入地址
c.此处输入设定值变量地址(VDxx),或者直接输入设定值常数,根据向导中的设定0.0-100.0,此处应输入一个0.0-100.0的实数,例:
若输入20,即为过程值的20%,假设过程值AIW0是量程为0-200度的温度值,则此处的设定值20代表40度(即200度的20%);
如果在向导中设定给定范围为0.0-200.0,则此处的20相当于20度.
d.此处用I0.0控制PID的手/自动方式,当I0.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参数。
查看DataBlock(数据块),以及SymbolTable(符号表)相应的PID符号标签的内容,可以找到包括PID核心指令所用的控制回路表,包括比例系数、积分时间等等。
将此表的地址复制到StatusChart(状态表)中,可以在监控模式下在线修改PID参数,而不必停机再次做组态参数调试合适后,用户可以在数据块中写入,也可以再做一次向导,或者编程向相应的数据区传送参数。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西门子S7200CPU PID控制图解之一 西门子 S7200CPU PID 控制 图解 之一