资源描述
PLC闭环控制系统及模拟量转换
———————————————————————————————— 作者:
———————————————————————————————— 日期:
2
个人收集整理 勿做商业用途
包头钢铁职业技术学院
毕业论文
论文题目:PLC闭环控制系统及模拟量转换
学 号:_________________________
作 者:_________________________
专 业 名 称:_________________________
—
2009年03月29日
3
PLC闭环控制系统及模拟量转换
论文题目:
作者:_______________________
指 导 教 师: 单位:
单位:
论文提交日期:2009年 03月 29日
目 录
摘 要 3
第一章 概述 4
1.1 选题背景 4
1.2 控制系统的选择 4
第二章 PLC的基本概念8—PLC的编程语言 5
2。1 梯形图(Ladder Diagram) 5
2.2布尔助记符(Boolean Mnemonic) 6
2.3功能表图(Sepuential Function Chart) 6
2.4结构化语句(Structured Text) 6
第三章 PLC闭环控制系统中PID控制器的实现 8
第四张 PLC模拟量(工程量)转化的方法 13
结束语 14
参 考 文 献 15
摘 要
(1)采用可编程序控制器(PLC)对消防泵组进行控制,实现泵组在备用时定期试运行,扑救火灾时自动启动,从而有效地杜绝消防水泵关键时刻不能用的局面。 [目录] 一、问题提出二、解决方法三、结论 [原文] 一、问题提出 1、 目前高层建筑在各类城市中比比皆是.然而,高层建筑专用消防水泵不能做到定期试机运行,
(2)本文阐述了应用西门子公司生产的具有高性能价格比的微型可编程控制器S7-200系列PLC和EM235模拟量模块,设计实现污水处理系统。该系统充分利用了培训中讲述的可编程控制器(PLC)的多方面设计知识和方法,使得该系统可靠稳定,使其应用范围得到扩展。
关键词:可编程控制器 PLC 污水处理系统
第一章 概述
1。1选题背景
随着我国经济的高速发展和工业化程度的不断提高,工业污水日益增多,尤其是冶金企业中冷却水在工业污水中占很大一部分,为此每天要消耗大量的水资源,由于冷却水中含有大量的氧化铁杂质,不宜多次循环使用,也不能直接排放,所以为维持经济的持续、健康增长和生态环境的良性循环,必须对工业污水加以处理,循环再利用.目前,在我国主要城市和经济发达地区的大型企业均已有各自的污水处理设备,但大部分经济欠发达地区的县市和小城镇没有对各类污水采取处理措施,而是直接排入附近河流.随着环保要求的不断提高,未采取污水处理措施的小城镇小企业在未来若干年内必然会拥有自己的污水处理设备。小城镇量大面广,小型冶金企业分布众多,这些企业对污水处理设施的需求量很大.同时,受投资额的限制,这些小型冶金企业更愿意采用经济、实用的产品。本文介绍的污水处理系统在处理冷却水方面满足污水处理设备安全、高效运行的同时具有很好的性价比,具有良好的经济、社会效益和推广前景。
1.2 控制系统的选择
从满足配料自动控制系统的安全性、扩展性和可靠性方面考虑,目前常见的配料自动控制系统,主要有单片机控制、PLC控制、工业控制计算机集中控制等类型。
随着集成芯片技术的不断提高,特别是高档8位单片机的普及,单片机配料系统由单片计算机及其外围芯片构成配料系统。其特点是单片机本身小巧、功耗低,实时控制功能强,但是其软、硬件的开发必须借助于开发工具,系统调试困难,不具有自开发能力。
工业控制计算机配料系统是利用通用计算机的扩展槽或扩展区,设计应用系统硬件模板,如通讯板、I/O扩展板等测控功能板,与通用计算机构成一个用于完成预定测控功能的配料系统.其特点是系统有较强的软、硬件支持。利用通用计算机的软、硬件资源来支持配料系统进行工作,具有自开发能力,有较强的可视能力和数据处理能力,更适合于计算机集中控制系统应用。
PLC是一种新型的具有极高可靠性的通用工业自动化控制装置。它以微处理器为核心,有机地将微型计算机技术、自动化控制技术及通信技术融为一体。其特点如下:
抗干扰能力强,可靠性极高.PLC是专为工业控制设计的,采取了精选元器件及多层次抗干扰等措施,能适应工业现场的恶劣环境。
第二章 PLC的基本概念8 — PLC的编程语言
在PLC中有多种程序设计语言,它们是梯形图语言、布尔助记符语言、功能表图语言、功能模块图语言及结构化语句描述语言等。梯形图语言和布尔助记符语言是基本程序设计语言,它通常由一系列指令组成,用这些指令可以完成大多数简单的控制功能,例如,代替继电器、计数器、计时器完成顺序控制和逻辑控制等,通过扩展或增强指令集,它们也能执行其它的基本操作.功能表图语言和语句描述语言是高级的程序设计语言,它可根据需要去执行更有效的操作,例如,模拟量的控制,数据的操纵,报表的报印和其他基本程序设计语言无法完成的功能。功能模块图语言采用功能模块图的形式,通过软连接的方式完成所要求的控制功能,它不仅在PLC中得到了广泛的应用,在集散控制系统的编程和组态时也常常被采用,由于它具有连接方便、操作简单、易于掌握等特点,为广大工程设计和应用人员所喜爱。
根据PLC应用范围,程序设计语言可以组合使用,常用的程序设计语言是:梯形图程序设计语言;布尔助记符程序设计语言(语句表);功能表图程序设计语言;功能模块图程序设计语言;结构化语句描述程序设计语言;梯形图与结构化语句描述程序设计语言;布尔助记符与功能表图程序设计语言;布尔助记符与结构化语句描述程序设计语言。
2。1梯形图(Ladder Diagram)
程序设计语言梯形图程序设计语言是用梯形图的图形符号来描述程序的一种程序设计语言。采用梯形图程序设计语言,程序采用梯形图的形式描述.这种程序设计语言采用因果关系来描述事件发生的条件和结果。每个梯级是一个因果关系。在梯级中,描述事件发生的条件表示在左面,事件发生的结果表示在后面。梯形图程序设计语言是最常用的一种程序设计语言。它来源于继电器逻辑控制系统的描述。
在工业过程控制领域,电气技术人员对继电器逻辑控制技术较为熟悉,因此,由这种逻辑控制技术发展而来的梯形图受到了欢迎,并得到了广泛的应用.梯形图程序设计语言的特点是:(1)与电气操作原理图相对应,具有直观性和对应性;
(2)与原有继电器逻辑控制技术相一致,对电气技术人员来说,易于撑握和学习;
(3)与原有的继电器逻辑控制技术的不同点是,梯形图中的能流(Power FLow)不是实际意义的电流,内部的继电器也不是实际存在的继电器,因此,应用时,需与原有继电器逻辑控制技术的有关概念区别对待;
(4)与布尔助记符程序设计语言有一一对应关系,便于相互的转换和程序的检查。
2。2布尔助记符(Boolean Mnemonic)
程序设计语言布尔助记符程序设计语言是用布尔助记符来描述程序的一种程序设计语言。布尔助记符程序设计语言与计算机中的汇编语言非常相似,采用布尔助记符来表示操作功能。
尔助记符程序设计语言具有下列特点:
(1)采用助记符来表示操作功能,具有容易记忆,便于撑握的特点;(2)在编程器的键盘上采用助记符表示,具有便于操作的特点,可在无计算机的场合进行编程设计;
(3)与梯形图有一一对应关系。其特点与梯形图语言基本类同。
2。3功能表图(Sepuential Function Chart)
程序设计语言功能表图程序设计语言是用功能表图来描述程序的一种程序设计语言。它是近年来发展起来的一种程序设计语言。采用功能表图的描述,控制系统被分为若干个子系统,从功能入手,使系统的操作具有明确的含义,便于设计人员和操作人员设计思想的沟通,便于程序的分工设计和检查调试。
功能表图程序设计语言的特点是:
(1)以功能为主线,条理清楚,便于对程序操作的理解和沟通;
(2)对大型的程序,可分工设计,采用较为灵活的程序结构,可节省程序设计时间和调试时间;
(3)常用于系统的规模校大,程序关系较复杂的场合;
(4)只有在活动步的命令和操作被执行,对活动步后的转换进行扫描,因此,整个程序的扫描时间较其他程序编制的程序扫描时间要大大缩短。功能表图来源于佩特利(Petri)网,由于它具有图形表达方式,能较简单和清楚地描述并发系统和复杂系统的所有现象,并能对系统中存有的象死锁、不安全等反常现象进行分析和建模,在模型的基础上能直接编程,所以,得到了文泛的应用.近几年推出的PLC和小型集散控制系统中也已提供了采用功能表图描述语言进行编程的软件。关于佩特利(Petri)网的一些基本概念,我在以后有机会时再介绍给各位,以有助于对功能表图的进一步理解。
2。4结构化语句(Structured Text)
描述程序设计语言结构化语句描述程序设计语言是用结构化的描述语句来描述程序的一种程序设计语言。它是一种类似于高级语言的程序设计语言。在大中型的PLC系统中,常采用结构化语句描述程序设计语言来描述控制系统中各个变量的关系。它也被用于集散控制系统的编程和组态.结构化语句描述程序设计语言采用计算机的描述语句来描述系统中各种变量之间的各种运算关系,完成所需的功能或操作。大多数制造厂商采用的语句描述程序设计语言与BASIC语言、PASCAL语言或C语言等高级语言相类似,但为了应用方便,在语句的表达方法及语句的种类等方面都进行了简化。
结构化程序设计语言具有下列特点:
(1)采用高级语言进行编程,可以完成较复杂的控制运算;
(2)需要有一定的计算机高级程序设计语言的知识和编程技巧,对编程人员的技能要求较高,普通电气人员无法完成。
(3)直观性和易操作性等性能较差;
(4)常被用于采用功能模块等其他语言较难实现的一些控制功能的实施.部分PLC的制造厂商为用户提供了简单的结构化程序设计语言,它与助记符程序设计语言相似,对程序的步数有一定的限制,同时,提供了与PLC间的接口或通信连接程序的编制方式,为用户的应用程序提供了扩展余地。
第三章 PLC闭环控制系统中PID控制器的实现
1 引言
在工业生产中,常需要用闭环控制方式来实现温度、压力、流量等连续变化的模拟量控制。无论使用模拟控制器的模拟控制系统,还是使用计算机(包括PLC)的数字控制系统,PID控制都得到了广泛的应用。
PID控制器是比例-积分-微分控制的简称,具有
(1) 不需要精确的控制系统数学模型;
(2) 有较强的灵活性和适应性;
结构典型、程序设计简单,工程上易于实现,参数调整方便等优点.积分控制可以消除系统的静差,微分控制可以改善系统的动态相应速度,比例、积分、微分三者有效地结合可以满足不同的控制要求。
2 PLC实现PID的控制方式
2.1 PID过程控制模块
2.2 这种模块的PID控制程序是PLC生产厂家设计的,并存放在模块中,用户使用时序要设置一些参数,使用起来非常方便,一个模块可以控制几路甚至几十路闭环回路。2.2 PID功能指令
2 PLC实现PID的控制方式
2.1PID过程控制模块
2.2这种模块的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闭环控制系统sp(t)是给定值,pv(t)是反馈量,c(t)是系统的输出量,PID控制的输入输出关系式为:
式中:
M(t)-控制器的输出量,M0为输出的初始值;
e(t)=sp(t)—pv(t)-误差信号;
KC比例系数;
TI-积分时间常数;
TD-微分时间常数。
连续闭环控制系统方框图
式(1)的右边前3项分别是比例、积分、微分部分,它们分别与误差,误差的积分和微分成正比。如果取其中的一项或两项,可以组成P、PD或PI控制器。
假设采样周期为TS,系统开始运行的时刻为t=0,用矩形积分来近似精确积分,用差分近似精确微分,将公式1离散化,第n次采样时控制器的输出为:(2)
式中:
en—1-第n-1次采样时的误差值;
KI-积分系数;
KD-微分系数。
基于PLC的闭环控制系统。虚线部分在PLC内。其中spn、pvn、en、Mn分别为模拟量在sp(t)、pv(t)、e(t)、M(t)在第n次采样时的数字量。
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所示:
PID指令
指令中TBL是回路表的起始地址,LOOP是回路的编号.编译时如果指令指定的回路表起始地址或回路号超出范围,CPU将生成编译错误(范围错误)仪器编译失败。PID指令对回路表中的某些输入值不进行范围检查,应保证过程变量、给定值等不超限.回路表参见附表。
附表 PID指令的回路表
如果PID指令中的算术运算发生错误,特殊存储器SMI.1(溢出或非法数值)被置1,并将终止PID指令的执行。要想消除错误,在下次执行PID运算之前,应改变引起运算错误的输入值,而不是更新输出值。
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)寄存器
5 结束语
PLC实现PID控制的方法多种,直接应用PID指令来实现基于PLC的PID控制,是一种易于实现且经济实用的方法。
第四章 PLC模拟量(工程量)转化的方法
1、基本概念
我们生活在一个物质的世界中。世间所有的物质都包含了化学和物理特性,我们是通过对物质的表观性质来了解和表述物质的自有特性和运动特性。这些表观性质就是我们常说的质量、温度、速度、压力、电压、电流等用数学语言表述的物理量,在自控领域称为工程量。这种表述的优点是直观、容易理解.在电动传感技术出现之前,传统的检测仪器可以直接显示被测量的物理量,其中也包括机械式的电动仪表。
2、标准信号
在电动传感器时代,中央控制成为可能,这就需要检测信号的远距离传送。但是纷繁复杂的物理量信号直接传送会大大降低仪表的适用性。而且大多传感器属于弱信号型,远距离传送很容易出现衰减、干扰的问题.因此才出现了二次变送器和标准的电传送信号。二次变送器的作用就是将传感器的信号放大成为符合工业传输标准的电信号,如0-5V、0-10V或4-20mA(其中用得最多的是4-20mA)。而变送器通过对放大器电路的零点迁移以及增益调整,可以将标准信号准确的对应于物理量的被检测范围,如0-100℃或—10-100℃等等.这是用硬件电路对物理量进行数学变换。中央控制室的仪表将这些电信号驱动机械式的电压表、电流表就能显示被测的物理量。对于不同的量程范围,只要更换指针后面的刻度盘就可以了.更换刻度盘不会影响仪表的根本性质,这就给仪表的标准化、通用性和规模化生产带来的无可限量的好处.
3、数字化仪表
到了数字化时代,指针式显示表变成了更直观、更精确的数字显示方式。在数字化仪表中,这种显示方式实际上是用纯数学的方式对标准信号进行逆变换,成为大家习惯的物理量表达方式。这种变换就是依靠软件做数学运算。这些运算可能是线性方程,也可能是非线性方程,现在的电脑对这些运算是易如反掌.
4、信号变换中的数学问题
信号的变换需要经过以下过程:物理量-传感器信号-标准电信号-A/D转换-数值显示。声明:为简单起见,我们在此讨论的是线性的信号变换。同时略过传感器的信号变换过程。假定物理量为A,范围即为A0-Am,实时物理量为X;标准电信号是B0-Bm,实时电信号为Y;A/D转换数值为C0-Cm,实时数值为Z。
如此,B0对应于A0,Bm对应于Am,Y对应于X,及Y=f(X)。由于是线性关系,得出方程式为Y=(Bm-B0)*(X-A0)/(Am-A0)+B0.又由于是线性关系,经过A/D转换后的数学方程Z=f(X)可以表示为Z=(Cm—C0)*(X—A0)/(Am—A0)+C0。那么就很容易得出逆变换的数学方程为X=(Am—A0)*(Z-C0)/(Cm-C0)+A0。方程中计算出来的X就可以在显示器上直接表达为被检测的物理量。
5、PLC中逆变换的计算方法
以S7-200和4-20mA为例,经A/D转换后,我们得到的数值是6400-32000,及C0=6400,Cm=32000。于是,X=(Am—A0)*(Z-6400)/(32000—6400)+A0。
例如某温度传感器和变送器检测的是—10-60℃,用上述的方程表达为X=70*(Z-6400)/25600—10。经过PLC的数学运算指令计算后,HMI可以从结果寄存器中读取并直接显示为工程量。
同样的原理,我们可以在HMI上输入工程量,然后由软件转换成控制系统使用的标准化数值。在S7—200中,(Z-6400)/25600的计算结果是非常重要的数值。这是一个0-1.0(100%)的实数,可以直接送到PID指令(不是指令向导)的检测值输入端。PID指令输出的也是0-1.0的实数,通过前面的计算式的反计算,可以转换成6400-32000,送到D/A端口变成4-20mA输出。
结束语:在老师悉心指导和严格要求下,我最终顺利完成了我的毕业论文。各位老师孜孜不倦的教诲和无微不至的关怀下,我拥有了更加成熟的思想和更加豁达的心胸,我从青涩无知的学生成长为可以独当一面的有用之人。也学到了可以独立于社会的一技之长和永不停息的终身学习理念.在此,向各位老师表示诚挚的感谢和崇高的敬意!严谨,勤奋,求实,创新,这是指导我大学生活的校训,也将成为指导我今后人生的信条,生命不止,奋斗不息,带着在大学收获的巨大财富,我一定可以在祖国大发展中奉献青春,实现自我临行临别,
参考文献
1. 胡学林,可编程控制器教程(基础篇),北京:电子工业出版社,2003
2. 胡学林,可编程控制器教程(实训篇),北京:电子工业出版社,2004
15
展开阅读全文