首页 上一页 1 2 下一页 尾页

(已结帖)工控PLC擂台第38期--PLC 中PID 模块指令的应用 点击:3317 | 回复:30



玻璃的心

    
  • 精华:30帖
  • 求助:2帖
  • 帖子:962帖 | 5801回
  • 年度积分:0
  • 历史总积分:61250
  • 注册:2010年6月11日
发表于:2011-04-28 22:05:08
楼主

        PID 的控制是对连续量的控制,目前它的控制算法仍然是实际工业控制系统中应用的最为广泛的一种控制算法。为了使PLC 能简单、有效、友好地进行PID 控制,世界上的各大PLC 生产商都引入了PID 控制模块,它以PLC 编程指令中的一种指令模块的形式出现,通过对这个指令模块离线的或在线的进行PID 参数修改,来对被控制的对象实施控制。

PID的基本实现过程如下图所示:

图1 PID实现过程

本期擂台:由于定标和解标我们在前面已经有所讲解,因此,在定标解标的基础上我们要求大家给出一个实现PID控制的项目或实验。要求详细介绍各步的实现过程。

PLC品牌不限。 回答的最好,最详细的首先拿奖!

 

工控PLC擂台每周一期,本期下周末结贴。奖项设置:一等奖1名:50MP,二等奖5名:10MP,三等奖10名:30积分。

MP介绍:gongkongMP即工控币,是中国工控网的用户积分与回馈系统的一个网络虚拟计价单位,类似于大家熟悉的QB,1个MP=1元人民币。

MP有什么用?兑换服务:以1个MP=1元来置换中国工控网的相关服务。 兑换现金:非积分获得的MP可兑换等值现金(满100MP后、用户可通过用户管理后台申请兑换)。




玻璃的心

  • 精华:30帖
  • 求助:2帖
  • 帖子:962帖 | 5801回
  • 年度积分:0
  • 历史总积分:61250
  • 注册:2010年6月11日
发表于:2011-04-28 22:11:08
1楼
前面的擂台虽然有相关的擂台,但是比较片面,因此感觉有必要在比较统一的条件下让大家再打擂一次,这样,让学习者能学到更多更充分的这方面的知识!

勇者

  • 精华:0帖
  • 求助:0帖
  • 帖子:16帖 | 2756回
  • 年度积分:442
  • 历史总积分:30819
  • 注册:2007年7月13日
发表于:2011-04-29 12:04:37
2楼
很好的题目,进来学习。

Piston

  • 精华:0帖
  • 求助:1帖
  • 帖子:23帖 | 13107回
  • 年度积分:18
  • 历史总积分:40065
  • 注册:2009年5月22日
发表于:2011-04-29 18:48:14
3楼
引用勇者 的回复内容:很好的题目,进来学习。



彩云之滇东北

  • 精华:20帖
  • 求助:5帖
  • 帖子:107帖 | 2725回
  • 年度积分:0
  • 历史总积分:21121
  • 注册:2005年6月14日
发表于:2011-05-05 20:37:04
4楼

先看看                                    

budaowong

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 62回
  • 年度积分:0
  • 历史总积分:366
  • 注册:2011年3月08日
发表于:2011-05-09 20:57:10
5楼

很不错的案例,可惜打不了这擂台,只能看前辈们的结果了。

3CWQZ

  • 精华:0帖
  • 求助:0帖
  • 帖子:13帖 | 821回
  • 年度积分:300
  • 历史总积分:4676
  • 注册:2003年1月21日
发表于:2011-05-09 22:44:31
6楼
程序就不上了,手册上全有,只上PID的介绍

品种:台达

budaowong

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 62回
  • 年度积分:0
  • 历史总积分:366
  • 注册:2011年3月08日
发表于:2011-05-21 12:19:59
7楼

不错的案例,得好好的学习下了!

昆山中宇工控网

  • 精华:1帖
  • 求助:0帖
  • 帖子:19帖 | 688回
  • 年度积分:0
  • 历史总积分:1438
  • 注册:2004年8月26日
发表于:2011-05-23 19:23:37
8楼
我也想学习PID方面知识,期待更多的答案
昆山中宇工控,诚交天下工控朋友

