龙空技术网

西门子(Siemens)PLC讲解,Step7 中实现 PID 控制

技术研究 539

前言:

此时你们对“什么是数字pid位置型控制算法”都比较注意,兄弟们都需要学习一些“什么是数字pid位置型控制算法”的相关内容。那么小编在网络上搜集了一些有关“什么是数字pid位置型控制算法””的相关文章,希望同学们能喜欢,兄弟们一起来学习一下吧!

概述

本文中所讨论的功能块(SFB41/FB41,SFB42/FB42,SFB43/FB43)仅仅是使用于 S7 和C7 的 CPU 中的循环中断程序中。该功能块,定期计算所需要的数据,保存在指定的 DB 中

(背景数据块)。允许多次调用该功能块。CONT_C 块与 PULSEGEN 块组合使用,可以获得一个带有比例执行机构脉冲输出的控制器(例如,加热和冷却装置)。

SFB41/FB41 (CONT_C), 连续控制方式;SFB42/FB42 (CONT_S), 步进控制方式;SFB43/FB43 (PULSEGEN), 脉冲宽度调制器;

注意:SFB41/42/43,与 FB41/42/43 兼容,可以用于 CPU 313C、CPU 313C-2 DP/PTP 和

CPU 314C-2 DP/PTP 中。

应用

借助于由你组态大量模块组成的控制器,可以完成带有 PID 算法的实际控制器。控制效率,即处理速度取决于你所使用的 CPU 性能。对于给定的 CPU,必须在控制器的数量和控制器所需要执行频率之间找到一个折衷方案。连接的控制电路越快,所安装的控制器数量越少,则每个

时间单位计算的数值就越多。对于控制过程的类型没有限制。较慢(温度、填料位,等)以及较快的控制系统(流量、速度,等)都可以控制。

控制系统分析

控制系统的静态性能(增益)和动态性能(滞后、空载时间、积分常数,等),都是设计系统控制器及其静态参数(P 操作)和动态参数(I、D 操作)的主要因素。

因此,熟练掌握控制系统的类型和特性非常重要。(如图 1,图 2,图 3,图 4)

图 1

图 2

图 3

图 4

PID 系统控制器的选择

控制系统的属性由技术过程和机器条件决定。因此,为了获得良好的控制效果,你必须选择最适用的系统控制器。

连续控制器、开关控制器连续控制器,输出一个线性(模拟)数值。开关控制器,输出一个二进制(数字)数值。固定值控制器

固定值控制,使用设定固定数值进行的过程控制,只是偶尔修改一下参考变量,过程偏差的控制。

级联控制器

级联控制器,控制器串行连接控制。第一个控制器(主控制器)决定了串行控制器(从控制器)的设定点,或者根据过程变量的实际错误影响器设定点。

一个级联控制器的控制性能可以使用其它的过程变量加以改进。为此,可以为主控制变量添加一个辅助过程变量 PV2(主控制器 SP2 的输出)。主控制器可以将过程变量 PV1 施加给设定点 SP1,并且可以调整 SP2,以便尽可能快地到达目标,而没有过调节。(如图 5)

图 5

混合控制器

混合控制器是指根据每个被控组件所需要的设定点总数量,来计算总 SP 数量的一种控制结构。在此,混合系数 FAC 的和必须为“1”。(如图 6)

图 6

比例控制器单循环比例控制器

单循环比例控制器,可以用于“两个过程变量之间的比率”比“两个过程变量的绝对数值”重要的场合。(例如,速度控制)。(如图 7)

图 7

多循环比例控制器

对于多循环比例控制,两个过程变量 PV1 和 PV2 之比保持为常数。因此,可以使用第一个控制循环的过程数值,来计算第二个控制循环的设定点。对于过程变量 PV1 的动态变化,也可以保证保持特定的比例。(如图 8)

图 8

二级控制器

一个二级控制器只能采集两个输出状态(例如,开和关)。典型的控制为:一个加热的系统, 通过继电器输出的脉冲宽度调制。

三级控制器

一个三级控制器只能采集到三个具体的输出状态。我们需要区分:“脉冲宽度调制”(例如, 加热-冷却,加热-关机-冷却)和“使用集成执行机构的步进控制”(例如,左-停止-右)之间的区别。

布线

对于没有集成的 I/O 控制器,你必须使用附加的 I/O 模块。

布线规则连接电缆对于数字 I/O,如果线路有 100 米长,必须使用屏蔽电缆;电缆屏蔽时必须在两端进行接地;软电缆的截面积选择0.25…1.5 mm2;无需选择电缆套。如果决定选择使用电缆套,你可以使用不带绝缘套圈的电缆套(DIN 46228, Shape A, Short version);屏蔽端接元件你可以使用屏蔽端接元件,将所有屏蔽的电缆直接通过导轨连接接地;必须在断电情况下对组件进行接线;警告带电作业会有生命危险。如果你带电对组件的前插头进行接线,会有触电危险!其它信息其他注意事项可参见手册“CPU 数据”手册以及 CPU 的安装手册。参数赋值工具介绍

借助于“PID 参数设置”工具,可以很方便的调试功能块 SFB41/FB41,SFB42/FB42 的参数

(背景数据块)。

调试 PID 参数的用户界面

