S7300的PID的简要说明
简介
PID控制的概念
PID控制软件包里的功能块包括连续控制功能块CONT_C,步进控制功能块CONT_S以及具有脉冲调制功能的PULSEGEN。
控制模块利用其所提供的全部功能可以实现一个纯软件控制器。循环扫描计算过程所需的全部数据存储在分配给FB的数据区里,这使得无限次调用FB变成可能。功能块PULSEGEN一般用来连接CONT_C,以使其可以产生提供给比例执行器的脉冲信号输出。
基本功能
在功能块组成的控制器中,有一系列你可以通过设置使其有效或无效的子功能。除了实际采用PID算法的控制器外,还包括给定点值处理、过程变量处理以及调整操作值范围等功能。
应用
用两个控制模块组成控制器就可以突破局限的特定应用。控制器的性能和处理速度只与所采用的CPU性能有关。对于任意给定的CPU,控制器的数量和每个控制器被调用的频率是相互矛盾的。控制环执行的速度,或者说,在每个时间单元内操作值必须被更新的频率决定了可以安装的控制器的数量。对要控制的过程类型没有限制,迟延系统(温度、液位等)和快速系统(流量、电机转速等)都可以作为控制对象。
过程分析
注意:控制过程的静态性能(比例)和动态性能(时间延迟、
死区和重设时间等)对被控过程控制器的构造和
以及静态(比例)和动态参量(积分和微分)的维数选取有着很大的影响。准确地了解控制过程的类型和特性数据是非常必要的。
控制器的选取
注意:控制环的特性由被控过程或被控机械的物理特性决定,并且我们可以改变的程度不是很大。只有选用了最适合被控对象的控制器并使其适应过程的响应时间,才能得到较高的控制质量。
生成控制器
不用通过编程你就可以生成控制器的大部分功能(构造、参数设置和在程序中的调用等),前提是你掌握了STEP 7的编程知识。
在线帮助
STEP 7的在线帮助同样也可以为你提供各种功能块的帮助信息
进一步帮助PID控制器是标准控制器的子集。
参数设置
调用参数分配用户界面
在Windows95下按照下面的选项调用PID控制器的参数设置用户界面Start—SIMATIC_Step 7—PID Control ParameterAssignment
在第一个对话框中你可以打开一个已经存在的CONT_C或CONT_S的背景数据块,或者你新建一个数据块作为功能的背景数据块。如果你新建了一个新的背景数据块,你会被提示将这个数据块分配给某一个功能块。FB43 PULSEGEN没有参数设置的界面,你必须用STEP 7的工具给其分配参数。
在线帮助
当你给控制模块设置参数时可以使用参数设置用户界面的在线帮助,你可以以三种方式调用在线帮助
用菜单选项中的Help
按下F1键
按下参数设置用户界面里的帮助按钮
用功能块FB41“CONT_C”实现连续控制
简介
在SIMATIC S7 可编程控制器上,功能块FB41用来控制具有连续输入输出的技术过程。在参数设置过程中,你可以通过参数设置来激活或取消激活PID控制
的某些子功能来设计适应过程需要的控制器
应用
你可以将其作为一个给定点PID控制器,或者在多环路控制中作为串级、混合或比率控制器。控制器的算法是基于具有模拟输入信号的采样PID控制。如果扩展需要的话可以引入一个脉冲发生器,来产生具有脉宽调制的操作值输出,以提供给带有比例执行器的两级或三级步进控制器。
描述
除了给定点和过程变量分支的功能外,FB自己就可以实现一个完整的具有连续操作值输出并且具有手动改变操作值功能的PID控制器,下面你会找到各子功能的详细描述
给定点分支
给定点的值以浮点形式在SP_INT处输入。
过程变量分支
过程变量可以从外设直接输入到PV_PER或以浮点PV-IN形式输入,功能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和PV_OFF的默认值分别为1和0
误差信号
误差是给定点和过程变量之间的差值。为了抑制由于控制量量化而引起的小扰动(例如,控制量由于其执行电子管的有限分辨率),可将死区功能DEADBAND 运用在误差信号上。如果DEADB_W = 0,则死区就不起作用。
PID算法
此处PID算法是位置式的,比例、积分和微分作用并联并且可
以分别激活或取消激活。这样就可以分别构造P、PI、PD以及PID控制器,纯比例控制器或纯微分控制也是可以的。
手动值
可以在手动和自动模式之间切换,在手动模式下,操作值可以由一个手动选择值来设定,积分器在内部设定为
LMN(操作值) - LMN_P(比例操作值) - DISV(扰动),
微分器设定为0并且在内部进行同步,这意味着当转换到自动模式后,不会引起操作值的突然改变。
操作值
利用LMNLIMIT功能可以将操作值限定在所选的值范围内,输入值引起的输出超过界限时会在信号位上表现出来,功能LMN_NORM根据下面的公式标准化LMNLIMIT的输出
LMN=LMNLIMIT的输出×LMN_FAC+LMN_OFF
LMN_FAC和LMN_OFF的默认值分别为1和0
操作值也可以直接输出到外设,功能CRP_OUT将浮点形式的值LMN根据下面的公式转化成能输出到外设式的值:
LMN_PER = LMN × 100/27648
前馈控制
扰动可以作为前馈信号从DISV处输入。
模式 Complete Restart/Restart
当输入参数COM_RST为真时,FB41 “CONT_C”开始执行完全重启的程序。在此过程中,积分器被设定为初始值I_ITVAL,当它被一个中断优先级更高地调用时,它就以这个值来继续工作,其他所有的输出值都被设定为默认值。
误差信息
模块并不检查误差,误差输出参数RET_VAL并没有用到
模块图
输入参数
参数数据类型数据范围默认值描述
COM_RST BOOL FALSE 完全重启,当为真时执行重启程序
MAN_ON BOOL TRUE 手动操作,若为真,控制环中断,
操作值手动设定
PVPER_ON BOOL FALSE 过程变量直接从外设输入
P_SEL BOOL TRUE 为真则比例控制起作用
I_SEL BOOL TRUE 为真则积分控制起作用
D_SEL BOOL FALSE 为真则微分控制起作用
INT_HOLD BOOL FALSE 为真则积分控制的输出不变
I_ITL_ON BOOL FALSE 为真,使积分器的输出为I_ITLVAL CYCLE TIME >=1ms T#1s 采样时间
SP_INT REAL -100~100%或 0.0 内部的给定点的输入值
者物理量
PV_IN REAL -100~100%或者物理量 0.0 过程变量以浮点形式输入的值
PV_PER WORD W#16#000 过程变量从外设直接输入的值
MAN
REAL
-100~100%或者物理量
0.0
通过这个参数设定手动操作的值
GAIN
REAL
2.0
比例控制增益
TIME
>=CYCLE
T#20s
决定积分器的响应时间
TD
TIME
>=CYCLE
T#10s
微分时间
TM_LAG
TIME
>=CYCLE/2
T#2s
微分器的延迟时间
LMN_HLM
REAL
100.0
操作值的最高限
LMN_LLM
REAL
0.0
操作值的最低限
PV_FAC
REAL
1.0
过程变量因子,调整过程变量的范围
PV_OFF
REAL
0.0
过程变量偏置,调整过程变量的范围 LMN_FAC
1.0
操作值因子,调整操作值的范围
LMN_OFF
REAL
0.0
操作值偏置,调整操作值的范围
I_ITLVAL
REAL
-100~100%或者物理量
0.0
积分器的初始化值
DISV
REAL
-100~100%或者物理量
0.0
输入的扰动变量
DEADE_W
REAL
-100~100%或者物理量
0.0
死区宽度
输出参数
参数
数据类型
数据范围
默认值
描述
LMN
REAL
0.0
以浮点形式输出的有效操作值
LMN_PER
WORD
W#16#0000
直接输出到外设的操作值
QLMN_HLM
BOOL
FALSE
手动操作值达到最高限设置为真
QLMN_LLM
BOOL
FALSE
手动操作值达到最低时设置为真
LMN_P
REAL
0.0
比例控制产生的操作值
LMN_I
REAL
0.0
积分控制产生的操作值
LMN_D
REAL
0.0
微分控制产生的操作值
PV
REAL
0.0
输出的有效过程变量
ER
REAL
0.0
输出的误差信号