zhxl198808

  • 精华:5帖
  • 求助:10帖
  • 帖子:46帖 | 3915回
  • 年度积分:0
  • 历史总积分:22216
  • 注册:2008年9月06日
发表于:2011-05-24 15:28:09
9楼
PID指令编程举例
某一水箱里的水以变化速度流出,一台变频器驱动的水泵给水箱打水,以保持水箱的水位维持在满水位的75%。过程变量由浮在水面上的水位测量仪提供,PID控制器的输出值作为变频器的速度给定值。过程变量与回路输出均为单极性模拟量,取值范围为0.0~1.0。
本例采用PI控制器,给定值为0.75,选取控制器参数的初始值为:KC=0.25,TS=0.1s,TI=30min。编程如下:
//主程序(OBI)
LD SM0.1 //首次扫描时
CALL 0 //调用初始化子程序
//子程序
LD SM0.0
MOVR 0.75, VD104 //装入给定值75%
MOVR 0.25, VD112 //装入回路增益0.25
MOVR 0.10, VD116 //装入采样时间0.1s
MOVR 30.0 VD120 //装入积分时间30min
MOVR 0.0, VD124 //关闭微分作用
MOVB 100, SMB34
//设置定时中断0的时间间隔为100ms
ATCH 0, 10
//设定定时中断以执行PID指令
ENI
//允许中断,子程序0结束
//中断程序0
LD SM0.0
LTD AIW0, AC0
//单极性模拟量经A/D转换后存入累加器
DTR AC0, AC0
//32位整数转换为实数
/R 32000.0, AC0
//标准化累加器中的实数
MOVR AC0, VD100 //存入回路表
LD 10.0
//在自动方式下,执行PID指令
PID VB100, 0
//回路表的起始地址为VB100,回路号为0
LD SM0.0
MOVB VD108, AC0
//PID控制器的输出值送入累加器
*R 32000.0 AC0
//将累加器中的数值标准化
ROUND AC0, AC0
//实数转换为32位整数
DTI AC0, AQW0
//将16位整数写入到模拟量输出(D/A)寄存器

LUO28988

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 7回
  • 年度积分:0
  • 历史总积分:56
  • 注册:2010年4月17日
发表于:2011-05-24 21:52:42
10楼
很好,值得学习...

yanwen0227

  • 精华:2帖
  • 求助:49帖
  • 帖子:577帖 | 9385回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2011-05-25 04:46:52
11楼
很好,可以了解各家的plc了。学习一下。

a332329107

  • 精华:1帖
  • 求助:5帖
  • 帖子:340帖 | 6056回
  • 年度积分:13
  • 历史总积分:24395
  • 注册:2011年5月08日
发表于:2011-05-25 23:31:54
12楼
想打  可是心有余而力不足  好好学习学习

玻璃的心

  • 精华:30帖
  • 求助:2帖
  • 帖子:962帖 | 5801回
  • 年度积分:0
  • 历史总积分:61250
  • 注册:2010年6月11日
发表于:2011-05-25 23:34:12
13楼

回复内容:
对:a332329107 关于想打  可是心有余而力不足  好好学习学习 内容的回复:

没事,你先把各期的看看,时间长了自然就会了!

zxjjynl

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 561回
  • 年度积分:0
  • 历史总积分:2626
  • 注册:2011年3月06日
发表于:2011-05-29 22:38:53
14楼

PLC 中PID 模块指令的应用

 

本系统应用在某聚脂有限公司的重油系统改造工程中,即运用了这种基于PLC系统的PID 控制

 

 

zxjjynl

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 561回
  • 年度积分:0
  • 历史总积分:2626
  • 注册:2011年3月06日
发表于:2011-05-29 22:42:18
15楼

系统描述
此工程源于对该公司的联苯燃烧系统的改造,原来要燃烧轻油来完成工艺,现改为燃烧重油,这样可以大大降低燃料成本。在重油进行燃烧之前,由于燃烧器的要求,在燃烧器的入口处所提供的重油必须是有相对稳定的温度和流量。因此在入口之前就要对重油的温度和流量进行控制。在对油温进行控制时,为了系统的稳定、经济的运行和简化控制系统的实现,实际系统中对油温实施两级加热,即首先通过一般的油罐底盘蒸汽管的方式,把油温加热到适中的温度;随后把适中温度的重油,送入热交换炉中。对油的流量的控制则是通过间接的方式,在油进入加热炉前,通过控制重油压力来完成。整个系统的结构和控制流程如图 所示。为了介绍的紧凑,此图以及其后介绍中,除PID 控制回路的控制以外,其它诸如对电机和电磁阀的控制,不作指明和详细阐述。