在 Windows 操作系统中,调用“调试 PID 参数用户界面”的操作过程如下: Start > SIMATIC > STEP 7 > PID Control Parameter Assignment(如图 9)。

图 9

在最开始的对话框中,你既可以打开一个已经存在的 FB41/ SFB41 “CONT_C” 或者FB42/ SFB42 “CONT_S”的背景数据块。也可以生成一个新的数据块,再可以分配给FB41/ SFB41 “CONT_C” 或者 FB42/ SFB42 “CONT_S”,作为背景数据块。(如图10)

图 10

FB43/SFB43 “PULSEGEN” 没有参数设置的用户界面工具。你必须在 STEP 7 中去设置它的参数。获取在线帮助的途径

当分配参数给 FB41/ SFB41 “CONT_C” 、FB42/ SFB42 “CONT_S” 或者 FB43/SFB43

“PULSEGEN”时,你可以通过以下三条途径获得帮助:

使用 Step7 菜单 Help>Contents,获得相应的帮助信息;通过按下 F1 键得到帮助;在 PID 参数设置对话框中,通过点击 Help,可以得到具体的帮助信息。在用户程序中实现

以下章节将帮助你根据你的应用设计一个用户程序。

调用功能块

使用相应的背景数据块调用系统功能块。

举例:CALL SFB 41, DB 30 (或者,CALL FB 41, DB 31)

背景数据块

系统功能块的参数将保存在背景数据块中。在第 6 章中将阐述这些参数。你可以通过以下方式访问这些参数

DB 编号和偏移地址数据块编号和数据块中的符号地址程序结构

SFB 必须在重新启动组织块 OB100 中和循环中断组织块 OB30…38 中调用。模式:

OB100 Call SFB/FB 41、42、43, DB 30OB35 Call SFB/FB 41、42、43, DB 30功能块介绍连续调节功能 SFB 41/FB 41 “CONT_C”简介

SFB/FB“CONT_C”(连续控制器)用于使用连续的 I/O 变量在 SIMATIC S7 控制系统中控制技术过程。你可以通过参数打开或关闭 PID 控制器,以此来控制系统。通过参数赋值工具, 可以很容易地做到这一点。调用: Start > SIMATIC > STEP 7 > PID Control Parameter Assignment(如图)。在线电子手册,见 Start > SIMATIC > Documentation > English> STEP 7 – PID Control(如图 11)。

图 11

应用程序

你可以使用控制器作为单独的 PID 定点控制器或在多循环控制中作为级联控制器、混合控制器和比例控制器使用。控制器的功能基于带有一个模拟信号的采样控制器的 PID 控制算法,如果必要的话,可以通过脉冲发送器(PULSEGEN)进行扩展,以产生脉冲宽度调制的输出信号,来控制比例执行机构的两个或三个步进控制器。

说明

除了设定点操作和过程数值操作的功能以外,SFB 41/FB 41(CONT_C)可以使用连续的变量输出和手动影响控制数值选项,来实现一个完整的 PID 控制器。下面是关于 SFB 41/FB 41(CONT_C)详细的子功能说明:

设定点操作

设定点以浮点格式在“SP_INT”端输入。

实际数值操作

过程变量可以在外围设备(I/O)或者浮点数值格式输入。“CRP_IN”功能可以将“PV_PER”外围设备数值转换为一个浮点格式的数值,在 –100 和+100 % 之间,转换公式如下:

CPR_IN 的输出=PV_PER x100 /27648

“PV_NORM”功能可以根据下述规则标准化“CRP_IN”的输出: 输 出 PV_NORM = (CPR_IN 的 输 出 )x PV_FAC + PV_OFF “PV_FAC”的缺省值为“1”,“PV_OFF”的缺省值为“0”。 变量“PV_FAC”和“PV_OFF”为下述公式转化的结果: PV_OFF =(PV_NORM 的输出) - (CPR_IN 的输出)x PV_FAC PV_FAC =(PV_NORM 的输出) - PV_OFF)/(CPR_IN 的输出)

不必转换为百分比数值。如果设定点为物理确定,实际数值还可以转换为该物理数值。

负偏差计算

设定点和实际数值之间的区别便形成负值偏差。为了抑制由于被控量的量化引起的小的、恒定的振荡(例如使用 PULSEGEN 进行脉冲宽度调制),在死区将施加一个死区

(DEADBAND)。如果 DEADB_W = 0,则死区将关闭。

PID 算法

PID 算法作为一种位置算法进行控制。比例运算、积分运算(INT)和微商运算(DIF)都可并行连接,也可以单独激活或取消。 这就允许组态成 P、PI、PD 和 PID 控制器。也可以是纯 I 和 D 调节器。

手动模式

可以在手动模式和自动模式之间切换。在手动模式下,被控量被修改成手动选定的数值。

积分器(INT) 内部设置为“LMN-LMN_P-DISV”,微商器(DIF) 内部设置为“0”, 并进行内部匹配。这就是说切换到自动模式时不会引起被控量的突变。

受控数值的处理

使用 LMNLIMIT 功能,受控数值可以被限制为一个所选择的数值。当输入变量超出极限值时,信号位将指示。“LMN_NORM”功能可以根据下述公式标准化“LMNLIMIT”的输出:

