PID算法在PLC模拟量闭环控制中的实现

PID算法在PLC模拟量闭环控制中的实现
PID算法在PLC模拟量闭环控制中的实现

第27卷 第1期2003年1月 信 息 技 术

I NFORMATI ON TECHNOLOGY

VOL.27 NO.1

Jan.2003

PID算法在PLC模拟量闭环控制中的实现

张文庆

(哈尔滨学院,哈尔滨150086)

摘 要:提出了在PLC控制的中小型系统中,用PLC的梯形图来完成变速积分PID算法,实现了对模拟量的闭环控制,给出了程序流程图和梯形图程序。

关键词:PLC;PID;调节器;闭环控制

中图分类号:TP301.6 文献标识码:B 文章编号:1009-2552(2003)01-0041-03

Realization of PID Arithmetic in PLC

Analogue Cosed-loop Control

Zhang Wenqing

(Harbin Institute,Harbin150086,China)

Abstract:This text puts forward a method to realize control of analog measurand in moderate and small closed -loop system by digitizing adjuster,and using PLC echelon chart progra m to achieve shift inte gral PID arith-metic.The method is generally applied to slowly changing process such as humidity,liquid location and etc. with good dynamic performances.Taking panasonic(NAIS)PLC as e xample,the text presents program flow chart and echelon chart program.

Key words:PLC;PI D;Adjuster;Closed-loop control

0 前言

在工业生产过程控制中,模拟量的PID(比例、积分、微分)调节是常见的一种控制方式,这是由于PID调节不需要求出控制系统的数学模型,至今为止,很难求出许多控制对象准确的数学模型,对于这一类系统,使用PID控制可以取得比较令人满意的效果,同时PID调节器又具有典型的结构,可以根据被控对象的具体情况,采用各种PID的变种,有较强的灵活性和适用性。

PLC作为一种新型的工业控制装置,在科研、生产、社会生活的诸多领域得到了越来越广泛的应用。大型的可编程序控制器配备过程控制模块可同时对几十路模拟量进行闭环控制,但造价昂贵。一般中小型PLC控制系统只对一路或几路模拟量进行闭环控制。硬件上只需配备A D及D A转换模块,软件可购买相应厂家提供的PID编程功能模块,只需设定好PID参数,运行PID控制指令,就能求得输出控制值,而厂家一般只提供标准PID算法,灵活性和适应性较差,如根据被控对象的具体情况不同,采用各种PID控制的变种,如积分分离PID、不完全微分PID等则操作上有些困难,这时用户可根据控制的算法,自行设计梯形图程序。

1 PID调节器的特点及数字化

标准的PID控制系统中,由于系统的执行结构线性范围受到限制,当偏差信号较大时,如系统启动、停止、或大幅度波动,由于积分的作用会产生较大的超调量,造成系统性能变差,这种现象对慢过程如湿度、液位等调节更为严重。如能在系统偏差大时将积分的作用减弱,偏差小时将积分的作用加强,这样可以大大提高系统的调节品质,采用变速积分

收稿日期:2002-10-23

作者简介:张文庆(1970-),男,1992年毕业于哈尔滨工程大学,工程师,现为哈尔滨学院物理与应用电子系教师。

41

PID 可以解决这一问题。

一个典型的PLC 模拟量闭环控制系统方框图如图1

图1 PLC 模拟量闭环控制系统

PID 控制的理想微分方程为:p (t )=K p e (t )+1

T

i

0e (t )dt +T d

de (t )d (t )

假设采样周期为T,系统开始运行时刻为t=0

将上式离散化后得

P (n )=K p e (n )+K i

n

j =0

e (j )+K

d

[e (n )-e (n

-1)],P(n)为第n 次采样后计算调节器的输出,e (n),e(n-1)分别是第n 次和第n-1次采样时的误差值,T 为采样周期,n 为采样序号。K i =K p T T i 为积分系数,K d =K p T d T 为微分系数,而变速积分