整个系统的控制包括对上述四个回路的控制,以及其它一些包括泵、电磁阀等的离散量的控制。控制部分全部的硬件组成采用Allen-Bradley公司的产品,总体上是两极控制体系。由A-B 公司PLC 产品中的SLC500 系列———SLC5/ 03 及其相应配置的输入/ 输出模块共同完成底层设备的直接控制,并通过DH2485 控制网络,把SLC5/ 03与图形操作员终端PanelView900 相连。通过操作员终端来完成对整个加热系统的监测和相关的参数设置,这些参数包括: PID 回路的参数、发生警报的临界参数等。

 

zxjjynl

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 561回
  • 年度积分:0
  • 历史总积分:2626
  • 注册:2011年3月06日
发表于:2011-05-29 22:48:38
16楼

SLC5 中的PID 模块的应用

 
PID 控制算法的应用已经有悠久的历史了。最初的PID 控制是通过搭接模拟电路来实现,这是模拟量的数据传输与处理,因此在参数的整定和控制量的输出上,有局限的一方面;数字PID 则克服了这些不足[1 ] 。PLC 中加入PID 模块, 是PLC 参与到对连续过程的控制的结果。目前,世界上的主要PLC 厂家都在自己的产品中加入了PID 模块,虽然这些PID 模块的功能和参数的设置有不同,但从它们的工作过程来看是相同的。所以,下面先就PID 模块在PLC 中的一般实现过程作说明,然后再对在此工程中使用的A-B 公司的SLC5 的PID 模块加以阐述。
PID 模块在PLC 系统中的实现过程可用下图来简要地说明。这里用4~20 mA 的信号标准进行说明,因为当今执行这个标准的模拟信号仪表仍然应用较广。所以目前的各种PLC 系统都对此类仪表提供了强大的支持。

                                             实现过程
在此重油改造工程项目中的四个PID 回路的简单工作过程就是如上所述。四个回路中,分别是由三个温度传感器和一个压力传感器产生四个4~20 mA 的信号,经过上述的工作流程后,把PLC系统中相应模块所产生的四个4~20 mA 的控制信号传送入四个调节阀,来控制调节阀的开度。
 
