用Step7实现PID控制.docx

上传人:b****6 文档编号:4424572 上传时间:2022-12-01 格式:DOCX 页数:60 大小:672.58KB
下载 相关 举报
用Step7实现PID控制.docx_第1页
第1页 / 共60页
用Step7实现PID控制.docx_第2页
第2页 / 共60页
用Step7实现PID控制.docx_第3页
第3页 / 共60页
用Step7实现PID控制.docx_第4页
第4页 / 共60页
用Step7实现PID控制.docx_第5页
第5页 / 共60页
点击查看更多>>
下载资源
资源描述

用Step7实现PID控制.docx

《用Step7实现PID控制.docx》由会员分享,可在线阅读,更多相关《用Step7实现PID控制.docx(60页珍藏版)》请在冰豆网上搜索。

用Step7实现PID控制.docx

用Step7实现PID控制

 

用Step7中SFB41/FB41,SFB42/FB42,SFB43/FB43实现PID控制

 

SLCA&DCS

May2004

 

目录

1概述3

1.1应用4

1.2控制系统分析4

2PID系统控制器的选择8

2.1连续控制器、开关控制器8

2.2固定值控制器9

2.3级联控制器9

2.4混合控制器9

2.5比例控制器10

2.5.1单循环比例控制器10

2.5.2多循环比例控制器10

2.6二级控制器10

2.7三级控制器11

3布线11

3.1布线规则11

3.1.1连接电缆11

3.1.2屏蔽端接元件11

3.1.3警告11

3.1.4其它信息11

4参数赋值工具介绍11

4.1调试PID参数的用户界面12

4.2获取在线帮助的途径13

5在用户程序中实现13

5.1调用功能块13

5.2背景数据块14

5.3程序结构14

6功能块介绍14

6.1连续调节功能SFB41/FB41“CONT_C”14

6.1.1简介14

6.1.2应用程序15

6.1.3说明15

6.2步进控制功能SFB42/FB42“CONT_S”27

6.2.1简介27

6.2.2应用程序27

6.2.3说明27

6.3脉冲宽度调制器SFB43/FB43“PULSEGEN”37

6.3.1简介37

6.3.2应用程序37

6.3.3说明37

7功能块举例50

1概述