LMN = (LMNLIMIT 的输出) x LMN_FAC + LMN_OFF

“LMN_FAC”的缺省值为“1”,“LMN_OFF”的缺省值为“0”。

受控数值也适用于外围设备(I/O)格式。“CPR_OUT”功能可以将浮点值“LMN”转换 为一个外围设备值,转换公式如下:

LMN_PER = LMN x2764/10

前馈控制

一个干扰变量被引入“DISV”端输入。

初始化

SFB 41/FB 41“CONT_C”有一个初始化程序,可以在输入参数 COM_RST = TRUE 置位时运行。在初始化过程中,积分器可以内部设置为初始值“I_ITVAL”。如果在一个循环中断优先级调用它,它将从该数值继续开始运行。所有其他输出都设置为其缺省值。

出错信息

故障输出参数 RET_VAL 不使用。

SFB/FB“CONT_C”(连续调节控制器)块图

如图 12。

图 12

输入参数

SFB 41/FB 41“CONT_C”(如图 13)

图 13

下表列出 SFB 41/FB 41“CONT_C”输入参数的说明:

序号

参数

数据类型

数值范围

缺省

说明

1

COM_RST

BOOL

FAULSE

COMPLETE

RESTART(完全再起动)。

该块有一个初始化程序,可以在输入参数COM_RST 置位时运行。

2

MAN_ON

BOOL

TRUE

MANUAL VALUE ON

(手动数值接通) 如果输入端“手动数

值接通”被置位,那

么闭环控制循环将中断。手动数值被设置为受控数值。

3

PVPER_ON

BOOL

FALSE

PROCESS VARIABLE PERIPHERY

ON/(过程变量外设接通)

如果过程变量从I/O 读取 , 输 入 “PV_PER”必须连接到外围设备,

并且输入

“ PROCESS VARIABLE PERIPHERY ON”必

须置位。

4

P_SEL

BOOL

TRUE

PROPORTIONAL

ACTION ON(比例分量接通)

PID 各分量在 PID 算法中可以分别激活或者取消。当输入端 “比例分量接通”被置位时,P 分量被接通。

5

I_SEL

BOOL

TRUE

INTEGRAL ACTION

ON(积分分量接通) PID 各分量在 PID 算法中可以分别激活或者取消。当输入端 “积分分量接通”被置位时,I 分量被接通。

6

INT_HOLD

BOOL

FALSE

INTEGRAL ACTION

HOLD(积分分量保持)

积分器的输出被冻

结。为此,必须置

位输入“Integral Action Hold(积分

操作保持)”。

7

I_ITL_ON

BOOL

FALSE

INITIALIZATION OF THE INTEGRAL

ACTION(积分分量初始化接通)

积分器的输出可以被设置为输入“I_ITLVAL”。为

此,必须置位输

入“积分操作的初始化”。

8

D_SEL

BOOL

FALSE

DERIVATIVE

ACTION ON(微分分量接通)

PID 各分量在 PID 算法中可以分别激活或者取消。当输入端 “微分分量接通”被置位时,D 分量被接通。

9

CYCLE

TIME

>=1ms

T#1s

SAMPLE TIME(采样

时间)

块调用之间的时间必须恒定。“采

样时间”输入规定了块调用之间的

时间,应该与 OB35

设定时间保持一致。

10

SP_INT

REAL

-100.0 至 +100.0(%)

或者物理值 1

0.0

INTERNALSETPOINT

(内部设定点) “内部设定点”输入端用于确定设定值。

11

PV_IN

REAL

-100.0 至 +100.0(%)

或者物理值 1

0.0

PROCESSVARIABLE

IN(过程变量输入)

可以设置一个初始值到“过程变量输

入”输入端或者连接一个浮点数格式的外部过程变量。

12

PV_PER

WORD

W#16#0000

PROCESS VARIABLE

PERIPHERY(过程变量外设)

外围设备的实际数 值,通过I/O 格式的过程变量被连接到“过

程变量外围设备”输入端,连接到控制器

13

MAN

REAL

-100.0 至 +100.0(%)

或者物理值 2

0.0

MANUAL VALUE(手

动数值)

“手动数值”输入端可以用于通过操作者接口功能设置一个手动数值。

14

GAIN

REAL

2.0

PROPORTIONAL

GAIN(比例增益) “比例增益”输入端可以设置控制器的比例增益系数。

15

TI

TIME

>=CYCLE

T#20s

RESET TIME(复位

时间)

“复位时间”输入端确定了积分器的时间响应。

16

TD

TIME

>=CYCLE

T#10s

DERIVATIVE TIME

(微分时间) “微商时间”输入端确定了微商单元的时间响应。

17

TM_LAG

TIME

>=(CYCLE/2)

T#2s

TIME LAG OF THE DERIVATIVE

ACTION(微分分量的滞后时间)

微商操作的算法包括一个时间滞后,可以被赋值给“微分分量的滞后时间”输入端上。

18

DEADB_W

REAL

>=0.0(%)或者物理值1

0.0

DEAD BAND WIDTH

(死区宽度)

死区用于存储错误。“死区宽度”输入端确定了死区的容量大小。

19

LMN_HLM

REAL

LMN_LLM 至

100.0(%)或者物理值

2

100.0