PID 算式为P (n )=K p e (n )+K i {

n -1

j =0

e (j )

+

f [e (n )]e (n )}+K d [e (n )-e (n -1)],式中在积分项中增加一项f [e (n )],它是e (n )的函数。当e (n )

增大时,f 减小,反之增大。若所设积分变化区间为[A ,B ],其函数关系可设计为

f [e (n )]=

1 |e (n )| B

A -e (n )+

B B <|e (n )| A +B

A

|e (n )|>A +B f 值在0~1之间变化,当偏差大于所给变化区间A+B 后,f=0;小于A+B 后偏差变小,f 增大;当偏差小于B 后,达到最大值1。所以应用变速积分可以完全消除了积分饱和现象,并减少了超调量,使系统易于稳定。

2 PID 运算子程序的编制

变速积分PID 算式简记为:

P (n )=K p e (n )+K i {

n -1

j =0

e (j )+

f [e (n )]e (n )}+

K d [e (n )-e (n -1)]=K p e (n )+K i

n -1

j =0

e (j )+

K i f [e (n )]e (n )+

K d [e (n )-e (n -1)]=

U p (n )+U i 1(n )+U i 2(n )+U d (n )图

2是变速积分PID 控制子程序流程图,采样时间是用PLC 内部定时中断来控制,定时时间到,转入中断服务程序,进行A D 转换,调用PID 运算子程序,并将运算结果送给D A 转换器。如需要,还可增加上下限报警及输出限幅处理等。随着PLC 的发展,指令的执行速度不断加快,数据处理能力不断增强,可选用运算速度较快且具有算术运算等功能的PLC 。为提高其抗干扰性能,还可在A D 转换后填加数字滤波处理程序。子程序1中先乘后除是为了防止运算过程中出现0~1之间的小数。

图2 PID 运算子程序流程图

3 PID 控制梯形图子程序的编制

以松下FP1为例,主程序中用初始化脉冲将调节器的比例系数kP 、调节器的积分时间常数T i 、调节器的微分时间常数T d 、A+B 、B 的值送入PLC 的数据寄存器中,这些参数随不同的控制对象的要求而定。由于中小型PLC 的高级指令系统中一般不提供浮点运算,如遇到小数可采取先扩大N 倍,最后计算结果再缩小N 倍的方法。预留一定数量的数据寄存器用于存放各种数据,或运算处理的中间结果等。每个数据寄存器均为16位。乘法的运算结果可占用相邻的两个数据寄存器。

4 结束语

近年来,PLC 的结构和性能不断改进,随着PLC

42

的性能价格比不断提高,许多小型PLC 具备了过去大型机才具有的运算速度和高级功能,因此已广泛地应用在所有的工业部门,本文所提出的方法具有普遍性,

取自具体的工程实践。

图3 PID 控制梯形子程序

参 考 文 献

[1] 松下电工株式会社.可编程控制器(FP 系列)FP-M FP1编程

手册.

[2] 松下电工株式会社.可编程控制器(FP 系列)FP-M FP1硬件

技术手册.

[3] 朱善君,等.可编程控制系统原理应用维护.北京:清华大学出

版社,1992.

责任编辑:杨立民

(上接第40页)

2.3.3 系统仿真

通常,在正式下载前,设计人员还要对设计的电路进行一些校验工作,这些工作即可通过EDA 的功能仿真和时序仿真工具来完成。本系统在CKC NT,CKDSP 和RE SET 信号的情况下,输出DO D7。由仿真结果可以看出,此设计的各信号的延迟在5ns 左右,基本符合设计指标要求。2.3.4 编程下载

当设计人员确定设计工作已基本成功时,即可通过编程电缆下载数据流来进行硬件验证。验证合格后,总体设计工作即圆满完成。

通过此例的设计流程讲述可知,EDA 技术及其工具在数字电路系统(包括模拟电路系统)中正发挥