本文中所讨论的功能块(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兼容,可以用于CPU313C、CPU313C-2DP/PTP和CPU314C-2DP/PTP中。

1.1应用

借助于由你组态大量模块组成的控制器,可以完成带有PID算法的实际控制器。

控制效率,即处理速度取决于你所使用的CPU性能。

对于给定的CPU,必须在控制器的数量和控制器所需要执行频率之间找到一个折衷方案。

连接的控制电路越快,所安装的控制器数量越少,则每个时间单位计算的数值就越多。

对于控制过程的类型没有限制。

较慢(温度、填料位,等)以及较快的控制系统(流量、速度,等)都可以控制。

1.2控制系统分析

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

因此,熟练掌握控制系统的类型和特性非常重要。

(如图1,图2,图3,图4)

图1

图2

图3

图4

2PID系统控制器的选择

控制系统的属性由技术过程和机器条件决定。

因此,为了获得良好的控制效果,你必须选择最适用的系统控制器。

2.1连续控制器、开关控制器

∙连续控制器,输出一个线性(模拟)数值。

∙开关控制器,输出一个二进制(数字)数值。

2.2固定值控制器

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

2.3级联控制器

级联控制器,控制器串行连接控制。

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

一个级联控制器的控制性能可以使用其它的过程变量加以改进。

为此,可以为主控制变量添加一个辅助过程变量PV2(主控制器SP2的输出)。

主控制器可以将过程变量PV1施加给设定点SP1,并且可以调整SP2,以便尽可能快地到达目标,而没有过调节。

(如图5)

图5

2.4混合控制器

混合控制器是指根据每个被控组件所需要的设定点总数量,来计算总SP数量的一种控制结构。

在此,混合系数FAC的和必须为“1”。

(如图6)

图6

2.5比例控制器

2.5.1单循环比例控制器

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

(例如,速度控制)。

(如图7)

图7

2.5.2多循环比例控制器

对于多循环比例控制,两个过程变量PV1和PV2之比保持为常数。

因此,可以使用第一个控制循环的过程数值,来计算第二个控制循环的设定点。

对于过程变量PV1的动态变化,也可以保证保持特定的比例。

(如图8)

图8

2.6二级控制器

一个二级控制器只能采集两个输出状态(例如,开和关)。

典型的控制为:

一个加热的系统,通过继电器输出的脉冲宽度调制。

2.7三级控制器

一个三级控制器只能采集到三个具体的输出状态。

我们需要区分:

“脉冲宽度调制”(例如,加热-冷却,加热-关机-冷却)和“使用集成执行机构的步进控制”(例如,左-停止-右)之间的区别。

3布线

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

3.1布线规则

3.1.1连接电缆

∙对于数字I/O,如果线路有100米长,必须使用屏蔽电缆;

∙电缆屏蔽时必须在两端进行接地;

∙软电缆的截面积选择0.25…1.5mm2;

∙无需选择电缆套。

如果决定选择使用电缆套,你可以使用不带绝缘套圈的电缆套(DIN46228,ShapeA,Shortversion);

3.1.2屏蔽端接元件

∙你可以使用屏蔽端接元件,将所有屏蔽的电缆直接通过导轨连接接地;

∙必须在断电情况下对组件进行接线;

3.1.3警告

∙带电作业会有生命危险。

∙如果你带电对组件的前插头进行接线,会有触电危险!

3.1.4其它信息

∙其他注意事项可参见手册“CPU数据”手册以及CPU的安装手册。

4参数赋值工具介绍

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

4.1调试PID参数的用户界面

在Windows操作系统中,调用“调试PID参数用户界面”的操作过程如下:

Start>SIMATIC>STEP7>PIDControlParameterAssignment(如图9)。

图9

∙在最开始的对话框中,你既可以打开一个已经存在的FB41/SFB41“CONT_C”或者FB42/SFB42“CONT_S”的背景数据块。

也可以生成一个新的数据块,再可以分配给FB41/SFB41“CONT_C”或者FB42/SFB42“CONT_S”,作为背景数据块。

(如图10)

图10

∙FB43/SFB43“PULSEGEN”没有参数设置的用户界面工具。

你必须在STEP7中去设置它的参数。

4.2获取在线帮助的途径

当分配参数给FB41/SFB41“CONT_C”、FB42/SFB42“CONT_S”或者FB43/SFB43“PULSEGEN”时,你可以通过以下三条途径获得帮助:

∙使用Step7菜单Help>Contents,获得相应的帮助信息;

∙通过按下F1键得到帮助;

∙在PID参数设置对话框中,通过点击Help,可以得到具体的帮助信息。

5在用户程序中实现

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

5.1调用功能块

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

举例:

CALLSFB41,DB30(或者,CALLFB41,DB31)

5.2背景数据块

系统功能块的参数将保存在背景数据块中。

在第6章中将阐述这些参数。

你可以通过以下方式访问这些参数

∙DB编号和偏移地址

∙数据块编号和数据块中的符号地址

5.3程序结构

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

模式:

∙OB100CallSFB/FB41、42、43,DB30

∙OB35CallSFB/FB41、42、43,DB30

6功能块介绍

6.1连续调节功能SFB41/FB41“CONT_C”

6.1.1简介

SFB/FB“CONT_C”(连续控制器)用于使用连续的I/O变量在SIMATICS7控制系统中控制技术过程。

你可以通过参数打开或关闭PID控制器,以此来控制系统。

通过参数赋值工具,可以很容易地做到这一点。

调用:

Start>SIMATIC>STEP7>PIDControlParameterAssignment(如图)。

在线电子手册,见Start>SIMATIC>Documentation>English>STEP7–PIDControl(如图11)。

图11

6.1.2应用程序

你可以使用控制器作为单独的PID定点控制器或在多循环控制中作为级联控制器、混合控制器和比例控制器使用。

控制器的功能基于带有一个模拟信号的采样控制器的PID控制算法,如果必要的话,可以通过脉冲发送器(PULSEGEN)进行扩展,以产生脉冲宽度调制的输出信号,来控制比例执行机构的两个或三个步进控制器。

6.1.3说明

除了设定点操作和过程数值操作的功能以外,SFB41/FB41(CONT_C)可以使用连续的变量输出和手动影响控制数值选项,来实现一个完整的PID控制器。

下面是关于SFB41/FB41(CONT_C)详细的子功能说明:

6.1.3.1设定点操作

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

6.1.3.2实际数值操作

过程变量可以在外围设备(I/O)或者浮点数值格式输入。

“CRP_IN”功能可以将“PV_PER”外围设备数值转换为一个浮点格式的数值,在–100和+100%之间,转换公式如下:

CPR_IN的输出=PV_PERx100/27648

“PV_NORM”功能可以根据下述规则标准化“CRP_IN”的输出:

输出PV_NORM=(CPR_IN的输出)xPV_FAC+PV_OFF

“PV_FAC”的缺省值为“1”,“PV_OFF”的缺省值为“0”。

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

PV_OFF=(PV_NORM的输出)-(CPR_IN的输出)xPV_FAC

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

不必转换为百分比数值。

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

6.1.3.3负偏差计算

设定点和实际数值之间的区别便形成负值偏差。

为了抑制由于被控量的量化引起的小的、恒定的振荡(例如使用PULSEGEN进行脉冲宽度调制),在死区将施加一个死区(DEADBAND)。

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

6.1.3.4PID算法

PID算法作为一种位置算法进行控制。

比例运算、积分运算(INT)和微商运算(DIF)都可并行连接,也可以单独激活或取消。

这就允许组态成P、PI、PD和PID控制器。

也可以是纯I和D调节器。

6.1.3.5手动模式

可以在手动模式和自动模式之间切换。

在手动模式下,被控量被修改成手动选定的数值。

积分器(INT)内部设置为“LMN-LMN_P-DISV”,微商器(DIF)内部设置为“0”,并进行内部匹配。

这就是说切换到自动模式时不会引起被控量的突变。

6.1.3.6受控数值的处理

使用LMNLIMIT功能,受控数值可以被限制为一个所选择的数值。

当输入变量超出极限值时,信号位将指示。

“LMN_NORM”功能可以根据下述公式标准化“LMNLIMIT”的输出:

LMN=(LMNLIMIT的输出)xLMN_FAC+LMN_OFF

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

受控数值也适用于外围设备(I/O)格式。

“CPR_OUT”功能可以将浮点值“LMN”转换为一个外围设备值,转换公式如下:

LMN_PER=LMNx2764/10

6.1.3.7前馈控制

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

6.1.3.8初始化

SFB41/FB41“CONT_C”有一个初始化程序,可以在输入参数COM_RST=TRUE置位时运行。

在初始化过程中,积分器可以内部设置为初始值“I_ITVAL”。

如果在一个循环中断优先级调用它,它将从该数值继续开始运行。

所有其他输出都设置为其缺省值。

6.1.3.9出错信息

故障输出参数RET_VAL不使用。

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

如图12。

图12

6.1.3.11输入参数

SFB41/FB41“CONT_C”(如图13)

图13

下表列出SFB41/FB41“CONT_C”输入参数的说明:

序号

参数

数据类型

数值范围

缺省

说明

1

COM_RST

BOOL

FAULSE

COMPLETERESTART(完全再起动)。

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

2

MAN_ON

BOOL

TRUE

MANUALVALUEON(手动数值接通)

如果输入端“手动数值接通”被置位,那么闭环控制循环将中断。

手动数值被设置为受控数值。

3

PVPER_ON

BOOL

FALSE

PROCESSVARIABLEPERIPHERY

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

如果过程变量从I/O读取,输入

“PV_PER”必须连接到外围设备,

并且输入“PROCESSVARIABLE

PERIPHERYON”必须置位。

4

P_SEL

BOOL

TRUE

PROPORTIONALACTIONON(比例分量接通)

PID各分量在PID算法中可以分别激活或者取消。

当输入端“比例分量接通”被置位时,P分量被接通。

5

I_SEL

BOOL

TRUE

INTEGRALACTIONON(积分分量接通)

PID各分量在PID算法中可以分别激活或者取消。

当输入端“积分分量接通”被置位时,I分量被接通。

6

INT_HOLD

BOOL

FALSE

INTEGRALACTIONHOLD(积分分量保持)

积分器的输出被冻结。

为此,必须置

位输入“IntegralActionHold(积分

操作保持)”。

7

I_ITL_ON

BOOL

FALSE

INITIALIZATIONOFTHEINTEGRAL

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

积分器的输出可以被设置为输入

“I_ITLVAL”。

为此,必须置位输

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

8

D_SEL

BOOL

FALSE

DERIVATIVEACTIONON(微分分量接通)

PID各分量在PID算法中可以分别激活或者取消。

当输入端“微分分量接通”被置位时,D分量被接通。

9

CYCLE

TIME

>=1ms

T#1s

SAMPLETIME(采样时间)

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

“采

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

时间,应该与OB35设定时间保持一致。

10

SP_INT

REAL

-100.0至+100.0(%)或者物理值1

0.0

INTERNALSETPOINT(内部设定点)

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

11

PV_IN

REAL

-100.0至+100.0(%)或者物理值1

0.0

PROCESSVARIABLEIN(过程变量输入)

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

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

12

PV_PER

WORD

W#16#0000

PROCESSVARIABLE

PERIPHERY(过程变量外设)

外围设备的实际数值,通过I/O格式的过程变量被连接到“过程变量外围设备”输入端,连接到控制器

13

MAN

REAL

-100.0至+100.0(%)或者物理值2

0.0

MANUALVALUE(手动数值)

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

14

GAIN

REAL

2.0

PROPORTIONALGAIN(比例增益)

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

15

TI

TIME

>=CYCLE

T#20s

RESETTIME(复位时间)

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

16

TD

TIME

>=CYCLE

T#10s

DERIVATIVETIME(微分时间)

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

17

TM_LAG

TIME

>=(CYCLE/2)

T#2s

TIMELAGOFTHEDERIVATIVE

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

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

18

DEADB_W

REAL

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

0.0

DEADBANDWIDTH(死区宽度)

死区用于存储错误。

“死区宽度”输入端确定了死区的容量大小。

19

LMN_HLM

REAL

LMN_LLM至100.0(%)或者物理值2

100.0

MANIPULATEDALUEHIGH

LIMIT(受控数值的上限)

受控数值必须设定有一个“上限”和一个“下限”。

“受控数值上限”输入端确定了“上极限”。

20

LMN_LLM

REAL

-100.0(%)至LMN_HLM或者物理值2

0.0

MANIPULATEDVALUELOW

LIMIT(受控数值的下限)

受控数值必须设定有一个“上限”和一个“下限”。

“受控数值下限”输入端确定了“下极限”。

21

PV_FAC

REAL

1.0

PROCESSVARIABLEFACTOR(过程变量系数)

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

变量相乘。

该输入端可以用于匹配过程变量范围。

22

PV_OFF

REAL

0.0

PROCESSVARIABLEOFFSET(过程变量偏移量)

“过程变量偏移”输入端可以添加到“过程变量”。

该输入端可以用于匹配过程变量的范围。

23

LMN_FAC

REAL

1.0

MANIPULATEDVALUEFACTOR(受控数值系数)

“受控数值系数”输入端用于与受控数值相乘。

该输入端可以用于匹配受控数值的范围。

24

LMN_OFF

REAL

0.0

MANIPULATEDVALUE(受控数值的偏移量)

“受控数值的偏移量”可以与受控数值相加。

该输入端可以用于匹配受控数值的范围。

25

I_ITLVAL

REAL

-100.0至+100.0(%)或者物理值2

0.0

INITIALIZATIONVALUEOFTHE

INTEGRAL-ACTION(积分分量初始化值)

积分器的输出可以用输入端“I_ITL_ON”设置。

初始化数值可以设为“积分分量初始值”输入。

26

DISV

REAL

-100.0至+100.0(%)或者物理值2

0.0

DISTURBANCEVARIABLE(干扰变量)

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

1)“设定值通道”和“过程变量通道”中的参数,应该有相同的单位。