对SLC5/ 03 控制器的编程同其它的PLC 的编程很相似,都是通过运用梯形图语言来完成的。通过引入PID 语句执行PID 算法,其模块化的结构简化了编程工作。A2B 公司的PLC 的PID 语句如图 所示。PID 语句的执行相似于在普通编程语言中对函数的调用,需要指定输入参数和计算得出的输出参数的地址,在PLC 中就是在相应的数据文件中的地址,当然还要指定PID 运行参数的设定地址。在图3 的实例中,PID 模块中的参数代表的意义是:N14∶25 (N14∶25 是A2B 公司的PLC产品中的地址编址方式的一个实例。基本上,这是一种基于文件编址的方法,在此例中,“N”代表整数文件;“14”是指第14 号文件;“∶”是分隔符;“25”指示该文件的第25 个字。本文以后的类似符号,可据此推出。) 是过程变量的存储地址,前面已经见到,这时的过程变量就已经被定标在0~16 383 范围内的一个数值了;N14∶24 是指PID 模块计算后得出的控制变量的存储地址,它的数值也被限定在0~16 383 之间;N14∶0 是PID模块运行参数的起始地址,运行参数所占的存储器的长度,在缺省的情况下为23 ,如实例中所示,这样既说明N14∶0~N14∶22 这23 个整数字为PID参数的存储位置。对PID 的运行参数的设置,可以在梯形图程序中,动态在线地加以赋值;也可以在PID 模块提供的设置屏幕中,进行离线地设置,其设置屏幕如图4 所示。结合图中的标示,对在此设置屏幕中的几个重要参数部分作简要说明。P、I、D 三个参数是必不可少的,因此在图中没有特别标示,这三个参数映射在23 个运行参数字中
的特定的三个字上,后面的参数也都是以这样的方式工作,只是有的参数对应的是一个字节或是一个位,其它方面没有差别,因此在以后就不作特别指出了。在图4 中, ①指示的参数与④的参数有关,因为此PID 模块有两种时间工作模式:定时型和中断型,中断型的工作模式是受SLC5 中的定时中断控制,每扫描一次程序,执行PID 模块指令一次,因此这种方式的工作频率很高;定时型的工作方式就是指定PID 模块指令执行的间隔时间,即控制了它的工作频率,这种工作方式比中断型灵活,可以根据具体的应用进行改变。图中参数④指示的是定时型的时间工作方式,而①中则是具体设定的间隔时间,此参数在图示中为0. 3s。参数②指示的是控制方式,也就是误差的计算方式,这里有两种:一种是设定值减去过程变量, 另一种为过程变量减去设定值。这个参数的设定只与具体的控制回路有关。参数③则很明确,它是手动与自动切换的控制位。参数块⑤指示的是有关输入部分的参数,前面已经见到输入PID 模块的过程变量的数值范围是0~16 383 ,这样做的目的是为了统一计算过程,而这样的数值本身并没有明显的物理意义,会给用户的理解带来麻烦,因此参数块⑤用来解决这个问题,它的基本思想是进行二次定标,把输入PID 模块的0~16 383之
间的数值再转换为表面看来有意义的物理量数值。以图4 所示为例,在实际工程回路Ⅱ中 , 4 ~ 20 mA 的温度信号代表的量程范围为0~150 ℃,因此输入PID 模块的0~16 383 的数值所代表的温度也是0~150 ℃,所以在参数块⑤中的设定值的高限与低限设置中,分别把它们设为150 和0 ,这样一来设定值的设置就不需要任何的定标变换了,直接设为60 ,代表此回路的温度设定值为60 ℃。在图中示例中,参数块⑤中显示的过程变量值也进行了变换,为72 ,代表实际的油罐中的温度为72 ℃。参数块⑥指示的是一系列的PID 模块的状态标志,在此就不作一一解释了。
                                                                       PID 模块实例
  通过设置屏幕进行设置的参数是对于PID 块能够正确运行所需的最为重要的参数。在23个参数控制字中还包括一些其它的辅助参数,对这些参数的设置只有通过在梯形图程序中的编程语句来完成。
 

cqu_rockwell

  • 精华:16帖
  • 求助:0帖
  • 帖子:678帖 | 8694回
  • 年度积分:0
  • 历史总积分:57901
  • 注册:2010年6月30日
发表于:2011-05-29 22:49:19
17楼
              

1 在工业生产中,常需要用闭环控制方式来实现温度、压力、流量等连续变化的模拟量控制。无论使用模拟控制器的模拟控制系统,还是使用计算机(包括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)-误差信号;
KC比例系数;
TI-积分时间常数;
TD-微分时间常数。

 

图1 连续闭环控制系统方框图


式(1)的右边前3项分别是比例、积分、微分部分,它们分别与误差,误差的积分和微分成正比。如果取其中的一项或两项,可以组成P、PD或PI控制器。
假设采样周期为TS,系统开始运行的时刻为t=0,用矩形积分来近似精确积分,用差分近似精确微分,将公式1离散化,第n次采样时控制器的输出为: (2)

式中:
en-1-第n-1次采样时的误差值;
KI-积分系数;
KD-微分系数。
基于PLC的闭环控制系统如图2所示。图中的虚线部分在PLC内。其中spn、pvn、en、Mn分别为模拟量在sp(t)、pv(t)、e(t)、M(t)在第n次采样时的数字量。

 

图2 PLC闭环控制系统方框图

在许多控制系统内,可能只需要P、I、D中的一种或两种控制类型。如可能只要求比例控制或比例与积分控制,

cqu_rockwell

  • 精华:16帖
  • 求助:0帖
  • 帖子:678帖 | 8694回
  • 年度积分:0
  • 历史总积分:57901
  • 注册:2010年6月30日