着越来越重要的作用,其应用的深度和广度正在向更深层次延伸。

3 结束语

目前,现代集成电路技术的发展使以现场可编程门阵列为代表的大容量可编程逻辑器件的等效门数迅速提高,其规模直逼标准门阵列,达到了系统集成的水平。特别是进入二十世纪90年代后,随着CPLD 、FPGA 等现场可编程逻辑器件的逐渐兴起,VHDL 、Verilog 等通用性好、移植性强的硬件描述语言的普及,ASIC 技术的不断完善,EDA 技术在现代数字系统和微电子技术应用中起着越来越重要的作用。从通常意义上来说,现代电子系统的设计已经再也离不开EDA 技术的帮助了。

责任编辑:杨立民

43

基于PLC的温度PID控制

基于PLC 的温度PID 控制 一、PID 算法 在工业生产过程控制中,模拟量PID (由比例、积分、微分构成的闭合回路)调节是常用的一种控制方法。运行PID 控制指令,S7-200将根据参数表中的输入测量值、控制设定值即PID 参数,进行PID 运算,求得输出控制值。 典型的PID 算法包括三项:比例项、积分项和微分项,即:输出=比例项+积分项+微分项 计算机在周期性地采样并离散化后进行PID 运算,算法如下: ++s d n c n n c n n X c n n i s T T M K SP PV K SP PV M K SP PV T T =?-? ?-+??-()()() c n n K SP PV ?-比例项:() s c n n X i T K SP PV M T ? ?-+积分项:() d c n n s T K SP PV T ? ?-微分项:() 二、PID 控制回路选项 常用的控制回路有PI 、PID 。 (1)如果不需要积分回路(即在PID 运算中无“I ”),则应将积分时间Ti 设为无限大。由于积分项Mx 的初始值,虽然没有积分运算,积分项的数值也可能不为零。(积分时间与积分效果成反比关系) (2)如果不需要微分运算(即在PID 运算中无“D ”),则应将微分时间Td 设定为0.0。(微分时间与微分效果成正比关系) 注:PID 参数设定的原则:先设比例放大系数(比例放大系数越大,回路的调节速度越快,但是比例放大系数过大,也会造成系统不稳定,产生振荡,所以要找一个合适的比例放大系数);再设

积分时间(用来消除余差) 三、回路输入量的转换和标准化 在PLC进行PID控制前,必须将其转换成标准浮点表示法。 (1)将回路输入量数值从16位整数转换成32为浮点数或实数。下列指令说明如何将整数数值转换成实数。 ITD AIW0, AC0 //将输入数值转换成双字 DTR AC0, AC0 //将32位整数转换成实数(0~32000) (2)将实数转换成0.0~1.0之间的标准化数值。 /R 32000.0, AC0 //使累加器中的数值标准化 +R 0.0, AC0 //加偏移量0 MOVR AC0, VD100 //将标准化数值写入PID回路参数表中 四、PID回路输出转换为成比例的整数 程序执行后,PID回路输出0.0~1.0之间的标准化实数数值,必须被转换成16位成比例整数数值,才能驱动模拟输出。 PID回路输出成比例实数数值=(PID回路输出标准化实数值-偏移量)×取值范围 MOVR VD108, AC0 //将PID回路输出送入AC0 *R 32000.0, AC0 //AC0的值乘以取值范围,变成成比例实数数值

PLC闭环控制系统中PID123