例如,如果使用PV_IN作为“过程物理值”或者“过程物理值百分比”,SP_INT必须使用相应相同的单位;如果使用PV_PER作为外围设备的实际数值,SP_INT只能使用“-100.0至+100.0(%)”作为设定值。

如果设定值是SP_INT是0~10Mpa中的8Mpa,那么需要填写0.8,PV_PER填写硬件外设地址IWXXX;

2)受控量通道中的参数应该有相同的单位。

6.1.3.12输出参数

下表列出SFB41/FB41“CONT_C”输出参数的说明:

序号

参数

数据类型

数值范围

缺省

说明

1

LMN

REAL

0.0

MANIPULATEDVALUE(受控数值)

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

2

LMN_PER

WORD

W#16#0000

MANIPULATEDVALUE

PERIPHERY(受控数值外围设备)

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

3

QLMN_HLM

BOOL

FALSE

HIGHLIMITOFMANIPULATED

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

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

4

QLMN_LLM

BOOL

FALSE

LOWLIMITOFMANIPULATED

VALUEREACHED

(达到受控数值下限)

受控数值必须规定一个最大极限和一个最小极限。

“达到受控数值下

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

5

LMN_P

REAL

0.0

PROPORTIONALITY

COMPONENT(比例分量)

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

6

LMN_I

REAL

0.0

INTEGRALCOMPONENT(积分分量)

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

7

LMN_D

REAL

0.0

DERIVATIVECOMPONENT(微分分量)

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

8

PV

REAL

0.0

PROCESSVARIABLE(过程变量)

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

9

ER

REAL

0.0

ERRORSIGNAL(误差信号)

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

6.2步进控制功能SFB42/FB42“CONT_S”

6.2.1简介

SFB/FB“CONT_S”(步进控制器)用在SIMATICS7可编程控制器上,用于二进制数控数值输出信号积分执行机构的控制技术过程。

在参数赋值过程中,你可以激活或取消PI步进控制器的子功能,以使控制器与过程匹配。

通过参数赋值工具,可以很容易地做到这一点。

调用:

Start>SIMATIC>STEP7>PIDControlParameterAssignment(如图)。

在线电子手册,见Start>SIMATIC>Documentation>English>STEP7–PIDControl(如图)。

6.2.2应用程序

你可以使用该控制器作为单独的PI固定设定值控制器,或者在

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1