发表于:2011-05-29 22:50:52
18楼
               假设采样周期为TS,系统开始运行的时刻为t=0,用矩形积分来近似精确积分,用差分近似精确微分,将公式1离散化,第n次采样时控制器的输出为: (2)

式中:
en-1-第n-1次采样时的误差值;
KI-积分系数;
KD-微分系数。
基于PLC的闭环控制系统如图2所示。图中的虚线部分在PLC内。其中spn、pvn、en、Mn分别为模拟量在sp(t)、pv(t)、e(t)、M(t)在第n次采样时的数字量。

 

图2 PLC闭环控制系统方框图

在许多控制系统内,可能只需要P、I、D中的一种或两种控制类型。如可能只要求比例控制或比例与积分控制,通过设置参数可对回路进行控制类型进行选择。
3.2 输入输出变量的转换
PID控制有两个输入量:给定值(sp)和过程变量(pv)。多数工艺要求给定值是固定的值,如加热炉温度的给定值。过程变量是经A/D转换和计算后得到的被控量的实测值,如加热炉温度的测量值。给定值与过程变量都是与被控对象有关的值,对于不同的系统,它们的大小、范围与工程单位有很大的区别。应用PLC的PID指令对这些量进行运算之前,必须将其转换成标准化的浮点数(实数)。
同样,对于PID指令的输出,在将其送给D/A转化器之前,也需进行转换。
3.3 回路输入的转换
转换的第一步是将给定值或A/D转换后得到的整数值由16位整数转换成浮点数,可用下面的程序实现这种转换:
XORD AC0, ACO
//清除累加器
MOVW AIWO, AC0
//将待转化的模拟量存入累加器
LDW>= AC0, 0
//如果模拟量数值为正
JMP 0
//直接转换成实数
ORD 16#FFFF0000, ACO
//将AC0内的数值进行符号扩展,扩展为32位负数
LBL 0
DTR AC0, AC0
//将32位整数转换成实数
转换的下一步是将实数进一步转换成0.0~1.0之间的标准化实数,可用下面的式(3)对给定值及过程变量进行标准化:
RNorm=(RRaw/Span)+Offset (3)
式中:
RNorm-标准化实数值;
RRaw-标准化前的值;
Offset-偏移量,对单极性变量为0.0,对双极性变量为0.5;
Span-取值范围,等于变量的最大值减去最小值,单极性变量的典型值为32000,双极性变量的典型值为64000。
下面的程序将上述转换后得到的AC0中的双极性实数(其Span=64000)转换成0.0~1.0之间的实数:
/R 64000.0, AC0
//累加器中的实数标准化
+R 0.5, AC0
//加上偏移值,使其在0.0~1.0之间
MOVR ACO, VD100
//加标准化后的值存入回路表内
3.4 回路输出的转换
回路输出即PID控制器输出,它是标准化的0.0~1.0之间的实数。将回路输出送给D/A转换器之前,必须转换成16位二进制整数。这一过程是将pv与sp转换成标准化数值的逆过程。用下面的公式将回路输出转换成实数:
RScal=(Mn-Offset)×Span (4)
式中,RScal是回路输出对应的实数值,Mn是回路输出标准化的实数值。
下面的程序用来将回路输出转换为对应的实数:
MOVR VD108, AC0
//将回路输出送入累加器
-R 0.5, AC0
//仅双极性数才有此语句
*R 64000.0, AC0
//单极性变量乘以32000.0
用下面的指令将代表回路输出的实数转换成16位整数:
ROUND AC0, AC0
//将实数转换为32位整数
MOVW AC0, AQW0
//将16位整数写入模拟输出(D/A)寄存器
3.5 PID指令及回路表
S7-200的PID指令如图3所示:

 

图3 PID指令

指令中TBL是回路表的起始地址,LOOP是回路的编号。编译时如果指令指定的回路表起始地址或回路号超出范围,CPU将生成编译错误(范围错误)仪器编译失败。PID指令对回路表中的某些输入值不进行范围检查,应保证过程变量、给定值等不超限。回路表参见附表。

附表 PID指令的回路表

 