MANIPULATED ALUE HIGH

LIMIT( 受控数值的上限)

受控数值必须设定有一个“上限”和一个“下限”。“受控数值上限”输入端确定了“上极限”。

20

LMN_LLM

REAL

-100.0(%)至

LMN_HLM 或者物理值 2

0.0

MANIPULATED VALUE LOW

LIMIT(受控数值的下限)

受控数值必须设定有一个“上限”和一个“下限”。“受控数值下限”输入端确定了“下极限”。

21

PV_FAC

REAL

1.0

PROCESS VARIABLE FACTOR

(过程变量系数) “过程变量系数”输入端用于和过程

变量相乘。该输入端

可以用于匹配过程变

量范围。

22

PV_OFF

REAL

0.0

PROCESSVARIABLE

OFFSET(过程变量偏移量)

“过程变量偏移”输入端可以添加到“过程变量”。该输入端可以用于匹配过程变量的范围。

23

LMN_FAC

REAL

1.0

MANIPULATED VALUE FACTOR(受

控数值系数) “受控数值系数”输入端用于与受控数值相乘。该输入端可以用于匹配受控数值的范围。

24

LMN_OFF

REAL

0.0

MANIPULATED

VALUE(受控数值的偏移量)

“受控数值的偏移 量”可以与受控数值相加。该输入端可以用于匹配受控数值的范围。

25

I_ITLVAL

REAL

-100.0 至+100.0(%)

或者物理值 2

0.0

INITIALIZATION VALUE OF THE INTEGRAL-ACTION

(积分分量初始化值)

积分器的输出可以用输入端 “I_ITL_ON” 设置。初始化数值可以设为“积分分量初始值”输入。

26

DISV

REAL

-100.0 至+100.0(%)

或者物理值 2

0.0

DISTURBANCE

VARIABLE(干扰变量)

对于前馈控制,干扰

变量被连接到“干扰

变量”输入端。

“设定值通道”和“过程变量通道”中的参数,应该有相同的单位。例如, 如果使用 PV_IN 作为“过程物理值”或者“过程物理值百分比”,SP_INT 必须使用相应相同的单位;如果使用 PV_PER 作为外围设备的实际数值, SP_INT 只能使用“-100.0 至 +100.0(%)”作为设定值。如果设定值是SP_INT 是 0~10Mpa 中的 8Mpa,那么需要填写 0.8,PV_PER 填写硬件外设地址 IW XXX;受控量通道中的参数应该有相同的单位。输出参数

下表列出 SFB 41/FB 41“CONT_C”输出参数的说明:

序号

参数

数据类型

数值范围

缺省

说明

1

LMN

REAL

0.0

MANIPULATED

VALUE(受控数值) 有效的受控数值被以浮点数格式输出在“受控数值”输出端上。

2

LMN_PER

WORD

W#16#0000

MANIPULATEDVALUE

PERIPHERY(受控数值外围设备)

I/O格式的受控数值被连接到“受控数值外围设备”输出端上的控制

器。

3

QLMN_HLM

BOOL

FALSE

HIGH LIMIT OF MANIPULATED

VALUE REACHED

(达到受控数值上限) 受控数值必须规定一个

最大极限和一个最小极限。“达到受控数值上限”指示已超过最大极限。

4

QLMN_LLM

BOOL

FALSE

LOW LIMIT OF MANIPULATED VALUE REACHED

(达到受控数值下限) 受控数值必须规定一个最大极限和一个最小极限。“达到受控数值下

限”指示已超过最小极限。

5

LMN_P

REAL

0.0

PROPORTIONALITY COMPONENT(比例

分量)

“比例分量”输出端输出受控数值的比例分 量。

6

LMN_I

REAL

0.0

INTEGRAL COMPONENT(积分

分量)

“积分分量”输出端输出受控数值的积分分 量。

7

LMN_D

REAL

0.0

DERIVATIVE COMPONENT(微分

分量)

“微商分量”输出端输出受控数值的微商分 量。

8

PV

REAL

0.0

PROCESS VARIABLE

(过程变量)

有效的过程变量在“过程变量”输出端上输 出。

9

ER

REAL

0.0

ERROR SIGNAL(误

差信号)

有效误差在“误差信号”输出端输出。

步进控制功能 SFB 42/FB 42“CONT_S”简介

SFB/FB“CONT_S”(步进控制器)用在 SIMATIC S7 可编程控制器上,用于二进制数控数值输出信号积分执行机构的控制技术过程。在参数赋值过程中,你可以激活或取消 PI 步进控制器的子功能,以使控制器与过程匹配。通过参数赋值工具,可以很容易地做到这一点。调用: Start > SIMATIC > STEP 7 > PID Control Parameter Assignment(如图)。在线电子手册,见 Start > SIMATIC > Documentation > English> STEP 7 – PID Control

(如图)。

应用程序

你可以使用该控制器作为单独的 PI 固定设定值控制器,或者在辅助控制循环(第二级闭环)中作为级联控制器、混合控制器或者比例控制器使用,但是不能用作主控制器(第一级调节器)。控制器的功能根据采样控制器的 PI 控制算法实现,由模拟执行信号生成二进制输出信号。

下列功能适用于 CPU 314 IFM 的 FB V1.5 或 V1.1.0 以上版本:

