项目用于S7300和S7400的标准软件PID控制.docx
- 文档编号:24811474
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:28
- 大小:1.58MB
项目用于S7300和S7400的标准软件PID控制.docx
《项目用于S7300和S7400的标准软件PID控制.docx》由会员分享,可在线阅读,更多相关《项目用于S7300和S7400的标准软件PID控制.docx(28页珍藏版)》请在冰豆网上搜索。
项目用于S7300和S7400的标准软件PID控制
引言
PID控制包的功能块(FB)包括了用于连续控制(CONT_C)和步进控制
(CONT_S)的控制块,以及用于脉宽调制(PULSEGEN)的FB。
控制器块实现了一个纯软件控制器,它所包含的功能块可以提供控制器
的所有功能。
循环计算所需的数据存储在为FB分配的数据块中。
这样,
便可以按照需要频繁地调用FB。
功能块PULSEGEN和功能块CONT_C一起,可实现具有脉冲输出的控制
器,用于控制比例执行器。
使用FB创建的控制器是由一系列子功能组成的,您可以选择激活或取消
激活这些子功能。
除了具有其自身PID算法的实际控制器以外,还有一些
集成的功能也可以用于处理设定值和过程变量,以及用于调整计算出的
可调节变量。
通过两个控制器块实现的控制器并不局限于任何特定应用领域。
控制器
的性能和它的处理速度只取决于所使用的CPU的性能。
对于任何一个给定的CPU,都必须在控制器的数量和单个控制器的处理
频率之间进行折衷。
控制回路所必需的处理速度,换句话说,就是单位
时间内计算可调节变量的次数,决定了可以安装的控制器数量(较快的回
路意味着较少的控制器)。
在可以控制的过程类型方面,没有任何限制。
不论是慢速过程(温度、罐
液位等),还是非常快的过程(流速、电机速度等),都可以进行控制。
注意
要控制的过程的静态特征(增益)和动态特征(时间延迟、死区时间、复位
时间等),对控制器的结构和设计都有显著的影响,并且还会影响到控制
器的静态(P分量)和动态(I和D分量)参数维数大小的选择。
因此,精确了解需要控制的过程的类型和特征数据是非常必要的。
注意
控制回路的特征由给出的受控过程或机器的物理特征决定,并且只能做
局部的细微修改。
仅当所选择的控制器类型非常适合工作条件并且与过
程的时间响应相匹配时,才能获得良好的控制质量。
您可以在几乎不需要编程的情况下创建一个控制器(构造、参数分配和系
统程序中的调用)。
但STEP7的知识是必需的。
STEP7在线帮助还提供了关于各种FB的信息。
PID控制是标准控制的一个子集。
关于标准控制器的更多信息,请参见
/350/。
3.1使用FB41“CONT_C”实现连续控制
FB“CONT_C”用于在SIMATICS7可编程控制器上,控制带有连续输
入和输出变量的工艺过程。
在参数分配期间,用户可以激活或取消激活
PID控制器的子功能,以使控制器适合实际的工艺过程。
可以将控制器用作PID固定设定值控制器,或者在多回路控制中用作级
联、混合或比率控制器。
控制器的功能基于采样控制器的PID控制算法,
采样控制器带有一个模拟信号;如果需要的话,还可以扩展控制器的功
能,增加一个脉冲生成器环节,以产生脉宽调制的输出信号,用于带有
比例执行器的两步或三步控制器。
除了设定值和过程值分支中的功能以外,FB还实现了一个完整的PID控制
器,该控制器具有连续的可调节变量输出,并且还可以选择手动影响调
节值。
下文详细描述了这些子功能:
设定值分支
设定值以浮点数格式输入到SP_INT输入端。
过程变量分支
可以在外围设备(I/O)中输入过程变量,也可以以浮点数格式输入。
CRP_IN函数根据下列公式,将PV_PER外设值转换成浮点数格式-100到
+100%:
CRP_IN的输出=PV_PER£
100
27648
PV_NORM函数根据下列公式规格化CRP_IN的输出:
PV_NORM的输出=(CRP_IN的输出)£PV_FAC+PV_OFF
PV_FAC的缺省值是1,PV_OFF的缺省值是0。
误差信号
设定值和过程变量之间的差值就是误差信号。
要抑制由于可调节变量量
化所引起的小幅持续振荡(例如,在使用PULSEGEN进行脉宽调制时),
可对误差信号使用死区(DEADBAND)。
如果DEADB_W=0,则死区功
能关闭。
PID算法
这里所使用的PID算法是定位PID算法。
比例、积分(INT)和微分(DIF)动作
是并行连接在一起的,可以单独激活或取消激活。
这样便能够组态成P、
PI、PD和PID控制器。
还可以组态成纯I控制器和纯D控制器。
手动值
可以在手动模式和自动模式之间切换。
在手动模式下,可调节变量被
修正到手动选择的数值。
积分器(INT)内部被设置成LMN-LMN_P-
DISV,而微分单元(DIF)被设置成0,这些都是自动在内部进行匹配的。
这样,切换到自动模式就不会导致调节值的突然变化。
调节值
使用LMNLIMIT函数,可以将调节值限制到所选择的数值上。
当输入变量
超过了限制值时,通过信号位来指示。
LMN_NORM函数根据下列公式规格化LMNLIMIT的输出:
LMN=(LMNLIMIT的输出)£LMN_FAC+LMN_OFF
LMN_FAC的缺省值是1,而LMN_OFF的缺省值是0。
调节值也可以使用外设值格式。
CRP_OUT函数根据下列公式将浮点数
LMN转换成外设值:
LMN_PER=LMN£100
27648
前馈控制
可以在DISV输入端前馈一个干扰变量。
模式
完全重启动/重启动
FB41“CONT_C”有一个完全重启动例行程序,当置位输入参数
COM_RST=TRUE时执行。
在启动期间,积分器内部被设置成初始值I_ITVAL。
当在周期性中断优先
级中调用积分器时,它便从这个数值开始,继续工作。
所有其它输出都被设置成各自的缺省值。
出错信息
此功能块内部并不检查错误。
因此没有使用出错输出参数RET_VAL。
方框图
图16--1CONT_C的方框图
输入参数
表3--1给出了FB41“CONT_C”输入参数的描述。
表3--1FB41“CONT_C”的输入参数(INPUT)
1)设定值和过程变量分支中的参数具有相同的单位
2)调节值分支的参数具有相同的单位
输出参数
表3--2给出了FB41“CONT_C”输出参数的描述。
表3--2FB41“CONT_C”的输出参数(OUTPUT)
3.2使用FB42“CONT_S”实现步进控制
引言
FB42“CONT_S”用在SIMATICS7可编程逻辑控制器上,使用集成执
行器的数字量调节值输出信号来控制工艺过程。
在参数分配期间,可以
激活或者取消激活PI步进控制器的子功能,以使控制器适用于该过程。
应用
可以将控制器用作PI固定设定值控制器,也可以用于级联、混合或比率控
制器中的次级控制回路,但是不能当作主控制器使用。
控制器的功能基
于采样控制器的PI控制算法,其附加功能还可将模拟量驱动信号生成二进
制输出信号。
描述
除了过程值分支中的功能以外,功能块FB还实现了一个完整的PI控制
器,该控制器具有数字量调节值输出,并且还可以选择手动影响操作
值。
步进控制器的运行不需要位置反馈信号。
下文详细描述了部分功能:
设定值分支
设定值以浮点数格式输入到SP_INT输入端。
过程变量分支
可以在外围设备(I/O)中输入过程变量,也可以以浮点数格式输入。
CRP_IN函数根据下列公式,将PV_PER外设值转换成浮点数格式-100到
+100%:
CRP_IN的输出=PV_PER£
100
27648
PV_NORM函数根据下列公式规格化CRP_IN的输出:
PV_NORM的输出=(CRP_IN的输出)£PV_FAC+PV_OFF
PV_FAC的缺省值是1,PV_OFF的缺省值是0。
误差信号
设定值和过程变量之间的差值就是误差信号。
要抑制由于可调节变量量
化所引起的小幅持续振荡(例如,由于阀门执行器的调节值的精度有限),
可对误差信号使用死区(DEADBAND)。
如果DEADB_W=0,则死区功
能关闭。
PI步进控制算法
功能块FB的运行不需要位置反馈信号。
PI算法的I作用和假设的位置反馈
信号在一个积分器(INT)上计算,然后和剩余的P作用进行比较,其结果作
为反馈值。
反馈差值施加到三步单元(THREE_ST)和脉冲发生器
(PULSEOUT)上,该脉冲发生器生成用于执行器的脉冲。
可以通过调整
三步单元的阈值来降低控制器的切换频率。
前馈控制
可以在DISV输入端前馈一个干扰变量。
模式
完全重启动/重启动
FB42“CONT_S”有一个完全重启动例行程序,当置位输入参数
COM_RST=TRUE时执行。
所有其它输出都被设置成各自的缺省值。
出错信息
此功能块内部并不检查错误。
因此并没有使用出错输出参数RET_VAL。
方框图
图16--2CONT_S的方框图
输入参数
表3--3给出了FB42“CONT_S”输入参数的描述。
表3--3FB42“CONT_S”的输入参数(INPUT)
1)设定值和过程变量分支中的参数具有相同的单位
2)调节值分支的参数具有相同的单位
输出参数
表3--4给出了FB42“CONT_S”输出参数的描述。
表3--4FB42“CONT_S”的输出参数(OUTPUT)
3.3使用FB43“PULSEGEN”生成脉冲
引言
FB43“PULSEGEN”用于构造一个PID控制器,以生成脉冲输出,用于
比例执行器。
应用
使用FB43“PULSEGEN”,可以配置带有脉宽调制的两步或三步PID控
制器。
此函数通常和连续控制器“CONT_C”一起使用。
描述
PULSEGEN函数通过调节脉冲持续时间,将输入变量INV(=PID控制
器的调节值)转换成固定时间间隔的脉冲序列,转换的依据是输入变量的
更新周期,该周期必须在PER_TM中分配。
在每个周期内,脉冲的持续时间和输入变量成比例。
分配给PER_TM的
周期和FB“PULSEGEN”的处理周期并不相等。
PER_TM周期是由几个
FB“PULSEGEN”的处理周期组成的,因此每个PER_TM周期中
FB“PULSEGEN”调用的次数便成了脉宽调制精度的尺度标准。
图16--3脉宽调制
对于每个PER_TM中10个FB“PULSEGEN”调用,一个30%的输入变量
意味着下列结果:
--对于前三个FB“PULSEGEN”调用(10个调用的30%),QPOS
输出为“1”
--对于剩下的七个FB“PULSEGEN”调用(10个调用的70%),
QPOS输出为“0”
方框图
图16--4PULSEGEN的方框图
调节值的精度
对于1:
10(CONT_C调用和PULSEGEN调用的比率)的“采样比例”,
在这个实例中,则将调节值的精度限制为10%,换句话说,在QPOS输
出端,设定的输入值INV的仿真,其脉冲持续时间每步只是原来
的10%。
精度将随每个CONT_C调用中FB“PULSEGEN”调用次数的增加而增
加。
例如,如果PULSEGEN的调用是CONT_C调用次数的100倍,则得到的
分辨率将是调节值范围的1%。
注意
调用频率必须由用户自己编程设定。
自动同步
可以使用更新输入变量INV的块(例如CONT_C)来同步脉冲输出。
这将确
保输入变量的变化能尽快地以脉冲方式输出。
脉冲发生器按照周期PER_TM的时间间隔计算输入值INV,并将此数值转
换成相应时长的脉冲信号。
然而,由于计算INV的循环中断等级通常较低,因此在INV更新之后,脉
冲发生器应该尽快地启动离散值到脉冲信号的转换。
为此,程序块使用下列步骤同步周期的起始点:
如果INV发生变化,而块调用不在周期的第一个或最后两个调用循环中,
则执行同步。
重新计算脉冲宽度,然后在下一个循环中使用新的周期输
出(参见图16--5)。
图16--5周期起始点的同步
可以在“SYN_ON”输入处禁止自动同步
(=FALSE)。
注意
在同步之后,随着一个新周期的开始,将以或高或低精度的脉冲信号模
拟INV的原值(即,LMN)。
模式
根据分配给脉冲发生器的参数,可以组态具有三步输出的PID控制器,或
者组态具有双极或单极两步输出的PID控制器。
下表给出了可能的模式所
对应的开关组合的设置。
三步控制
在“三步控制”模式中,驱动信号可以采用三种状态量。
根据执行器的
状态给输出信号QPOS_P和QNEG_P的二进制值赋值。
下表给出了一个温度控制实例:
基于输入变量,使用特征曲线计算脉冲持续时间。
特征曲线的形状由最
小脉冲或最小断开时间和比率因子决定(参见图16--6)。
比率因子的标准值
是1。
曲线中的“大转弯”是由最小脉冲或最小断开时间引起的。
最小脉冲或最小断开时间
一个适当的最小脉冲或最小断开时间P_B_TM可以防止短暂开/关的次
数,避免由此而降低开关元件和执行器的工作寿命。
注意
如果由输入变量LMN上的小绝对值产生的脉宽小于P_B_TM,那么将抑
制该值。
而对于大的输入值,如果由它产生的脉宽大于(PER_TM-
P_B_TM),则将它设置为100%或-100%。
通过计算输入变量(百分比格式)与周期时间的乘积得到正或负的脉宽:
脉宽=
100
INV
£PER_TM
图16--6三步控制器的对称特征曲线(比率因子=1)
不对称的三步控制器
使用比率因子RATIOFAC,可以改变正脉冲持续时间与负脉冲持续时间的
比率。
例如,在一个热过程中,可以此为加热和冷却过程使用不同的系
统时间常数。
比率因子还影响最小脉冲或最小断开时间。
比率因子小于1意味着负脉冲
的阈值与比率因子相乘。
比率因子小于1
计算输入变量和周期时间的乘积所得的负脉冲输出的脉宽,因比率因子
的存在而减少(参见图16--7)。
正脉冲的持续时间=
100
INV
£PER_TM
负脉冲的持续时间=
100
INV
£PER_TM£RATIOFAC
图16--7三步控制器的不对称特征曲线(比率因子=0.5)
比率因子大于1
计算输入变量和周期时间的乘积所得的正脉冲输出的脉宽,因比率因子
的存在而减少。
负脉冲的持续时间=100
INV
£PER_TM
INVPER_TM
RATIOFAC
正脉冲的持续时间=100
两步控制
在两步控制中,只将PULSEGEN的正脉冲输出QPOS_P连接到开/关执行
器上。
根据所使用的调节值范围,两步控制器可以有双极或单极调节值
范围(参见图16--8和16--9)。
具有双极操作变量范围的两步控制
(-100%到100%)
图16--8具有双极调节值范围的特征曲线
(-100%到100%)
具有单极可调节变量范围的两步控制
(0%到100%)
图16--9具有单极调节值范围的特征曲线
(0%到100%)
如果控制回路中的两步控制器的连接需要一个逻辑反转的二进制信号,
用于驱动脉冲,则可以取反QNEG_P上的输出信号。
两步/三步控制中的
手动模式
在手动模式(MAN_ON=TRUE)中,可以使用信号POS_P_ON和
NEG_P_ON来设置三步或两步控制器的二进制输出,而不必考虑INV。
模式
完全重启动/重启动
在完全重启动期间,所有的信号输出都被设置成0。
出
错信息此功能块内部并不检查错误。
因此并没有使用出错输出参数RET_VAL。
输入参数
表3--5FB43“PULSEGEN”的输入参数(INPUT)
注意
在此块中,输入参数的数值并没有限制。
在这里并不检查参数。
输出参数
表3--6FB43“PULSEGEN”的输出参数(OUTPUT)
3.4PULSEGEN使用实例
控制回路
使用连续控制器CONT_C和脉冲发生器PULSEGEN,可以实现一个固定
设定值控制器,以产生开关量输出,用于比例执行器。
图16--10说明了控
制回路的基本信号顺序。
图16--10控制回路
连续控制器CONT_C产生调节值LMN,它被脉冲发生器PULSEGEN转换
成脉冲--中断信号QPOS_P或QNEG_P。
块调用和连接
固定设定值控制器具有用于比例执行器PULS_CTR的开关量输出,该控
制器由块CONT_C和PULSEGEN组成。
执行块调用,使CONT_C每2秒
钟(=CYCLE*RED_FAC)调用一次,而PULSEGEN每10毫秒(=CYCLE)调
用一次。
OB35的循环周期设置成10毫秒。
可以在图16--11中查看此连
接。
在完全重启动期间,在OB100中调用块PULS_CTR,并将输入
COM_RST设置为TRUE。
图16--11块调用和互连
FBPULS_CTR的
STL程序
表3--7FBPULS_CTR
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 项目 用于 S7300 S7400 标准 软件 PID 控制
![提示](https://static.bdocx.com/images/bang_tan.gif)