如果PID指令中的算术运算发生错误,特殊存储器SMI.1(溢出或非法数值)被置1,并将终止PID指令的执行。要想消除错误,在下次执行PID运算之前,应改变引起运算错误的输入值,而不是更新输出值。

cqu_rockwell

  • 精华:16帖
  • 求助:0帖
  • 帖子:678帖 | 8694回
  • 年度积分:0
  • 历史总积分:57901
  • 注册:2010年6月30日
发表于:2011-05-29 22:53:23
19楼

4 PID指令编程举例
某一水箱里的水以变化速度流出,一台变频器驱动的水泵给水箱打水,以保持水箱的水位维持在满水位的75%。过程变量由浮在水面上的水位测量仪提供,PID控制器的输出值作为变频器的速度给定值。过程变量与回路输出均为单极性模拟量,取值范围为0.0~1.0。
本例采用PI控制器,给定值为0.75,选取控制器参数的初始值为:KC=0.25,TS=0.1s,TI=30min。编程如下:
//主程序(OBI)
LD SM0.1 //首次扫描时
CALL 0 //调用初始化子程序
//子程序
LD SM0.0
MOVR 0.75, VD104 //装入给定值75%
MOVR 0.25, VD112 //装入回路增益0.25
MOVR 0.10, VD116 //装入采样时间0.1s
MOVR 30.0 VD120 //装入积分时间30min
MOVR 0.0, VD124 //关闭微分作用
MOVB 100, SMB34
//设置定时中断0的时间间隔为100ms
ATCH 0, 10
//设定定时中断以执行PID指令
ENI
//允许中断,子程序0结束
//中断程序0
LD SM0.0
LTD AIW0, AC0
//单极性模拟量经A/D转换后存入累加器
DTR AC0, AC0
//32位整数转换为实数
/R 32000.0, AC0
//标准化累加器中的实数
MOVR AC0, VD100 //存入回路表
LD 10.0
//在自动方式下,执行PID指令
PID VB100, 0
//回路表的起始地址为VB100,回路号为0
LD SM0.0
MOVB VD108, AC0
//PID控制器的输出值送入累加器
*R 32000.0 AC0
//将累加器中的数值标准化
ROUND AC0, AC0
//实数转换为32位整数
DTI AC0, AQW0
//将16位整数写入到模拟量输出(D/A)寄存器

花开_花落

  • 精华:1帖
  • 求助:1帖
  • 帖子:65帖 | 1155回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2011-05-29 22:56:50
20楼

  1 恒压供水主要用于锅炉、楼宇、工业厂房供水等众多给水行业,关于恒压供水项目控制系统技术方案比较成熟,实现方法也比较多,有专用的微机给水控制器、变频器嵌入式PID反馈恒压控制、人机界面和PLC整合应用等多种架构,其原理和核心控制思路都是采用PID反馈控制模型,实现无负压恒压供水。本系统重点介绍基于台达触摸屏PLC的恒压变频恒压供水设计方案,主要体现台达系统集成应用技术方案提供完善的自动化系统。
 

  2 系统设计
  2.1 恒压供水原理

  根据设备工作要求设定系统给定压力(Mpa),作为PID自整定控制模型的SV值,压力仪表传感器将被控对象管道压力(Mpa)实时采集作为PID自整定模型的PV值,二者数值大小比较后生成偏差值Et,按照调整好的比例系数Kp、积分系数Ki、微分系数Kd,PLC控制程序PID指令运算结果控制输出MV值,转换为模拟量(0~10V)作为变频器频率给定信号,控制变频器拖动水泵电机输出不同转速,达到调节供水管道压力的控制效果。

  2.2 台达PLC的PID控制
  台达PLC主要利用PID指令算法构成反馈控制回路,达到恒压供水控制要求,原理设计如图(一)所示。

  (1)PLC控制程序中管道压力读取部分如下:


  (2)PLC控制程序中关于采集管道压力处理如下:
  滤除掉06XA模块采集数字量0~4000之外的数值,根据压力传感器和压力变送器量程对应关系计算出管道实际压力(MPa)值。

  (3)PLC控制程序中PID指令运用方法如下:

  (4)PID指令运算输出作为变频器频率给定信号,同时转换为频率数值用于人机界面显示:

 


热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页