关于西门子S7200 PID编程学习心得.docx
- 文档编号:8884116
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:24
- 大小:952.32KB
关于西门子S7200 PID编程学习心得.docx
《关于西门子S7200 PID编程学习心得.docx》由会员分享,可在线阅读,更多相关《关于西门子S7200 PID编程学习心得.docx(24页珍藏版)》请在冰点文库上搜索。
关于西门子S7200PID编程学习心得
关于西门子S7-200 PID编程学习心得
1. 注意区分输入端接的是电压信号还是电流信号;输出端是电流信号还是电压信号。
在模拟模块上不同信号下的接线方式。
2. 了解信号输入元件相关资料:
如使用温度变送器,要了解温度变送器测量范围,如0~100℃;输出电流范围4~20mA;分度号是什么,如PT100;接线原理图等。
相关输入元件;输出元件在模拟模块上的接线方式。
其他如工程要求的精度是多少等。
3. 关于PID设定值(VD204)确认:
假定我们将控制温度定位23.5℃;以单极性为例,首先应确定输入信号是0~10V电压信号还是4~20mA电流信号?
,这在PID设定值中非常重要。
如是0~10V电压输入信号对应0~32000,温度范围0~100℃,设定值为可直接算出:
VD204=23.5/(100-0)=0.235;
若是电流4~20mA,其对应数值应为6400~32000,温度范围0~100℃,则设定值应为0.388。
原因:
模拟模块中0~32000对应0~20mA;其中6400~32000对应4~20mA对应0~100℃;这就必须进行相关的计算,23.5℃电流计算方式:
(20-4):
(100-0)=(X-4):
23.5;
解方程:
X=7.76(mA)。
设定值:
VD204=7.76/20=0.388.
4. 关于PID输出值(VD208)确认:
以单极性为例,应确定输出信号是0~10V电压信号还是4~20mA电流信号对应着0~32000?
若是输出信号AQW0对应电压信号,比如0~10V,则
AQW0=(实数VD208*32000在转化成整数)即可;
若是输出信号AQW0对应电流信号,比如4~20mA,则
AQW0=(实数VD208*32000在转化成整数+6400)。
5. 关于PID恒温控制实际:
通过上机实验可知:
PID恒温控制是围绕着设定值进行调节的。
若设定温度为23.5℃;当温度低于设定值时,加温蒸汽调节阀始终处于全部打开状态,;当温度达到23.5℃,加温用的蒸汽调节阀开始逐渐关闭,在关闭过程中,温度有可能仍在渐渐上升,温度偏离越大,关闭速度越快;知道全部关闭为止;当温度再次低于设定值时,加温蒸汽调节阀则会逐渐打开,打开速度取决于温度偏离值的大小,偏离越大,打开速度越快;直到温度再次达到设定值。
若温度长时间未达到设定值,调节功能会将调节阀全部打开,这就是我所观察到的PID恒温控制情况。
所以,我们可以根据实控情况进行必要的编程,有效的利用低于设定值时PID控制时段;切断高于设定值部分的PID控制,在温度高于设定值后,即可根据生产要求干脆部分或全部关闭加温阀。
以防温度上升过高。
来求得优越的温控效果。
西门子SIEMENSS7-200CPUPID控制图解之二
点击数:
103发布时间:
2009年9月27日来源:
常问问题
1做完PID向导后,如何知道向导中设定值,过程值及PID等参数所用的地址?
•做完PID向导后可在SymbolTable(符号表)中,查看PID向导所生成的符号表(上例中为PID0_SYM),可看到各参数所用的详细地址,及数值范围。
•在DataBlock(数据块)中,查看PID指令回路表的相关参数。
如图所示:
图12.PID数据块
2、做完PID向导后,如何在调试中修改PID参数?
可以在StatusChart(状态表)中,输入相应的参数地址,然后在线写入用户需要的PID参数数值,这样用户就可根据工艺需要随时对PID参数、设定值等进行调整。
3、PID已经调整合适,如何正式确定参数?
可以在DataBlock(数据块)中直接写入参数。
4、做完PID向导后,能否查看PID生成的子程序,中断程序?
PID向导生成的子程序,中断程序用户是无法看到的,也不能对其进行修改。
没有密码能够打开这些子程序,一般的应用也没有必要打开查看。
5、PID参数有经验值吗?
每一个项目的PID参数都不一样,没有经验参数,只能现场调试获得。
6、我的PID向导生成的程序为何不执行?
•必须保证用SM0.0无条件调用PID0_INIT程序
•在程序的其它部分不要再使用SMB34定时中断,也不要对SMB34赋值
7、如何实现PID反作用调节?
在有些控制中需要PID反作用调节。
例如:
在夏天控制空调制冷时,若反馈温度(过
程值)低于设定温度,需要关阀,减小输出控制(减少冷水流量等),这就是PID反
作用调节(在PID正作用中若过程值小于设定值,则需要增大输出控制)。
若想实现PID反作用调节,需要把PID回路的增益设为负数。
对于增益为0的积分或
微分控制来说,如果指定积分时间、微分时间为负值,则是反作用回路。
8、如何根据工艺要求有选择地投入PID功能?
可使用“手动/自动”切换的功能。
PID向导生成的PID功能块只能使用SM0.0的条件
调用。
PIDWizard中的给定-反馈设置
完成PIDWizard组态后,会为每个PID回路生成一个子程序PIDx_INIT(x=0-7)。
在用户程序中,必
须使用SM0.0始终调用这个子程序才能实现PID功能。
下图是一个最简单的PID子程序调用程序段:
图1.调用PID子程序
其中:
•PV_I:
过程反馈参数值的入口
•Setpoint:
给定参数值的入口
•Output:
PID调节器的输出值
在这里,给定、反馈的入口参数不是PID指令功能块所需要的0.0-1.0之间的实
数,而可以是实际的反馈地址,或是其他变量。
例如,PV_I可以是模拟量输入地址
AIW0,也可以是存储器地址VW100等;Setpoint则往往来自V变量存储区,这样可以
从人机操作界面(HMI)设备输入给定值。
注意:
对于PID控制系统来说,必须保证给定与过程反馈的一致性:
•给定与反馈的物理意义一致
这取决于被控制的对象,如果是压力,则给定也必须对应于压力值;如果是温度,则
给定也必须对应于温度。
•给定与反馈的数值范围对应
如果给定直接是摄氏温度值,则反馈必须是对应的摄氏温度值;如果反馈直接使用模
拟量输入的对应数值,则给定也必须向反馈的数值范围换算。
如果给定与反馈的换算有特定的比例关系也可以。
如给定也可以表示为以反馈的数值
范围的百分比数值。
给定与反馈的数值具体是什么数值,其取值范围究竟如何,完全取决于我们在使用
“PID向导”编程时指定的给定与反馈的数值范围。
其中,反馈量的数值范围不能随
便自己定义,而要取决于具体应用的模拟量输入模块。
图2.在图中a.处设置给定范围
图3.在图中b.处设置反馈范围
假定一个PID控制系统的控制对象是压力,反馈元件的测量范围为0-16MPa。
反馈
器件的信号经过变换,以0-20mA(或4-20mA)电流信号的形式输入到EM231模拟
量输入模块中。
据此,我们可以按下表设置给定、反馈的范围。
表1
n为比例系数,为了精度高些可以设置n=10等等
又如一个温度控制的PID系统,温度值直接由热电偶测量,输入到EM231TC(热电
偶)模块转换为温度值。
热电偶为J型,其测量范围为-150.0°C-1200.0°C。
则
可按如下设置给定的范围。
表2.
在上面的例子中,反馈和给定可以按照如下方法设置
图4.反馈范围设置
图 5 给定范围设置
PID自整定
新的S7-200CPU支持PID自整定功能,在STEP7-Micro/WINV4.0中也添加了PID调
节控制面板。
用户可以使用用户程序或PID调节控制面板来启动自整定功能。
在同一时间最多可以有8个PID回路同时进行自整定。
PID调节控制面板也可以用来手动调试老版本的(不支持PID自整定)CPU的PID控制回路。
用户可以根据工艺要求为调节回路选择快速响应、中速响应、慢速响应或极慢速响应。
PID自整定会根据响应类型而计算出最优化的比例、积分、微分值,并可应用到控制中。
PID调节控制面板
STEP7-Micro/WINV4.0中提供了一个PID调节控制面板,可以用图形方式监视PID
回路的运行,另外从面板中还可以启动、停止自整定功能。
图1.PID调节控制面板
在图1中:
a.过程值指示
显示过程变量的值及其棒图
b.当前的输出值指示
显示当前使用的设定值、采样时间、PID参数值及显示当前的输出值和棒图
c.可显示过程值、设定值及输出值的PID趋势图
A.过程变量和设定值的取值范围及刻度
B.PID输出的取值范围及刻度
C.实际PC时间
D.以不同颜色表示的设定值、过程变量及输出的趋势图
d.调节参数
这里你可以:
o选择PID参数的显示:
当前参数(Current)、推荐参数(Suggested)、手动输入(Manual)
o在Manual模式下,可改变PID参数,并按UpdatePLC按钮来更新PLC中的参数
o启动PID自整定功能
o选择Advanced(高级)按钮进入高级参数设定
e.当前的PID回路号
这里你可以选择需要监视或自整定的PID回路
f.时间选项设定
这里你可以设定趋势图的时基,时基以分为单位
g.图例颜色
这里你可以看到趋势图中不同的颜色代表不同的值的趋势
h.帮助按钮
i.PID信息显示窗口
j.关闭PID调节面板
要使用PID调节控制面板,PID编程必须使用PID向导完成。
PID自整定步骤
第一步:
在PIDWizard(向导)中完成PID功能组态
要想使用PID自整定功能,PID编程必须用PID向导来完成
第二步:
打开PID调节控制面板,设置PID回路调节参数
在Micro/WINV4.0在线的情况下,从主菜单Tools>PIDTuneControlPanel或点击进入PID调节控制面板中,如果面板没有被激活(所有地方都是灰色),可点击Configure(配置)按钮运行CPU。
在PID调节面板的e.区选择要调节的PID回路号,在d.区选择Manual(手动),调节PID参数并点击
Update(更新),使新参数值起作用,监视其趋势图,根据调节状况改变PID参数直至调节稳定。
为了使PID自整定顺利进行,应当做到:
•使PID调节器基本稳定,输出、反馈变化平缓,并且使反馈比较接近给定
•设置合适的给定值,使PID调节器的输出远离趋势图的上、下坐标轴,以免PID自整定开始后输出值的变化
范围受限制
参见:
手动调整PID回路参数
图3.设置PID自整定高级选项
在此允许你设定下列参数:
a.你可以选中复选框,让自整定来自动计算死区值和偏移值对于一般的PID系统,建议使用自动选择。
b.Hysteresis(滞回死区):
死区值规定了允许过程值偏离设定值的最大(正负)范围,过程反馈在这个范围内的变化不会引起PID自整定调节器改变输出,或者使PID自整定调节器“认为”这个范围内的变化是由于自己改变输出进行自整定调节而引起的。
PID自整定开始后,只有过程反馈值超出了该区域,PID自整定调节器才会认为它对输出的改变发生了效果。
这个值用来减少过程变量的噪声对自整定的干扰,从而更精确地计算出过程系统的自然振动频率。
如果选用自动计算,则缺省值为2%。
如果过程变量反馈干扰信号较强(噪声大)自然变化范围就大,可能需要人为设置一个较大的值。
但这个值的改变要与下面的偏差值保持1:
4的关系。
c.Deviation(偏差):
偏差值决定了允许过程变量偏离设定值的峰峰值。
如果选择自动计算该值,它将是死区的4倍,即8%。
有些非常敏感的系统不允许过程量偏离给定值很多,也可以人工设置为比较小的值,但是要和上述“死区”设置保持比例关系。
这就是说,一个精度要求高的系统,其反馈信号必须足够稳定。
d.InitialOutputStep(初始步长值):
PID调节的初始输出值
PID自整定开始后,PID自整定调节器将主动改变PID的输出值,以观察整个系统的反应。
初始步长值就是输出的变动第一步变化值,以占实际输出量程的百分比表示。
e.WatchdogTime(看门狗时间):
过程变量必须在此时间(时基为秒)内达到或穿越给定值,否则会产生看门狗超时错误。
PID自整定调节器在改变输出后,如果超过此时间还未观察到过程反馈(从下至上或从上至下)穿越给定曲线,则超时。
如果能够事先确定实际系统响应非常慢,可以加长这个时间。
f.动态响应选项:
根据回路过程(工艺)的要求可选择不同的响应类型:
快速、中速、慢速、极慢速
o快速:
可能产生超调,属于欠阻尼响应
o中速:
在产生超调的边缘,属于临界阻尼响应
o慢速:
不会产生任何超调,属于过阻尼响应
o极慢速:
不会产生任何超调,属于严重过阻尼响应用户在这里指定需要达到的系统控制效果,而不是对系统本身响应快慢的判断。
g.设定完参数点击OK键回到PID调节控制面板的主画面
第四步:
在手动将PID调节到稳定状态后,即过程值与设定值接近,且输出没有不规
律的变化,并最好处于控制范围中心附近。
此时可点击d.区内的StartAutoTune按
钮启动PID自整定功能,这时按钮变为StopAutoTune。
这时只需耐心等待,系统完
成自整定后会自动将计算出的PID参数显示在d.区。
当按钮再次变为StartAuto
Tune时,表示系统已经完成了PID自整定。
要使用自整定功能,必须保证PID回路处于自动模式。
开始自整定后,给定值不能再改变。
第五步:
如果用户想将PID自整定的参数应用到当前PLC中,则只需点击Update
PLC。
完成PID调整后,最好下载一次整个项目(包括数据块),使新参数保存到CPU的
EEPROM中。
PID自整定失败的原因
1.PID输出在最大值与最小值之间振荡(曲线接触到坐标轴)
解决方法:
降低PID初始输出步长值(initialoutputstep)
2.经过一段时间后,PID自整定面板显示如下信息:
“TheAutoTunealgorithm
wasabortedduetoazero-crossingwatchdogtimeout.”即自整定计算因为等待
反馈穿越给定值的看门狗超时而失败。
解决方法:
确定在启动PID自整定前,过程变量和输出值已经稳定。
并检查
WatchdogTime的值,将其适当增大。
对于其它错误,可参考手册中表15-3中的错误代码的描述。
如何获得一个稳定的PID回路
在开始PID自整定调整前,整个PID控制回路必须工作在相对稳定的状态。
稳定的PID是指过程变量接近设定值,输出不会不规则的变化,且回路的输出值在控制范围中心附近变化。
问题与解决方法:
1.PID输出总是输出很大的值,并在这一区间内调节变化
产生原因:
o增益(Gain)值太高
oPID扫描时间(sampletime)太长(对于快速响应PID的回路)
解决方法:
降低增益(Gain)值并且/或选择短一些的扫描时间
2.过程变量超过设定值很多(超调很大)
产生原因:
积分时间(Integraltime)可能太高
解决方法:
降低积分时间
3.得到一个非常不稳定的PID
产生原因:
o如果用了微分,可能是微分参数有问题
o没有微分,可能是增益(Gain)值太高
解决方法:
o调整微分参数到0-1的范围内
o根据回路调节特性将增益值降低,最低可从0.x开始逐渐增大往上调,直到获得稳定的PID。
S7-200PLC在PID闭环控制系统中的应用
1 引 言
在工业生产中,常需要用闭环控制方式来控制温度、压力、流量等连续变化的模拟量,无论是使用模拟量控制器的模拟控制系统还是使用计算机(包括PLC)的数字控制系统,PID控制都得到了广泛应用。
PID控制器是比例-积分-微分控制(Proportional-Integral-De-rivative)的简称,其优点是不需要精确的控制系统数学模型,有较强的灵活性和适应性,而且PID控制器的结构典型、程序设计简单、工程上易于实现、参数调整方便。
本文以西门子公司S7-200PLC为例介绍PLC在PID闭环控制系统中的应用。
2PLC实现PID控制的方式
用PLC对模拟量进行PID控制大致有如下几种方法:
(1)使用PID过程控制模块:
这种模块的PID控制程序是PLC厂家设计的,并放在模块中,用户使用时只需要设置一些参数,使用起来非常方便。
(2)使用PID功能指令:
它是用于PID控制的子程序,与模拟量输入/输出模块一起使用,可以得到类似于使用PID过程控制的效果,但价格便宜得多。
如S7-200的PID指令。
(3)用自编的程序实现PID闭环控制:
在没有PID过程控制模块和功能指令的情况下,仍希望采用某种改进的PID控制算法,此时用户需要自己编制PID控制程序。
本文以西门子S7-200PLC为例,说明PID控制的原理及PLC的PID功能指令的使用及控制功能的实现。
3PLCPID控制器的实现
3.1PID控制器的数字化
PLC的PID控制器的设计是以连续的PID控制规律为基础,将其数字化,写成离散形式的PID方程,再根据离散方程进行控制程序的设计。
在连续系统中,典型的PID闭环控制系统如图1所示。
图1中sp(t)是给定值;pv(t)为反馈量;c(t)为系统的输出量,PID控制器的输入/输出关系如式
(1)所示:
式中:
M(t)为控制器输出;Mo为输出的初始值;e(t)=sp(t)-pv(t)为误差信号;Kc为比例系数;T1为积分时间常数,TD为微分时间常数。
等号右边前三项分别是比例、积分、微分部分,它们分别与误差、误差的积分和微分成正比。
如果取其中的1项或2项,可以组成P,PD或PI控制器。
假设采样周期为TS,系统开始运行的时刻为t=0,用矩形积分来近似精确积分,用差分近似精确微分,将式1离散化,第n次采样时控制器的输出如式
(2)所示:
式中:
en-1为第n-1次采样时的误差值;K1为积分系数;KD为微分系数。
基于PLC的闭环控制系统如图2所示,图中虚线部分在PLC内,spn,pvn,en,Mn分别为模拟量sp(t),pv(t),e(t),M(t)在第n次采样的数字量。
在许多控制系统中,可能只需要P,I,D中的1种或者2种控制类型。
例如,可能只要求比例控制或比例与积分控制,通过设置参数可对回路控制类型进行选择。
3.2输入输出变量的转换
PID控制有输入量2个:
给定值sp和过程变量pv。
给定值通常是固定值,过程变量通常是经过A/D转换和计算后得到的被控量的实测值。
给定值和过程变量都是和被控对象有关的值,对于不同的系统,它们的大小、范围与工程单位有很大的不同。
应用PLC的PID指令对这些量进行运算之前,必须将其转换成标准化的浮点数(实数)。
同样,对于PID指令的输出,在将其送给D/A转换器之前,也需要进行转换。
3.2.1 回路输入的转换
首先,将给定值或A/D转换后得到的整数值由16位整数转换为浮点数,可以用下面的程序实现这种转换:
然后,将实数进一步转换成0.0~1.0之间的标准数,可用式3对给定值及过程变量进行标准化:
式中:
RNorm为标准化实数值;RRaw为标准化前的值;offset为偏移量,对单极性变量为0.0,对双极性变量为0.5;Span为取值范围,等于变量的最大值减去最小值,单极性变量的典型值为32000,双极性变量的典型值为64000。
下面的程序将上述转换后得到的AC0中的双极性数(其中span=64000)转换为0.0~1.0之间的实数的转换程序为:
3.2.2 回路输出的转换
回路输出即PID控制器的输出,它是标准化的0.0~1.0之间的实数。
将回路输出送给D/A转换器之前,必须转换成16位二进制数,这一过程是将pv与sp转换成标准化数值的逆过程。
用下面的式(4)将回路输出转换为实数:
式中,RScal是回路输出对应的实数值;Mn是回路输出标准化的实数值。
将回路输出转换为对应的实数的程序为:
将代表回路输出的实数转化为16位整数的指令为:
4PID指令及其回路表
S7-200的PID指令如图3所示。
指令中TBL是回路表的起始地址,LOOP是回路编号。
编译时如果指令指定的回路表起始地址或回路号超出范围,CPU将生成编译错误(范围错误),引起编译失败。
PID指令对回路表中的某些输入值不进行范围检查,应保证过程变量、给定值等不超限。
回路表如表1所示:
过程变量与给定值是PID运算的输入值,在回路表中他们只能被PID指令读取而不能改写。
每次完成PID运算后,都要更新回路表内的输入值Mn,它被限制在0.0~1.0之间。
如果PID指令中的算术运算发生错误,特殊存储器位SM1.1(溢出或非法数值)被置为1,并将中止PID指令的执行,想要消除这种错误,在下一次执行PID运算之前,应改变引起运算错误的输入值,而不是更新输出值。
5PID指令编程举例
温度控制是工业生产过程中很重要的一种控制。
温度控制系统一般具有大惯性、大延时的特点。
在工业控制中,难以建立温度系统的精确数学模型,而应用模拟或数字式PID闭环控制往往能获得较好的控制精度。
本例采用PID控制器,温度给定值经标准化处理后为0.8,选取控制器参数初值为:
Kc=0.2,Ts=0.05s,TI=20min,TD=10min。
控制程序如下:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关于西门子S7200 PID编程学习心得 关于 西门子 S7200 PID 编程 学习心得