引言 在工业生产中,常需要用闭环控制方式来实现温度、压力、流量等连续变化的模拟量控制。无论使用模拟控制器的模拟控制系统,还是使用计算机(包括PLC)的数字控制系统,PID控制都得到了广泛的应用。 PID控制器是比例-积分-微分控制的简称,具有 (1) 不需要精确的控制系统数学模型; (2) 有较强的灵活性和适应性; (3) 结构典型、程序设计简单,工程上易于实现,参数调整方便等优点。积分控制可以消除系统的静差,微分控制可以改善系统的动态相应速度,比例、积分、微分三者有效地结合可以满足不同的控制要求。 2 PLC实现PID的控制方式 2.1 PID过程控制模块 这种模块的PID控制程序是PLC生产厂家设计的,并存放在模块中,用户使用时序要设置一些参数,使用起来非常方便,一个模块可以控制几路甚至几十路闭环回路。 2.2 PID功能指令 现在很多PLC都有供PID控制用的功能指令,如S7-200的PID指令。它们实际上是用于PID控制的子程序,与模拟量输入/输出模块一起使用,可以得到类似于使用PID过程控制模块的效果。 2.3 用自编的程序实现PID闭环控制 有的PLC没有PID过程控制模块和PID控制用的功能指令,有时虽然可以使用PID控制指令,但是希望采用某种改进的PID控制算法。在上述情况下都需要用户自己编制PID控制程序。 3 PLC-PID控制器的实现 本文以西门子S7-200PLC为例,说明PID控制的原理及PLC的PID功能指令的使用及控制功能的实现。3.1 PID控制器的数字化 PLC的PID控制器的设计是以连续系统的PID控制规律为基础,将其数字化写成离散形式的PID控制方程,再跟据离散方程进行控制程序设计。 在连续系统中,典型的PID闭环控制系统如图1所示。图1中sp(t)是给定值,pv(t)是反馈量,c(t)是系统的输出量,PID控制的输入输出关系式为: 式中: M(t)—控制器的输出量,M0为输出的初始值; e(t)=sp(t)-pv(t)-误差信号; K C比例系数; T I-积分时间常数; T D-微分时间常数。

S7-200PLC PID和模拟量

S7-200PLC 模拟量处理&PID汇总 该资料分为两部分,上半部分主要讲了模拟量模块的信号处理和接线方式。下半部分主要讲了PID 参数功能汇总和注意事项,以及某些问题的解决方法。可根据需要看自己需要的那部分资料。 模拟量模块接线和数据处理 。EM235 是最常用的模拟量扩展模块,它实现了4 路模拟量输入和1 路模拟量输出功能。模拟量扩展模块的接线方法,对于电压信号,按正、负极直接接入X+和X-;对于电流信号,将RX 和X+短接后接入电流输入信号的“+”端;未连接传感器的通道要将X+和X-短接。对于某一模块,只能将输入端同时设置为一种量程和格式,即相同的输入量程和分辩率。 224XP自带2路模拟量输入和1路模拟量输出。 224XP模拟量部分的共6个端子,分别是模拟量输出的M、I、V和模拟量输入的M、A+、B+。 输出的M与电源的M等电位,V对M输出0-10VDC,I对M输出0-20mA。但V、I只能使用其一,不能同时使用。 输入的A+对M,B+对M都是输入0-10VDC,两路模拟量输入共用1个M 端子;对应AIW0、AIW2的值是0-32000

0--10V电压信号和4--20mA电流信号举一例: 如下图: 模拟电压输入(电流输入、输出与电压接线相似) 模拟电压输出 224XP没有电流输入端子。如果要输入电流0-20(或4-20)mA,要并联1个电阻,将电流输入转换成电输入。/ CPU 224XP分两种,一是:CPU 224XP DC/DC/DC ;二是:CPU 224XP AC/DC/继电器 模拟量都是:2输入1输出。模拟量输入类型:单端输入;电压范围:±10

PID算法在西门子PLC模拟量闭环控制中的实现

