FB41“CONT_C”用于在SIMATIC S7可编程控制器上,控制带有连续输入和输出变量的工艺过程。在参数分配期间,用户可以激活或取消激活PID控制器的部分功能,如积分冻结等,以使控制器适合实际的工艺过程。
FB41“CONT_C”可以将控制器用作PID固定设定值控制器,或者在多回路控制中用作级联、混合或比率控制器。控制器的功能基于采样控制器的PID控制算法,采样控制器带有一个模拟信号;如果需要的话,还可以扩展控制器的功能,增加一个脉冲生成器环节,以产生脉宽调制的输出信号,用于带有比例执行器的两步或三步控制器。
FB41“CONT_C”必须在OB定时中断内调用,并将CYCLE(采样时间)管脚的调用时间与 OB定时中断保持一致,即相等 。
图1.FB41"CONT_C" 的方框图
图2. FB41"CONT_C" 程序块
注:以TIA Portal V13 SP1为例,该功能块在STEP 7中的管脚与其相同
表1. FB41"CONT_C" 的输入参数
参数 | 变量类型 | 数据类型 | 取值范围 | 默认 | 描述 | 应用 |
---|---|---|---|---|---|---|
COM_RST | IN | BOOL | FALSE | 完全重启动 | 置位后需手动去复位 |
|
MAN_ON | IN | BOOL | TRUE | 手/自动切换按钮 | MAN_ON: |
|
PVPER_ON | IN | BOOL | FALSE | 设定值选择外设 | PVPER_ON: |
|
PV_IN | IN | REAL | -100~100(%)或者 物理值 | 0.0 | 过程变量输入 | 必须与SP_INT单位一致 |
PV_PER | IN | WORD | 16#0000 | 外设过程变量输入 | PIW xxx |
|
SP_INT | IN | REAL | -100~100(%)或者 物理值 | 0.0 | 内部设定值 | |
P_SEL | IN | BOOL | TRUE | 比例作用激活 | P_SEL: |
|
I_SEL | IN | BOOL | TRUE | 积分作用激活 | I_SEL: 0:关闭积分作用 1:激活积分作用 |
|
INT_HOLD | IN | BOOL | FALSE | 积分冻结 | 冻结当前积分作用 |
|
I_ITL_ON | IN | BOOL | FALSE | 积分设定值 | I_ITL_ON: |
|
I_ITLVAL | IN | REAL | -100~100(%) | 0.0 | 积分初始值 | |
D_SEL | IN | BOOL | FALSE | 微分作用打开 | I_SEL: 0:关闭微分作用 1:激活微分作用 |
|
CYCLE | IN | TIME | >=1 ms | T#1s | 采样时间 | 建议:与定时中断时间设置相同 |
MAN | IN | REAL | -100~100(%) | 0.0 | 手动值 | |
GAIN | IN | REAL | 2.0 | 比例因子 | ||
TI | IN | TIME | >=CYCLE | T#20s | 积分时间 | |
TD | IN | TIME | >=CYCLE | T#10s | 微分时间 | |
TM_LAG | IN | TIME | 〉=CYCLE/2 | T#2s |
微分作用的时间延迟 | TM_LAG越大,微分作用越小 |
DEAD_W | IN | REAL | >=0.0 | 0.0 | 死区宽度 | SP_INT-DEAD_W<PV_IN<SP_INT+DEAD_W |
LMN_HLM | IN | REAL | 100.0 | 调节值上限 | ||
LMN_LLM | IN | REAL | 0.0 | 调节值上限 | ||
PV_FAC | IN | REAL | 1.0 | 过程变量因子 | ||
PV_OFF | IN | REAL | 0.0 | 过程变量偏移量 | ||
LMN_FAC | IN | REAL | 1.0 | 调节值因子 | ||
LMN_OFF | IN | REAL | 0.0 | 调节值偏移量 | ||
DISV | IN | REAL | -100~100(%) | 0.0 | 干扰变量 |
表2. FB41"CONT_C" 的输出参数
参数 | 变量类型 | 数据类型 | 取值范围 | 默认 | 描述 | 说明 |
---|---|---|---|---|---|---|
LMN | OUT | REAL | 0.0 | 调节值 | ||
LMN_PER | OUT | WORD | 16#0000 | 外设调节值 | PQW xxx |
|
QLMN_HLM | OUT | BOOL | FALSE | 调节值上限报警 | ||
QLMN_LLM | OUT | BOOL | FALSE | 调节值下限报警 | ||
LMN_P | OUT | REAL | 0.0 | 比例分量 | ||
LMN_I | OUT | REAL | 0.0 | 积分分量 | ||
LMN_D | OUT | REAL | 0.0 | 微分分量 | ||
PV | OUT | REAL | 0.0 | 当前值输出 | ||
ER | OUT | REAL | 0.0 | 偏差 | ER=SP_INT-PV_IN |
由图 1 可知,FB41可以分为偏差产生、PID运算、PID输出三部分。
以下为管道压力控制实例说明:
升压时,阀门开度增加;降压时,阀门开度减小。
被控对象:0-100Kpa (压力)输入信号:4-20mA
设 定 值 :60Kpa
执行元件:0-100% (阀门)输出信号:4-20mA
表3.MAN_ON的选择
参数 | 状态 | 说明 |
---|---|---|
MAN_ON | 0 | 自动控制:PID经过程序块计算输出 |
MAN_ON | 1 | 手动控制:直接由MAN控制输出 |
表4.PVPER_ON的选择
参数 | 状态 | 说明 |
---|---|---|
PVPER_ON | 0 | PV_IN有效 |
PVPER_ON | 1 | PV_PER有效 |
注:无论当前值选择哪个管脚,SP_INT必须与其量纲相同
利用量程转换块FC105"SCALE"将过程变量转换为实际工程量
图3.FC105“SCALE”量程转换块
注:以TIA Portal V13 SP1为例,该功能块在STEP 7中的管脚与其相同
表5.FC105“SCALE”参数引脚
参数 | 变量类型 | 数据类型 | 描述 | 说明 |
---|---|---|---|---|
IN | IN | INT | 输入 | PIW xxx |
HI_LIM | IN | REAL | 输出值上限 | |
LO_LIM | IN | REAL | 输出值下限 | |
BIPOLAR | IN | BOOL | 极性选择 | BIPOLAR: |
RET_VAL | OUT |
WORD | 错误信息 | |
OUT | OUT | REAL | 输出 |
图4.PVPER_ON=0时,PV_IN有效
直接将过程变量输入到PV_PER管脚,会按照以下公式进行规格化转换。
公式:PV=(PV_PER*100/27648)*PV_FAC+PV_OFF
默认转换为0-100(%)
图5.PVPER_ON=1时,PV_PER有效
表6.PID参数设定
参数 | 描述 | 说明 |
---|---|---|
GAIN | 比例增益 | 1,GAIN越大,比例作用越大; |
TI | 积分时间 | TI越大,积分作用越小 |
TD | 微分时间 | TD越大,微分作用越大 |
表7.PID输出管脚
参数 | 类型 | 说明 |
---|---|---|
LMN | REAL | 默认输出0-100(%) |
LMN_PER | WORD | 16#0-16#6C00 |
利用量程转换块FC106"UNSCALE"将LMN转换为0-27648的工程量
图6.FC106"UNSCALE"量程转换块
注:以TIA Portal V13 SP1为例,该功能块在STEP 7中的管脚与其相同
表8.FC106"UNSCALE"参数引脚
参数 | 变量类型 | 数据类型 | 取值范围 | 描述 | 说明 |
---|---|---|---|---|---|
IN | IN | REAL | 输入 | ||
HI_LIM | IN | REAL | 输入值上限 | ||
LO_LIM | IN | REAL | 输入值下限 | ||
BIPOLAR | IN | BOOL | 极性选择 | BIPOLAR: |
|
RET_VAL | OUT |
WORD | 错误信息 | ||
OUT | OUT | INT | 输出 |
直接将PQWxxx连接到LMN_PER管脚控制输出
图7.FB41"CONT_C"LMN_PER输出