利用 TI = T#0 ms,可以封锁调节器的积分分量。因此,允许功能块用作比例(P)控制器。

由于控制器不使用任何位置反馈信号,内部计算的受控变量将不能准确地匹配信号控制元件的位置。如果受控变量(ER*GAIN)为负值,应进行调整。然后调节器置位输出端QLMNDN(受控量信号低),直到 LMNR_LS(位置反馈信号下限)被置位。

控制器还可以在一个控制器级联中用作一个辅助控制器(第二个执行器)。设定点输入端“SP_INT”用于赋值控制元件的位置。在这种情况下,实际数值输入和参数“TI(积分时间)”必须被设置为“0”。一个应用实例:通过电控阀瓣控制温度,即是借助二进制脉冲数值输出信号来控制热量输出的温度调节和利用阀门控制制冷容量。在这种情况下,为了全部关闭阀门,受控变量(ER*GAIN)应该有一个负值。

说明

除了过程数据通道的功能外,SFB/FB“CONT_S”(步进控制器)可以使用一个数字受控 数值输出和手动影响控制数值选项,来实现一个完整的 PI 控制器。步进控制器不使用位置反馈信号。限位信号可以用于限制脉冲输出。下面你可以找到详细的子功能说明:

设定点操作

设定点以浮点数格式在“SP_INT”输入端上输入。

实际数值操作

过程变量可以在外围设备(I/O)或浮点数格式输入。“CRP_IN”功能可以将“PV_PER”外围设备数值转换为一个浮点数格式的数值,在 –100 和+100 % 之间,转换公式如下:

CPR_IN 的输出=PV_PER x100/27648

“PV_NORM”功能可以根据下述公式标准化“CRP_IN”的输出: PV_NORM 的输出 = (CPR_IN 的输出) x PV_FAC + PV_OFF PV_FAC 的缺省值为“1”,PV_OFF 的缺省值为“0”。

变量“PV_FAC”和“PV_OFF”为下述公式转化的结果:

PV_OFF = (PV_NORM 的输出) - (CPR_IN 的输出)x PV_FAC PV_FAC =((PV_NORM 的输出) - PV_OFF)/(CPR_IN 的输出)

负偏差计算

设定点和实际数值之间的区别便形成负值偏差。为了抑制由于受控变量的量化 造成的小的、恒定的振荡(例如,由于执行机构阀门引起的受控数值的波动),为负偏差设置了一个死区(DEADBAND)。如果 DEADB_W = 0,则死区将被关闭。

PI 步进算法

SFB/FB“CONT_S”(步进控制器)不使用位置反馈信号。PI 算法的积分操作和假定位置反馈信号都在积分器(INT)中计算,并作为一个反馈值与剩余 P 操作进行比较。比较差被用于一个三步元件(THREE_ST)和一个脉冲发生器(PULSEOUT),以生成执行机构的控制脉冲。控制器的开关频率可以通过在三步元件上采用阈值控制来减少。

前馈控制

一个干扰变量被引入“DISV”输入端。

初始化操作

SFB/FB“CONT_S”(步进控制器)有一个初始化程序,可以在输入参数 COM_RST = TRUE 置位时运行。所有其它输出端都设置为其缺省值。

出错信息

故障输出参数 RET_VAL 不使用。

SFB/FB“CONT_S”(步进控制器)块图

如图 14

图 14

输入参数

SFB 42/FB 42“CONT_S”(如图 15)

图 15

下表列出 SFB 42/FB 42“CONT_S”输入参数的说明:

序号

参数

数据类型

数值范围

缺省

说明

1

COM_RST

BOOL

FAULSE

COMPLETE RESTART(完全再起动)。

该块有一个初始化程序,可以在输入参 数 COM_RST 置位时运行。

2

LMNR_HS

BOOL

FALSE

HIGH LIMIT OF POSITION FEEDBACK

SIGNAL(位置反馈信号上限) “执行器在上限 停”信号连接到 “位置反馈信号上限”输入端。LMNR_HS =

TRUE 表示执行器处于最大上限。

3

LMNR_LS

BOOL

FALSE

LOW LIMIT OF POSITION FEEDBACK

SIGNAL(位置反馈信号下限)

“执行器在下限 停”信号连接到 “位置反馈信号下限”输入端。LMNR_LS =

TRUE 表示执行器处于最大下限。

4

LMNS_ON

BOOL

TRUE

MANUAL ACTUATING SIGNALS ON(手

动执行信号接通) 通过“手动执行信号接通”执行信号

处理切换为手动模

式。

5

LMNUP

BOOL

FALSE

ACTUATING SIGNALS UP(执

行信号上升)

通过手动执行信号,输出信号“QLMNUP”在

“执行信号上升

沿”输入被置位。

6

LMNDN

BOOL

FALSE

ACTUATING SIGNALS DOWN

(执行信号下降)

通过手动执行信号,输出信号“QLMNDN”在

“执行信号下降

沿”输入被置位。

7

PVPER_ON

BOOL

FALSE

PROCESS VARIABLE PERIPHERY

ON(过程变量外设接通)

如果从 I/O 读取过程变量,输入端“PV_PER”必须连接到外围设备, 并且输入端

“PROCESS VARIABLE

