S7300400在模拟量闭环控制中的应用Word文档下载推荐.docx
- 文档编号:1465455
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:16
- 大小:358.13KB
S7300400在模拟量闭环控制中的应用Word文档下载推荐.docx
《S7300400在模拟量闭环控制中的应用Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《S7300400在模拟量闭环控制中的应用Word文档下载推荐.docx(16页珍藏版)》请在冰点文库上搜索。
五、死区特性在PID控制中的应用
在控制系统中,某些执行机构如果频繁动作,会导致小幅振荡,造成严重的机械磨损。
从控制要求来说,很多系统又允许被控量在一定范围内存在误差。
带死区的PID控制器(如图9-2)能防止执行机构的频繁动作。
当死区非线性环节的输入量(即误差ev(n))的绝对值小于设定值B时,死区非线性的输出量(即PID控制器的输入量)为0,这时PID控制器的输出分量中,比例部分和微分部分为0,积分部分保持不变,因此PID的输出保持不变,PID控制器不起调节作用,系统处于开环状态。
当误差的绝对值超过设定值时,开始正常的PID控制。
图9-2PID的死区特性
第二节使用系统功能块实现闭环控制
S7-300/4000为用户提供了功能强大、使用方便的模拟量闭环控制功能,来实现PID控制。
系统功能块SFB41~SFB43用于CPU31x的闭环控制。
SFB41“CONT_T”用于连续PID控制,SFB42“CONT_S”(步进控制器)用开关量输出信号控制积分型执行机构,电动调节阀用伺服电机的正转和反转来控制阀门的打开和关闭,基于PI控制算法。
SFB43“PULSEGEN”(脉冲发生器)与连续控制器“CONT_C”一起使用,构建脉冲宽度调制的二级(twostep)或三级(threestep)PID控制器。
另外,安装了标准PID控制(StandardPIDControl)软件包后,文件夹“\Libraries\StandardLibraries”中的FB41~FB43用于PID控制,FB58和FB59用于PID温度控制。
FB41~FB43与SFB41~SFB43兼容。
本节主要介绍SFB41连续控制功能块。
一、设定值与过程变量的处理
1.设定值的输入
设定值的输入如图9-3所示,浮点数格式的设定值(setpoint)用变量SP_INT(内部设定值)输入。
2.过程变量的输入
可以用两种方式输入过程变量(即反馈值):
(1)用PV_IN(过程输入变量)输入浮点格式的过程变量,此时开关量PVPER_ON
(外围设备过程变量)应用0状态。
(2)PVPER_ON(外围设备过程变量)输入外围设备(I/O)格式的过程变量,即
用模拟量输入模块产生的数字值作为PID控制的过程变量,此时开关量PVPER_ON应为1状态。
3.外部设备过程变量转换为浮点数
外部设备(即模拟量输入模块)正常范围的最大输出值(100.0%)为27648,功能CRP_IN将外围设备输入值转换为-100%~+100%之间的浮点数格式的数值,CPR_IN的输出(以%为单位)用下式计算:
PV_R=PV_PER×
100/27648
4.外部设备过程变量的标准化
PV_NORM功能用下面的公式将CRP_IN的输出PV_R格式化:
PV_NORM的输出=PV_R×
PV_FAC+PV_OFF
式中,PV_FAC为过程变量的系数,默认值为1.0;
PV_OFF为过程变量的偏移量,默认值为0.0。
它们用来调节过程输入的范围。
如果设定值有物理意义,实际值(即反馈值)也可以转换为物理值。
图9-3SFB41设定值与过程变量的处理
二、PID控制算法
1.误差的计算与处理
用浮点数格式设定值SP_INT减去转换为浮点数格式的过程变量PV(即反馈值),便得到负反馈的误差。
为了抑制由于控制器输出量的量化造成的连续的较小的振荡,用死区(DeadBand)非线性对误差进行处理。
死区的宽度由参数DEAD_W来定义,如果DEAD_W设为0,表示死区被关闭。
2.控制器的结构
SFB41采用位置式PID算法,由比例运算、积分运算和微分运算三部分并联,可以单独激活或取消它们,因此可将控制器组态为P、PI、PD、PID控制器。
ID控制器很少使用。
引入扰动量DISV可以实现前馈控制。
图9-4为控制器的结构图,图中GAIN为比例部分的增益或比例系数,TI和TD分别为积分时间常数和微分时间常数。
P_SEL:
BOOL:
比例选择位:
该位ON时,选择P(比例)控制有效;
默认值为1。
I_SEL:
积分选择位;
该位ON时,选择I(积分)控制有效;
D_SEL:
微分选择位,该位ON时,选择D(微分)控制有效;
默认值为0。
LMN_P:
REAL:
PID输出中P的分量;
(可用于在调试过程中观察效果)。
LMN_I:
PID输出中I的分量;
LMN_D:
PID输出中D的分量;
图9-4PID控制器的结构图
SFB“CONT_C”有一个初始化程序,在输入参数COM_RST(完全重新起动)设置为1时该程序被执行。
在初始化过程中,如果I_ITL_ON(积分作用初始化)为1状态,将输入I_ITLVAL作为积分器的初始值。
INT_HOLD为1时积分操作保持,积分输出被冻结。
三、控制器输出值的处理
4.控制器输出值处理包括手动/自动模式的选择、输出限幅、输出量的格式化处
理以及输出量转换为外围设备(I/O)格式。
结构图如图9-5所示。
1.手动模式
参数MAN_ON(手动值ON)为1时是手动模式,为0时是自动模式。
在手动模式中,控制变量(即控制器的输出值)被手动选值的值MAN(手动值)代替。
在手动模式时如果令微分项为0,将积分部分(INT)设置为LMN–LMN_P–DISV,可以保证手动到自动的无扰切换,即切换时控制器的输出值不会突变,DISV为扰动输入变量。
2.输出限幅
LMNLIMIT(输出量限幅)功能用于将控制器输出值限幅。
LMNLIMIT功能的输入量超出控制器输出值的上极限LMN_HLM时,信号位QLMN_HLM(输出超出上限)变为1状态;
小于下极限值LMN_LLM时,信号位QLMN_LLM(输出超出下限)变为1状态。
3.输出量的格式化处理
LMN_NORM(输出量格式化)功能用下述公式来将功能LMNLIMIT的输出量QLMN_LIM格式化:
式中LMN是格式化后浮点数格式的控制输出值;
LMN_FAC为输出量的系数,默认值为1.0;
LMN_OFF为输出量的偏移量,默认值为0.0。
它们用来调节控制器输出量的范围。
5.输出量转换为外围设备(I/O)格式
控制器输出值如果要送给模拟量输出模块中的D/A转换器,需要用功能“CPR_OUT“转
换为外围设备(I/O)格式的变量LMN_PER。
转换公式为:
图9-5控制器输出处理
四、SFB41的参数
(1)输入参数
COM_RST:
BOOL:
重新启动PID:
当该位TURE时:
PID执行重启动功能,复位PID内部参数到默认值;
通常在系统重启动时执行一个扫描周期,或在PID进入饱和状态需要退出时用这个位;
MAN_ON:
手动值ON;
当该位为TURE时,PID功能块直接将MAN的值输出到LMN,这可以在SFB41或FB41框图中看到;
也就是说,这个位是PID的手动/自动切换位;
PEPER_ON:
过程变量外围值ON:
过程变量即反馈量,此PID可直接使用过程变量PIW(不推荐),也可使用PIW规格化后的值(常用),因此,这个位为FALSE;
P_SEL:
一般选择有效;
INT_HOLDBOOL:
积分保持,不去设置它;
I_ITL_ONBOOL:
积分初值有效,I-ITLVAL(积分初值)变量和这个位对应,当此位ON时,则使用I-ITLVAL变量积分初值。
一般当发现PID功能的积分值增长比较慢或系统反应不够时可以考虑使用积分初值;
D_SEL:
一般的控制系统不用;
CYCLE:
TIME:
PID采样周期,一般设为200MS;
SP_INT:
REAL:
PID的给定值;
PV_IN:
PID的反馈值(也称过程变量);
PV_PER:
WORD:
未经规格化的反馈值,由PEPER-ON选择有效;
(不推荐)
MAN:
手动值,由MAN-ON选择有效;
GAIN:
比例增益;
TI:
积分时间;
TD:
微分时间;
DEADB_W:
死区宽度;
如果输出在平衡点附近微小幅度振荡,可以考虑用死区来降低灵敏度;
LMN_HLM:
PID上极限,一般是100%;
LMN_LLM:
PID下极限;
一般为0%,如果需要双极性调节,则需设置为-100%;
(正负10V输出就是典型的双极性输出,此时需要设置-100%);
PV_FAC:
过程变量比例因子
PV_OFF:
过程变量偏置值(OFFSET)
LMN_FAC:
PID输出值比例因子;
LMN_OFF:
PID输出值偏置值(OFFSET);
I_ITLVAL:
PID的积分初值;
有I-ITL-ON选择有效;
DISV:
允许的扰动量,前馈控制加入,一般不设置;
2、常用输出参数
LMN:
PID输出;
(可用于在调试过程中观察效果)
第三节基于PID调节的恒水位控制
一、控制要求
有一水箱可向外部用户供水,用户用水量不稳定,有时大有时少。
水箱进水可由水泵泵入,现需对水箱中水位进行恒液位控制,并可在0~200mm(最大值数据可根据水箱高度确定)范围内进行调节。
如设定水箱水位值为100mm时,则不管水箱的出水量如何,调节进水量,都要求水箱水位能保持在100mm位置,如出水量少,则要控制进水量也少,如出水量大,则要控制进水量也大。
水箱示意图如图9-6所示。
图9-6水箱示意图
二、控制思路
因为液位高度与水箱底部的水压成正比,故可用一个压力传感器来检测水箱底部压力,从而确定液位高度。
要控制水位恒定,需用PID算法对水位进行自动调节。
把压力传感器检测到的水位信号4~20mA送入至S7-300PLC中,在PLC中对设定值与检测值的偏差进行PID运算,运算结果输出去调节水泵电机的转速,从而调节进水量。
水泵电机的转速可由变频器来进行调速。
三、硬件选型
1、PLC及其模块选型。
PLC可选用S7-300(CPU314IFM),314IFM自身带有4路模拟量输入和2路模拟量输出。
2、变频器选型。
为了能调节水泵电机转速从而调节进水量,特选择西门子G110的变频器。
3、水箱对象设备,如下图9-7所示。
图9-7PID实验用水箱设备
四、电路连接
1、主电路接线
主电路接线如图9-8所示。
PLC和G110变频器需用交流220V电源。
图9-8主电路图
2、PLC输入输出信号接线
PLC输入输出信号接线如图9-9所示,主要包括PLC与传感器和PLC与执行器的接线。
图9-9PLC的接线
五、程序用到的FC与FB
程序中除用到SFB41(或FB41)来实现PID控制功能以外,还用到FC105和FC106。
FC105的功能是实现把传感器经AD转换后的数据转换成工程数据。
FC106的功能是把PID运算输出的转化为将要进行DA转换的数据。
1.FC105
FC105(SCALE功能)如图9-10所示,SCALE功能接受一个整型值(IN),并将其转换为以工程单位表示的介于下限和上限(LO_LIM和HI_LIM)之间的实型值。
将结果写入OUT。
图9-10FC105
FC105的数值换算公式为:
OUT=(IN-K1)/(K2-K1)×
(HI_LIM-LO_LIM)+LO_LIM
对双极性,输入值范围为-27648到27648,对应K1=-27648,K2=+27648,对单极性,输入值范围为0到27648,对应K1=0,K2=+27648。
如果输入整型值大于K2,输出(OUT)将钳位于HI_LIM,并返回一个错误。
如果输入整型值小于K1,输出将钳位于LO_LIM,并返回一个错误。
通过设置LO_LIM>
HI_LIM可获得反向标定。
使用反向转换时,输出值将随输入值的增加而减小。
FC105的各参数如表9-1所示。
表9-1FC105参数
2.FC106
FC106(UNSCALE功能)如图9-11所示。
FC106(UNSCALE功能)接收一个以工程单位表示,且标定于下限和上限(LO_LIM和HI_LIM)之间的实型输入值(IN),并将其转换为一个整型值。
图9-11FC106功能
UNSCALE功能使用以下等式:
OUT=(IN-LO_LIM)/(HI_LIM-LO_LIM)×
(K2-K1)+K1
并根据输入值是BIPOLAR还是UNIPOLAR,设置常数K1和K2。
BIPOLAR:
假定输出整型值介于-27648和27648之间,因此,K1=-27648.0,K2=+27648.0。
UNIPOLAR:
假定输出整型值介于0和27648之间,因此,K1=0.0,K2=+27648.0
如果输入值超出LO_LIM和HI_LIM范围,输出(OUT)将钳位于距其类型(BIPOLAR或UNIPOLAR)的指定范围的下限或上限较近的一方,并返回一个错误。
FC106的各参数如表9-2所示。
表9-2FC106参数
六、PLC编程
1、PLC的软元件分配
模拟量输入PIW130
模拟量输出PQW128
MD8:
实际液位值
M50.0:
PID手自动切换
MD60:
设定液位值
MD100:
PID输出值
2、PLC程序
编写PLC主程序OB1如图9-12所示。
图9-12PLC控制程序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- S7300400 模拟 闭环控制 中的 应用