PID算法在西门子PLC模拟量闭环控制中的实现 摘要:本文主要针对PID算法在西门子PLC模拟量闭环控制中的实现展开分析,明确了如何在PLC模拟量闭环控制中更好的应用PID算法,提出了实现的思路和 具体的实现方法,可供今后参考。 关键词:PID算法,西门子,PLC,模拟量,闭环控制 前言 PID算法在西门子PLC模拟量闭环控制中的实现是十分关键的技术工作,一 定要采取更好的实现技术和方法,才能提高其实现的质量和效率,对于其中的关 键环节和技术必须要更加重视。 1、PID控制概述 PID控制是连续系统控制中广泛应用的一种控制方法,由于它结构改变灵活,可根据系统的要求,在常规PID调节的基础上进行多种PID变型控制,如PI、PD 控制,比例PID控制,不完全微分控制,带死区的PID控制等。而且不需要建立 精确的控制系统数学模型,有较强的适应性和灵活性。 我们都知道模拟量是指一些连续变化的物理量。而PLC是由继电器控制电路 引进微处理器技术后发展而来,可以方便、可靠地进行开关量的控制。PLC进行 模拟量控制,需要将模拟量转换成数字量,数字量的本质也就是开关量。经转换 后的模拟量,对有较强信息处理的PLC并不难。 2、PID算法的实现 在模拟量闭环过程控制领域内,扩展模拟量处理模块,如EM231、EM232、EM235,根据PLC提供的PID编程功能模块,只需设定好PID参数,运行PID控 制指令,就能求得输出控制值,实现模拟量闭环控制。 2.1PID算法 在模拟量的控制中,经常用到PID运算来执行PID回路的功能,PID回路指令使这一任务的编程和实现变得非常容易[。 如果一个PID回路的输出M(t)是时间的函数,则可以看作是比例项、积分项 和微分项三部分之和。即: M(t)=Kc*e+Kc∫t00tedt+M0+Kc*de/dt 以上各量都是连续量,第一项为比例项,最后一项为微分项,中间两项为积 分项。其中e是给定值与被控制变量之差,即回路偏差。Kc为回路的增益。用数 字计算机处理这样的控制算式,连续的算式必须周期采样进行离散化,同时各信 号也要离散化,公式如下: MPn=Kc*(SPn-PVn)+Kc*Ts/Ti*(SPn-PVn)+MX+Kc*Td/Ts?(PVn-1-PVn) 公式中包含9个用来控制和监视PID运算的参数,在PID指令使用时构成回 路表,。 2.2PID指令 使能输入有效时,该指令利用回路表中的输入信息和组态信息,进行PID运算。梯形图的指令盒中有2个数据输入端:TBL,回路表的起始地址,是由VB指定的字节型数据;指令LOOP,回路号,是0~7的常数。 指令格式:PIDTBL,LOOP 2.2.1PID回路号 用户程序中最多可有8条PID回路,不同的PID回路指令不能使用相同的回 路号,否则会产生意外的后果。

PID算法在PLC模拟量闭环控制中的实现

第27卷 第1期2003年1月 信 息 技 术 I NFORMATI ON TECHNOLOGY VOL.27 NO.1 Jan.2003 PID算法在PLC模拟量闭环控制中的实现 张文庆 (哈尔滨学院,哈尔滨150086) 摘 要:提出了在PLC控制的中小型系统中,用PLC的梯形图来完成变速积分PID算法,实现了对模拟量的闭环控制,给出了程序流程图和梯形图程序。 关键词:PLC;PID;调节器;闭环控制 中图分类号:TP301.6 文献标识码:B 文章编号:1009-2552(2003)01-0041-03 Realization of PID Arithmetic in PLC Analogue Cosed-loop Control Zhang Wenqing (Harbin Institute,Harbin150086,China) Abstract:This text puts forward a method to realize control of analog measurand in moderate and small closed -loop system by digitizing adjuster,and using PLC echelon chart progra m to achieve shift inte gral PID arith-metic.The method is generally applied to slowly changing process such as humidity,liquid location and etc. with good dynamic performances.Taking panasonic(NAIS)PLC as e xample,the text presents program flow chart and echelon chart program. Key words:PLC;PI D;Adjuster;Closed-loop control 0 前言 在工业生产过程控制中,模拟量的PID(比例、积分、微分)调节是常见的一种控制方式,这是由于PID调节不需要求出控制系统的数学模型,至今为止,很难求出许多控制对象准确的数学模型,对于这一类系统,使用PID控制可以取得比较令人满意的效果,同时PID调节器又具有典型的结构,可以根据被控对象的具体情况,采用各种PID的变种,有较强的灵活性和适用性。 PLC作为一种新型的工业控制装置,在科研、生产、社会生活的诸多领域得到了越来越广泛的应用。大型的可编程序控制器配备过程控制模块可同时对几十路模拟量进行闭环控制,但造价昂贵。一般中小型PLC控制系统只对一路或几路模拟量进行闭环控制。硬件上只需配备A D及D A转换模块,软件可购买相应厂家提供的PID编程功能模块,只需设定好PID参数,运行PID控制指令,就能求得输出控制值,而厂家一般只提供标准PID算法,灵活性和适应性较差,如根据被控对象的具体情况不同,采用各种PID控制的变种,如积分分离PID、不完全微分PID等则操作上有些困难,这时用户可根据控制的算法,自行设计梯形图程序。 1 PID调节器的特点及数字化 标准的PID控制系统中,由于系统的执行结构线性范围受到限制,当偏差信号较大时,如系统启动、停止、或大幅度波动,由于积分的作用会产生较大的超调量,造成系统性能变差,这种现象对慢过程如湿度、液位等调节更为严重。如能在系统偏差大时将积分的作用减弱,偏差小时将积分的作用加强,这样可以大大提高系统的调节品质,采用变速积分 收稿日期:2002-10-23 作者简介:张文庆(1970-),男,1992年毕业于哈尔滨工程大学,工程师,现为哈尔滨学院物理与应用电子系教师。 41

S7-200 PLC PID控制

如何使用S7-200CPU的PID控制 第一部分、PID控制 S7-200能够进行PID控制。S7-200 CPU最多可以支持8个PID控制回路(8个PID指令功能块)。 PID是闭环控制系统的比例-积分-微分控制算法。 PID控制器根据设定值(给定)与被控对象的实际值(反馈)的差值,按照PID算法计算出控制器的输出量,控制执行机构去影响被控对象的变化。 PID控制是负反馈闭环控制,能够抑制系统闭环内的各种因素所引起的扰动,使反馈跟随给定变化。 根据具体项目的控制要求,在实际应用中有可能用到其中的一部分,比如常用的是PI (比例-积分)控制,这时没有微分控制部分。 PID算法在S7-200中的实现 PID控制最初在模拟量控制系统中实现,随着离散控制理论的发展,PID也在计算机化控制系统中实现。 为便于实现,S7-200中的PID控制采用了迭代算法。详细的计算方法请参考《S7-200系统手册》中PID指令部分的相关内容。 计算机化的PID控制算法有几个关键的参数K c (Gain,增益),T i (积分时间常 数),T d (微分时间常数),T s (采样时间)。 在S7-200中PID功能是通过PID指令功能块实现。通过定时(按照采样时间)执行PID功能块,按照PID运算规律,根据当时的给定、反馈、比例-积分-微分数据,计算出控制量。 PID功能块通过一个PID回路表交换数据,这个表是在V数据存储区中的开辟,长度为36字节。因此每个PID功能块在调用时需要指定两个要素:PID控制回路号,以及控制回路表的起始地址(以VB表示)。 由于PID可以控制温度、压力等等许多对象,它们各自都是由工程量表示,因此有一种通用的数据表示方法才能被PID功能块识别。S7-200中的PID功能使用占调节范围的百分比的方法抽象地表示被控对象的数值大小。在实际工程中,这个调节范围往往被认为与被控对象(反馈)的测量范围(量程)一致。

相关文档
最新文档