PERIPHERY

ON”必须置位。

8

CYCLE

TIME

>=1 ms

T#1s

SAMPLING TIME

(采样时间)

块调用之间的时间必须恒定。“采

样时间”输入端规定了块调用之间的

时间。

9

SP_INT

REAL

-100.0 至+100.0(%)或

物理值 1

0.0

INTERNAL SETPOINT(内部

设定值)

“内部设定值”输入用于确定一个

设定值。

10

PV_IN

REAL

-100.0 至+100.0(%)或

物理值 1

0.0

PROCESS VARIABLE IN(过

程变量输入)

可以设置一个初始值到“过程变量输入”输入端或者连接一个浮点数格式的外部过程变量。

11

PV_PER

WORD

W#16#0000

PROCESS VARIABLE PERIPHERY(过

程变量外设)

I/O 格式的过程变量被连接到调节器

的“过程变量外围

设备”输入端。

12

GAIN

REAL

2.0

PROPORTIONAL

GAIN(比例增益)

“比例增益”输入端设置控制器的增益。

13

TI

TIME

>=CYCLE

T#20s

RESET TIME(复

位时间)

“复位时间”输入端确定了积分器的

时间响应。

14

DEADB_W

REAL

0.0 至+100.0(%)或物理

值 1

1.0

DEAD BAND

WIDTH(死区宽度)

死区用于误差。 “死区宽度”用于确定死区的大小。

15

PV_FAC

REAL

1.0

PROCESS VARIABLE

FACTOR(过程变量系数)

“过程变量系数” 输入用于和过程变量相乘。该输入可以用于匹配过程变量的范围。

16

PV_OFF

REAL

0.0

PROCESS VARIABLE

OFFSET(过程变量偏移量)

“过程变量偏移” 输入端与过程变量相加。该输入端用于匹配过程变量的范围。

17

PULSE_TM

TIME

>=CYCLE

T#3 s

MINIMUM PULSE

TIME(最小脉冲时间)

最小脉冲宽度可以使用参数“最小

脉冲时间”赋值。

18

BREAK_TM

TIME

>=CYCLE

T#3 s

MINIMUM BREAK

TIME(最小间隔时间)

最小脉冲间隔时间可以使用参数“最小间隔时间”赋 值。

19

MTR_TM

TIME

>=CYCLE

T#30 s

MOTOR MANIPULATED

VALUE(电动执行时间)

执行机构从一个限幅位置移动到另

一个限幅位置所需的时间,可以在参

数“电动执行时

间”参数中输入。

20

DISV

REAL

-100.0 至+100.0(%)或

物理值 2

0.0

DISTURBANCE VARIABLE(干扰

变量)

对于前馈控制,干扰变量连接到输入端“干扰变量”。

“设定值通道”和“过程变量通道”中的参数,应该有相同的单位;受控量通道中的参数应该有相同的单位。输出参数

下表列出 SFB 42/FB 42“CONT_S”输出参数的说明:

序号

参数

数据类型

数值范围

缺省

说明

1

QLMNUP

BOOL

FALSE

ACTUATING SIGNAL UP(执

行信号上升)

如果输出端“执行信号上升”被置 位,那么执行阀是打开的。

2

QLMNDN

BOOL

FALSE

ACTUATING SIGNAL DOWN

(执行信号下降) 如果输出端“执行信号下降”被置 位,那么执行阀是

打开的。

3

PV

REAL

0.0

PROCESS VARIABLE(过程

变量)

有效的过程变量是在“过程变量”输出端输出。

4

ER

REAL

0.0

ERROR SIGNAL

(负偏差信号) 有效的负偏差数值在“负偏差信号”

输出端输出。

脉冲宽度调制器 SFB 43/FB 43“PULSEGEN”简介

SFB/FB“PULSEGEN”(脉冲发生器)可以用于为 PID 控制器使用比例执行机构的脉冲输出。在线电子手册,见 Start > SIMATIC > Documentation > English> STEP 7 – PID Control

(见图)。

应用程序

使用 SFB/FB“PULSEGEN” (脉冲发生器),可以通过脉冲宽度调制,组态 PID 两步或三级控制器。该功能一般与连续控制器 SFB/FB “CONT_C”一起使用。(如图 16)

图 16

说明

功能“PULSEGEN”可以通过调制脉冲宽度,将输入变量“INV”(= PID 控制器的 LMN)转换为一个恒定周期的脉冲串,该恒定周期相当于输入变量刷新的循环时间,必须在“PER_TM”中赋值。

每个周期的脉冲宽度与输入变量成正比。“PER_TM”中的循环时间与 SFB/FB “PULSEGEN”的处理时间不同。“PER_TM”循环时间由多个 SFB/FB“PULSEGEN”执行循环之和。因此,每个“PER_TM”循环的 SFB/FB“PULSEGEN”调用次数是脉冲宽度,可以精确测量脉冲宽度。最小受控数值在参数“P_B_TM”中确定。(如图 17)

图 17

脉冲宽度调制

输入变量 30%以及每个 PER_TM 循环时间调用 SFB/FB“PULSEGEN”10 次,含义如下:

