温度控制系统设计[1]

  • 格式:doc
  • 大小:285.50 KB
  • 文档页数:11

理学院

School of Sciences

嵌入式系统设计

考试论文报告

学生姓名: 邵明江

学生学号: 200701090

所在班级: 电子07.1

所在专业: 电子信息科学与技术

实习成绩 总评 第一项 第二项

1

智能温度采集和显示系统设计

温度是工业生产中常见的工艺参数之一,任何物理变化和化学反应过程都与温度密切相关。在科学研究和生产实践的诸多领域中 温度控制占有着极为重要的地位 特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足轻重的作用。对于不同生产情况和工艺要求下的温度控制,所采用的加热方式,燃料,控制方案 也有所不同。例如冶金、机械、食品、化工等各类工业生产中广泛使用的各种加热炉、热处理炉、反应炉等;燃料有煤气、天然气、油、电等。温度控制系统的工艺过程复杂多变,具有不确定性,因此对系统要求更为先进的控制技术和控制理论。

可编程控制器(PLC)可编程控制器是一种工业控制计算机,是继续计算机、自动控制技术和通信技术为一体的新型自动装置。它具有抗干扰能力强,价格便宜,可靠性强,编程简朴,易学易用等特点,在工业领域中深受工程操作人员的喜欢,因此PLC已在工业控制的各个领域中被广泛地使用。

目前在控制领域中,虽然逐步采用了电子计算机这个先进技术工具,特别是石油化工企业普遍采用了分散控制系统(DCS)。但就其控制策略而言,占统治地位的仍旧是常规的PID控制。PID结构简朴、稳定性好、工作可靠、使用中不必弄清系统的数学模型。PID的使用已经有60多年了,有人称赞它是控制领域的常青树。

组态软件是指一些数据采集与过程控制的专用软件,它们是在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具。在组态概念出现之前,要实现某一任务,都是通过编写程序来实现的。编写程序不但工作量大、周期长,而且轻易犯错 误,不能保证工期。组态软件的出现,解决了这个问题。对于过去需要几个月的工作,通过组态几天就可以完成。组态王是海内一家较有影响力的组态软件开发公司开发的,组态王具有流程画面,过程数据记录,趋势曲线,报警窗口,生产报表等功能,已经在多个领域被应用。

1温度控制原理

现场温度经温度传感器采样后变换为模拟电压信号,经低通滤波滤掉干扰信号后送放大器,信号放大后送模/数转换器转换为数字信号送PLC,模拟量输出控制,将PLC中PID控制器输出通过EM235 AO输出0-5V电压,该0-5V电压作为方案1中驱动模块的输入信号,该模块将接收的0-5V可调电压变换成0-24V可调电压给电加热丝,从而控制电加热丝的加热强度,从而实现温度控制。

当通过热电偶采集的被测温度偏离所希望的给定值时,PID控制可根据测量信号与给定值的偏差进行比例(P)、积分(I)、微分(D)运算,从而输出某个适当的控制信号给执行机构,促使测量值恢复到给定值,达到自动控制的效果。

2自制温度控制系统方案设计

利用搭建的回路,采用相应的控制算法实现对对象的良好控制,算法采用常规PID控制器、改进PID控制器,并利用组态软件组态较人性化的人机画面,组态软件采用组态王或者MCGS。温度控制系统是以EM235(其中4个AI,1个AO)单片机为控制核心。整个系统硬件部分包括温度检测系统、信号放大系统、A/D转换、PLC、I/O设备、控制执行系统等。利用模拟量输出控制,将PLC中PID控制器输出通过EM235 AO输出0-5V电压,该0-5V电压作为方案1中驱动模块的输入信号,该模块将接收的0-5V可调电压变换成0-24V可调电压给电加热丝,从而控制电加热丝的加热强度,从而实现温度控制。

方案实现如下图所示:

温度传感器将温度信息变换为模拟电压信号后,将电压信号放大到PLC可以处理的范围内,经过低通滤波,滤掉干扰信号送入PLC。在PLC中对信号进行采样,为进一步提高测量精度,采样后对信号再进行数字滤波。PLC将检测到的温度信息与设定值进行比较,如果不相符,数字调节程序根据给定值与测得值的差值按PID控制算法设计控制量,触发程序根据控制量控制执行单元。如果检测值高于设定值,系统控制降温;如果检测值低于设定值,系统控制升温,提高环温度,达到控制温度的目的。

3自制温度控制系统设计

3.1 硬件

3.1.1 所用硬件

温度控制系统设计采用EM 235单片机为控制核心,与CPU PLC224、PT100温度变送器检测环境温度以及驱动模块所组成的温度控制系统。整个系统硬件部分包括温度检测系统、信号放大系统、A/D转换、PLC、I/O设备、控制执行系统等。

1、EM235 模块