对于前三个 SFB/FB“PULSEGEN”(10 次调用的 30 %),输出“QPOS”为“1”对于其余 7 个 SFB/FB“PULSEGEN”(10 次调用的 70 %),输出“QPOS”为“0”SFB/FB“PULSEGEN”块图

如图 18。

图 18

受控数值的精度

如果“采样频率比例”为 1:10(“CONT_C”调用与“PULSEGEN”调用之比), 那么在这个例子中受控数值的精度降低为 10 %。换句话说,设定的输入数值“INV”只能在“QPOS” 输出端上以“10%”的步长转换成脉冲宽度。

只有当每次“CONT_C”调用中“PULSEGEN”调用的次数增加时,才能提高精度。

例如,如果每个“CONT_C”调用的“PULSEGEN”调用次数为 100,受控数值的分辨率将达到 1%(建议分辨率<= 5 %)。

注意

“采样频率比例”必须由用户编程。

自动同步

可以使刷新输入变量“INV” 的块(例如,“CONT_C”),与脉冲输出自动同步。这就保证了输入变量中的一个变化可以尽可能快地输出为一个脉冲。

脉冲发生器可以根据“PER_TM”的周期为时间间隔,定期评价输入数值“INV”,并将该数值转换为相应长度的脉冲信号。

但是,由于“INV”一般在较慢的循环中断级中计算,所以脉冲发生器应在“INV”刷新后尽可能快地将具体数值转换为一个脉冲信号。

为此,块必须使用下述程序对周期的起点同步:

如果“INV”变化,并且块调用不在一个周期的第 1 个或最后两个调用循环中,可以进行同步。将重新计算脉冲宽度,并在下一个循环中输出一个新的周期。(如图 19)

图 19

自动同步可以根据“SYN_ON”(= FALSE)输入关闭。注意

在一个周期的开始,“INV”(即 LMN)的先前数值的映像将被或多或少的混合到脉冲信号中。

PID 控制器输出工作模式

根据脉冲发生器所赋值的参数,可以将 PID 调节器组态成具有一个三级输出或者一个两向或单向的两极输出 PID 控制器。下表所示为可能模式的开关组合设置:

模式

MAN_ON

STEP3_ON

ST2BI_ON

三级调节

FALSE

TRUE

ANY

两级调节,带双向调节区(-100%…+100%)

FALSE

FALSE

TRUE

两级调节,带单向调节区(0…+100%)

FALSE

FALSE

FALSE

手动模式

TRUE

ANY

ANY

三级控制

在“三级控制”模式下,可以生成控制信号的三种状态。二进制输出信号“QPOS_P”和“QNEG_P”的数值可以赋值给执行机构的状态。

下表所示为一个温度控制的例子:

输出信号

加热

执行器关闭

制冷

QPOS_P

TRUE

FLASE

FLASE

QNEG_P

FLASE

FLASE

TRUE

根据输入变量,使用一个特性曲线可以计算脉冲宽度。特性曲线的形状取决于最小脉冲时间或最大中断时间和比例系数。

比例系数的正常值为“1”。

曲线中的“拐点”是由于最小脉冲时间或最小中断时间造成的。最小脉冲或最小间隔时间

正确赋值最小脉冲或最小中断时间“P_B_TM”,可以防止短促的开断时间,降低开关元件和

执行机构的使用寿命。 注意

否则,会删除可以生成一个短于“P_B_TM”脉冲宽度的输入变量“LMN”的较小绝对值。可以生成脉冲宽度大于“PER_TM-P_B_TM”的较大输入值被设置为 100 % 或 -100 %。

正脉冲宽度和负脉冲宽度可以根据输入变量(单位[%])和周期时间相乘进行计算。脉冲周期=INV / 100 x PER_TM

下图(如图 20)所示为一个三级控制器的系统曲线(比例系数=1):

图 20

使用比例系数“RATIOFAC”,可以改变正脉冲宽度和负脉冲宽度之比。例如,对于热处理, 这可用于使用不同的时间常数加热和冷却执行机构。

比例系数也会影响最小脉冲/暂停周期。比例系数< 1 意思是指负脉冲的阈值乘以比例系数。比例系数 < 1

通过输入数值乘以脉冲周期所计算的比例系数,可以减少负脉冲输出的脉冲周期。正脉冲周期= INV/100 x PER_TM

负脉冲周期= INV/100 x PER_TM x RATIOFAC

下图(如图 21)所示为一个三级控制器的系统曲线(比例系数=0.5):

图 21

比例系数 > 1

通过输入数值乘以脉冲周期所计算的比例系数,可以减少正脉冲输出的脉冲周期。负脉冲周期=INV/100 x PER_TM

正脉冲周期=INV/100 x PER_T/ RATIOFAC

二级控制

对于二级控制,只能将 PULSEGEN 的正脉冲输出“QPOS_P”连接到 I/O 执行机构。根据所使用的受控数值范围,二级控制器可以有一个双极或单极受控数值范围。

6.3.3.5.2.1 两级调节,带双向调节区(-100%…+100%)

图 22

6.3.3.5.2.2 两级调节,带单向调节区(0…+100%)

图 23

如果控制循环中二级控制器的连接需要一个执行脉冲的逻辑转换二进制信号,可以在“QNEG_P”将输出信号进行“非”运算。

脉冲

执行机构打开

执行机构关闭

QPOS_P

TRUE

FALSE

QNEG_P

FALSE

TRUE

二级控制或三级控制中的手动模式

在手动模式(MAN_ON = TRUE)中,三级控制器或二级控制器的二进制输出可以使用信号“POS_P_ON”和“NEG_P_ON”以及“INV”进行设置。

POS_P_ON

NEG_P_ON

QPOS_P

QNEG_P

三级调节

FALSE

FALSE

FALSE

FALSE

TURE

FALSE

TRUE

FALSE

FALSE

TRUE

FALSE

TRUE

TRUE

TRUE

FALSE

FALSE

二级调节

FALSE

Any

FALSE

TRUE

TRUE

Any

TRUE

FALSE

初始化

SFB“PULSGEN”有一个初始化程序,可以在输入参数 COM_RST = TRUE 置位 时运行。所有信号都被设置为“0”。

出错信息

故障输出参数 RET_VAL 不使用。

输入参数

SFB 43/FB 43“PULSEGEN”(如图 24)

图 24

下表列出 SFB 43/FB 43“PULSEGEN”输入参数的说明:

序号

参数

数据类型

数值范围

缺省

说明

1

INV

REAL

-100.0...100.0 (%)

0.0

INPUT VARIABLE

(输入变量)

模拟受控量连接到输入参数“输入变量”

对于RATIOFAC <1

的三级控制

对于RATIOFAC >1

的三级控制

对于双极二级控制对于多极二级控制

2

PER_TM

TIME

>=20*CYCLE

T#1s

PERIOD TIME(周期

时间)

脉冲宽度调制的恒定周期可以使用该输入参数输入。这相当于“CONT_C”控制器的采样时间。脉冲发生器的采样时间和“CONT_C”控制器的采样时间之比决定了脉冲宽度调制的精度。

3

P_B_TM

TIME

>= CYCLE

T#0ms

MINIMUM PULSE/BREAK TIME

(最小脉冲/间隔时间)

最小脉冲时间或最小中断时间可以使

用输入参数“最小脉

冲/间隔时间”赋值。

4

RATIOFAC

REAL

0.1 ...10.0

1.0

RATIO FACTOR(比

例系数)

输入参数“比例系 数”可以用于改变正脉冲宽度和负脉冲宽度之比。例如,在热处理中,这可用于补偿加热和冷却的不同时间常数(例如,电加热和水冷过程)。

5

STEP3_ON

BOOL

TRUE

THREE STEP CONTROL ON(三级

调节接通)

该输入参数激活“三级调解”。在三级调节中,两路输出信

号都被激活。

6

ST2BI_ON

BOOL

FALSE

TWO STEP CONTROL FOR BIPOLAR MANIPULATED VALUE RANGE ON

(两极调节,双向受控量范围接通。)

用于双极受控数值范围打开的二级控制。你可以在“双极受控数值”和“多极受控数值范围的二级控 制”模式之间选择。此时,STEP3_ON =

FALSE。

7

MAN_ON

BOOL

FALSE

MANUAL MODE ON

(手动模式接通)

通过设置该输入参 数,可以手动设置输出信号。

8

POS_P_ON

BOOL

FALSE

POSITIVE PULSE

ON(正脉冲接通)

在三级控制的手动模式中,输出信号“QPOS_P”可以使用该输入参数进行控制。在二级控制的手动 模 式 中 , “QNEG_P”必须设置为“QPOS_P”相反。

9

NEG_P_ON

BOOL

FALSE

NEGATIVE PULSE

ON(负脉冲接通)

在三级控制的手动模式中,输出信号“QNEG_P”可以使用该输入参数进行控制。在二级控制的手动 模 式 中 , “QNEG_P”必须设置为“QPOS_P”相反。

10

SYN_ON

BOOL

TRUE

SYNCHRONIZATION

ON(同步接通)

通过设置该输入参

数,可以自动与刷新输入变量“INV”的块进行同步操作。这可保证输入变量中的一个变化可以尽可能快地输出为一个脉冲。

11

COM_RST

BOOL

FALSE

COMPLETE

RESTART(完全再起动)。

该块有一个初始化程序,可以在输入参数COM_RST 置位时运行。

12

CYCLE

TIME

>= 1ms

T#10ms

SAMPLING TIME

(采样时间)

块调用之间的时间必须恒定。该 输入参数规定了块调用之间

的时间。

输入参数的数值在块中没有限制。没有参数检查。

输出参数

下表列出 SFB 43/FB 43“PULSEGEN”输出参数的说明:

序号

参数

数据类型

数值范围

缺省

说明

1

QPOS_P

BOOL

FALSE

OUTPUT POSITIVE PULSE

(输出正脉冲)

如果有脉冲输出, 输出参数 “输出正脉冲”被置位。

在三级调节中总是

正脉冲输出。在两级 调 节 中 , QNEG_P 总是与QPOS_P 反向。

2

QNEG_P

BOOL

FALSE

OUTPUT NEGATIVE PULSE

(输出负脉冲)

如果有脉冲输出, 输出参数 “输出负脉冲”被置位。在三级调节中总是负脉冲输出。在两级 调 节 中 , QNEG_P 总是与QPOS_P 反向。

标签: #什么是数字pid位置型控制算法