本次实训我们选用的控制器是西门子PLC200,实验室中与之配套使用的A/D转换模块中使用的是EM235(其中4个AI,1个AO),属于模拟量扩展模块。

通过EM235接收4-20mA或0-5V模拟信号,输出0-10V信号,实现模拟量与数字量的转换,在系统中它主要完成对温度信号的检测工作和模拟电压量的输出,也就是可控硅触发单元的控制输入。

2、 CPU控制器

该次实训我们选择西门子PLC200(221、224、226都可),和一般的微机一样,CPU是微机PLC的核心,主要由运算器、控制器、寄存器以及实现他们之间联系的地址总线、数据总线和控制总线构成。CPU在很大程度上决定了PLC的整体性能,如整个系统的控制规模、工作速度和内存容量。CPU控制着PLC工作,通过读取、解释指令,指导PLC有条不紊的工作。

S7-200 系列出色表现在以下几个方面:极高的可靠性、极丰富的指令集、易于掌握、便捷的操作、丰富的内置集成功能、实时特性、强劲的通讯能力、丰富的扩展模块。

3、 温度变送器模块

实训中的变送器主要用于将由PT100检测到的实时温度转换为4-20MA的电流量,采用的是两线制接法。

4、 驱动模块

执行机构模块有驱动模块和继电器,在该实训中我们选用驱动模块来作为自制温度控制系统的执行机构,在前面的方案设计选择中我们已经对选用(模拟量输出模块)驱动模块作为改变加热器的执行机构。

3.1.2 硬件接线图:

3.2 系统设计

3.2.1 系统设计原理图 给定值控制器D/A执行机构被控对象被控量A/D温度变送器+_

3.2.2参数变换

1、输入部分:

温度变送器参数为:0-300度——4-20mA

EM235输入AI接收电流范围0-20mA,为12位A/D转换器,其转换后数字量范围为:0-32000,故对应范围为:0-20mA——0-32000。

故编程时:

0-300度-----------6400-32000

PID子程序中检测值PV=AIW0, 归一化得

PV/32000=VD100

2、输出部分:

实际中,驱动模块调压范围为:1.3V-3.2V——0-24V

PLC的EM235模块中AO输出为0-10V——0-32000

设计中我们只需要0-5V电压给驱动模块,即数字量为0-16000

PID运算输出范围为0-1之间小数,实训中我们需要将该0-1对应到1.3-3.2V

因此PID运算输出对应数字量范围为:1.3*3200=4600V,3.2*3200=10240V

因此,D/A转换器的数字量D对应PID程序输出x之间关系为:

D=f(x)= X*(10240-4160)+4160

驱动模块输入电压V与PID输出x之间关系为:

V=x*(3.2-1.3)+1.3

3、设定部分:

PID子程序设定值VD104为归一化0-1之间的值

0-300度---6400-32000

0-32000-----0-1 综合得0-300度------0.2-1

X=T*(1-0.2)/300+0.2

3.2.3 工程转换

1、信号变换中的数学问题

信号的变换需要经过以下过程:物理量-传感器信号-标准电信号-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就可以在显示器上直接表达为被检测的物理量。

2、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可以从结果寄存器中读取并直接显示为工程量。

3.3程序设计

3.3.1 内存变量分配表

1、程序地址分配

地址 说明

VD12 目标设定温度存放地址

VD300 当前实际温度存放地址

2、 PID指令回路表

3.3.2 PLC程序

1、主函数 利用特殊寄存器字节SM0.1调用两个初始化程序,分别为SBR_0;中断初始化子程序和SBR_1;PID参数初始化子程序。

2、中断初始化、开启中断

对中断事件进行初始化,设定定时中断0的时间间隔为200ms,用ATCH指令连接定时中断0与中断处理程序INT_0,并开启中断。

3、PID参数初始化

对PID指令的参数回路表进行设定。

4、中断执行的程序(INT_0)

程序的核心部分,由于PID接受的数据要在0.0~1.0之间,要进行比较多的工程量变化。对PID检测值、设定值、输出值全部都需进行归一化。主要有五个部分。

1)检测值归一化:

从传感器采集到的模拟量A/D转换后,转换为实数后,按公式VD100=PV/32000转换为0.0~1.0的数。

2)检测值转换为0到300度,在组态王界面显示

3)设定值归一化:

主要把组态王中给定温度值0~300度按公式X=T*(1-0.2)/300+0.2转换为PID指令接受的范围(0.2~1.0)。

4)调用PID程序:

在此调用PLC200的PID指令,对检测输入值和给定值进行PID运算,得到输出值。

5) 输出反归一化:

PID运算后得到的控制执行器运作的输出值,在0.0~1.0内的某值,不能直接为执行器所用,需要转换为EM235模拟量扩展模块中D/A对应的数值量,再由EM235转换为相应的模拟量控制加热丝加热。