欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    课程设计(论文)基于IPC和PLC的温度控制系统设计.doc

    • 资源ID:3993417       资源大小:262.50KB        全文页数:21页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    课程设计(论文)基于IPC和PLC的温度控制系统设计.doc

    重庆科技学院课程设计报告 院(系):_电气与信息工程学院 专业班级: 测控普2008-01学生姓名: 学 号: 设计地点(单位)_电气与信息工程学院I502_ _ 设计题目:_ 基于IPC和PLC的温度控制系统设计_ 完成日期:2011年 12 月 29 日 指导教师评语: _ _ _ 成绩(五级记分制):_ _ 指导教师(签字):_ _ 摘要温度是工业生产中常见的工艺参数之一,任何物理变化和化学反应过程都与温度密切相关。在科学研究和生产实践的诸多领域中, 温度控制占有着极为重要的地位, 特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足轻重的作用。对于不同生产情况和工艺要求下的温度控制,所采用的加热方式,燃料,控制方案 也有所不同。例如冶金、机械、食品、化工等各类工业生产中广泛使用的各种加热炉、热处理炉、反应炉等;燃料有煤气、天然气、油、电等。温度控制系统 的工艺过程复杂多变,具有不确定性,因此对系统要求更为先进的控制技术和控制理论。 在以PLC控制为核心,加热炉为基础的温度自动控制系统中,PLC将加热炉温度设定值与温度传感器的测量值之间的偏差经PID运算后得到的信号控制输出电压的大小,从而调节加热器加热,实现温度自动控制的目的。文章介绍了基于S7-200温度控制系统的PID调节器的实现。关键词:PLC 温度控制 PID S7-200 重庆科技学院课程设计任务书设计题目:基于IPC和PLC的温度控制系统设计学生姓名课程名称计算机测控系统专业班级测控普2008地 点I504、I502起止时间11.12.1911.12.30设计内容及要求1. 使用IPC、S7-200 PLC以及PLC实验台的加热器实现一个温度控制系统的所有接线图设计。2. 程序设计(1)界面设计:主界面设计、细目画面设计、温度实时变化趋势曲线和棒图的设计。(2)IPC和S7-200的数据通信程序设计:从PLC接收实测温度;将温度设定值、PID控制参数等发送到PLC。(3)S7-200 温度采集与PID控制程序设计,实现任意设定温度的实时控制。3. 单回路温度控制的PID参数整定和分析。要求:根据自己的学号与模10之余确定自己的温度设定值(40余数)及其相应的报警参数,据此设计相应的接线图;编写、调试和运行控制程序;整定PID参数满足相应的控制要求;撰写设计报告。设计参数1. 加热器参数:见实验室PLC实验设备温度控制挂件标示或说明2. 数据采集误差:<0.5%3. 稳态误差:<2%4. 动态误差:<5%进度要求第1天:选题、讲解任务、CB编程培训;第2天:IPC、S7-200 PLC和加热器的接线图设计、PLC控制加热器的基本应用;第3和4天:在IPC/PC上完成界面程序设计、曲线显示、参数设定界面等;第5和6天:IPC和PLC的通信程序设计;第7-8天: PLC温度控制程序设计和调试;第9天:IPC和PLC联调、PID参数整定、分析;第10天:撰写设计报告和检查设计结果参考资料胡文金等.计算机测控系统.重庆:重庆大学出版社,2003.6陈建明.电器控制与PLC应用.北京:电子工业出版社,2006 李世平.PC计算机测控技术及应用.西安:西安电子科技大学出版社,2003.9其它说明.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。.若填写内容较多可另纸附后。3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。教研室主任: 指导教师:2011 年 12月 16 日1 引言1.1 温度控制系统的意义温度及湿度的测量和控制对人类日常生活、工业生产、气象预报、物资仓储等都起着极其重要的作用。在许多场合,及时准确获得目标的温度、湿度信息是十分重要的,近年来,温湿度测控领域发展迅速,并且随着数字技术的发展,温湿度的测控芯片也相应的登上历史的舞台,能够在工业、农业等各领域中广泛使用。1.2 温度控制系统背景温度控制系统在国内各行各业的应用虽然十分广泛,但从国内生产的温度控制器来讲,总体发展水平仍然不高,同日本、美国、德国等先进国家相比仍然有着较大的差距。目前,我国在这方面总体水平处于20实际80年代中后期水平,成熟产品主要以“点位”控制及常规的PID控制器为主,它只能适应一般温度系统控制,难于控制滞后、复杂、时变温度系统控制。而适应于较高控制场合的智能化、自适应控制仪表,国内技术还不十分成熟。形成商品化并在仪表控制系统参数的自整定方面,还没开发性能可靠的自整定软件。参数大多靠人工经验及我国现场调试来确定。随着科学技术的不断发展,人们对温度控制系统的要求越来越高,因此,高精度、智能化、人性化的温度控制系统是国内外必然发展趋势。1.3 功能特点与技术参数 实践证明温度对象的特点是:时间常数大,滞后现象严重,反应在控制系统上,就是被控温度的变化滞后于调节器的输出。我们知道热量的传递是需要一定时间的,温度上升的快慢与其热容量的大小有关,通常温度的上升与下降和时间的关系是一个指数曲线关系。而产生滞后则与热量的传递过程有关,再者测温元件也有一定的惯性,这些都会产生滞后现象。本次设计选用的是TKPLC2型温度控制器,该加热器用的是0V到5V的电压加热,温度控制器同样的具有滞后大和惯性大的特点。,1.4 控制方法 通过以上的分析,系统的总的滞后时间比较大,升温的滞后时间相对降温来说是比较小的。因此,在PID调节中,要使系统的品质变好,除了加入适当的积分以消除静态误差外,还应该加强比例作用使调节更加灵敏,减小调节时间,同时还应该加入适当的微分作用,使系统的超调量减小。2 硬件设计2.1 西门子S7-200 CUP224S7-200系列PLC可提供4种不同的基本单元和6种型号的扩展单元。其系统构成包括基本单元、扩展单元、编程器、存储卡、写入器等。S7-200系列的基本单元如表2.1所示。表2.1 S7-200系列PLC中CPU22X的基本单元型号输入点输出点可带扩展模块数S7-200CPU221640S7-200CPU222862个扩展模块S7-200CPU22424107个扩展模块S7-200CPU224XP24167个扩展模块S7-200CPU22624167个扩展模块本论文采用的是CUP226。它具有24输入/10输出共40个数字量I/O点。可连接7个扩展模块,最大扩展至248路数字量I/O点或35 路模拟量I/O点。26K字节程序和数据存储空间。6个独立的30kHz高速计数器,2路独立的20kHz高速脉冲输出,具有PID控制器。2个RS485通讯/编程口,具有PPI通讯协议、MPI通讯协议和自由方式通讯能力。I/O端子排可很容易地整体拆卸。用于较高要求的控制系统,具有更多的输入/输出点,更强的模块扩展能力,更快的运行速度和功能更强的内部集成特殊功能。可完全适应于一些复杂的中小型控制系统。2.2 加热炉的选型本次实验选用的加热炉为TKPLC-2型。这种加热炉集成有驱动模块和温度变送器使用简单,只需将输入端和输出端分别接到PLC的输出模块和输入模块就可以了。免去了硬件设计的麻烦。TKPLC-2型加热炉,也具有惯性大,滞后大的特点,在实际控制过程的过程中会比较麻烦,而且该加热炉是靠周边环境自然降温,所以降温过程比较长。不过通过改良PID调节的参数,能勉强控制好加热炉的温度,使得稳态误差和动态误差都能达到任务的要求。2.3上位机即便远离生产现场,操作人员仍可以通过远程计算机即上位机直接向生产设备发出控制指令的。上位机屏幕上可以动态实时显示各种信号变化(液压,水位,温度等),便是人机界面(Human Machine Interface)。本实验利用C+ Builder 6.0绘制的。C+ Builder是Windows95/NT环境下的新一代面向对象、可视化的快速应用程序开发工具(RAI),它是RAD开发模式和可重用结构件的一个完美结合,代表着未来C+语言演化和发展的方向;同时C+语言程序代码仅次于汇编语言的编译和执行速度,能满足对系统实时性要求较高的应用场合以及强大的图形绘制功能。因此,在上位机软件上,C+ Builder语言是个不错的选择。3 软件设计3.1 PID控制程序设计 在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。PID控制器问世至今已有近80年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便5。即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制,实际中也有PI和PD控制。PID控制器就是根据系统的误差,利用比例、 积分、微分计算出控制量进行控制的。比例(P)控制:比例控制是一种最简单,最常用的控制方式4。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差。 积分(I)控制:在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的 或简称有差系统。为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。 微分(D)控制:在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。 自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用, 其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入 “比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。3.1.1 PID在PLC中的回路指令西门子S7-200系列PLC中使用的PID回路指令,见表3.2表3.2 PID回路指令名称PID运算指令格式PID指令表格式PID TBL,LOOP梯形图使用方法:当EN端口执行条件存在时候,就可进行PID运算。指令的两个操作数TBL和LOOP,TBL是回路表的起始地址,本文采用的是VB100,因为一个PID回路占用了32个字节,所以VD100到VD132都被占用了。LOOP是回路号,可以是07,不可以重复使用。PID回路在PLC中的地址分配情况如表3.3所示。表3.3 PID指令回路表偏移地址名称数据类型说明0过程变量(PVn)实数必须在0.01.0之间4给定值(SPn)实数必须在0.01.0之间8输出值(Mn)实数必须在0.01.0之间12增益(Kc实数比例常数,可正可负16采样时间(Ts)实数单位为s,必须是正数20采样时间(Ti)实数单位为min,必须是正数24微分时间(Td)实数单位为min,必须是正数28积分项前值(MX)实数必须在0.01.0之间32过程变量前值(PVn-1)实数必须在0.01.0之间3.1.2 回路输入输出变量的数值转换方法本文中,设定的温度是给定值SP,需要控制的变量是TKPLC-2型加热炉的温度。但它不完全是过程变量PV,过程变量PV和PID回路输出有关。在本文中,经过测量的温度信号被转化为标准信号温度值才是过程变量,所以,这两个数不在同一个数量值,需要他们作比较,那就必须先作一下数据转换。传感器输入的电压信号经过转换后,是一个整数值,但PID指令执行的数据必须是实数型,所以需要把整数转化成实数。使用指令DTR就可以了。3.1.3 实数归一化处理因为PID中除了采样时间和PID的三个参数外,其他几个参数都要求输入或输出值0.01.0之间,所以,在执行PID指令之前,必须把PV和SP的值作归一化处理。使它们的值都在0.01.0之间。单极性的归一化的公式: (3-5)3.1.4 PID参数整定PID参数整定方法就是确定调节器的比例系数P、积分时间Ti和和微分时间Td,改善系统的静态和动态特性,使系统的过渡过程达到最为满意的质量指标要求。一般可以通过理论计算来确定,但误差太大。目前,应用最多的还是工程整定法:如经验法、衰减曲线法、临界比例带法和反应曲线法。经验法又叫现场凑试法,它不需要进行事先的计算和实验,而是根据运行经验,利用一组经验参数,根据反应曲线的效果不断地改变参数,对于温度控制系统,工程上已经有大量的经验,其规律如表3.4所示表3.4 温度控制器参数经验数据被控变量规律的选择比例度积分时间(分钟)微分时间(分钟)温度滞后较大20603100.533.2 S7-200程序设计流程图运行PLC初始化PID初始化运行指示灯调用子程序0设定温度设定PID值每100ms调用一次中断程序读入温度并转换把实际温度值放入VD100调用PID指令输出PID值返回主程序子程序0中断程序3.3 S7-200 PLC控制程序的设计(1) 初次上电1)读入模拟信号,并把数值转化显示TKPLC-2型加热炉的当前电压图3.1电压采集梯形图(2)数据发送和接收程序图3.2 数据发送梯形图图3.3 数据发送梯形图(3) 子程序1)输入设定温度。(图3.4)2)把设定温度、P值、I值、D值都导入PID。(图3.5)3)中断程序。(图3.6)图3.4图3.5图3.64 中断程序,PID的计算1)模拟信号的采样处理,归一化导入PID。(图3.7)2)PID程序运算。(图3.8)3)输出PID运算结果,逆转换为模拟信号。(图3.9)图3.7图3.8图3.9PID控制程序在整个程序中是重要的组成部分,通过PID控制程序可以很好的控制加热炉的工作状态。PID控制程序在整个程序中是重要的组成部分,通过PID控制程序可以很好的控制加热炉的工作状态。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。4整体界面的设计下图4.1为上位机整体界面的设计。SP用来输入设定值,PV是用来显示时事的检测值。同时还可以设置P、I、D 3个参数用来进行PID算法的计算。图 4.1主控制界面图4.2上图4.2为初始设定值为3V,测量值高于3V,P=75,I=0.1,D=0.6自动进行PID计算控制电压的输出。由趋势图可以看到测量电压缓缓的逼近测量值,此时的测量值为3.085V误差为2.8%达到预期的效果。5总结本课题设计了基于IPC和PLC的温度控制系统设计PLC(可编程控制器) 以其可靠性高、抗干扰能力强、编程简单、功能强大、性价比高、体积小、能耗低等显著特点广泛应用于现代工业的自动控制之中。PID闭环控制是控制系统中应用很广泛的一种控制算法,对大部分控制对象都有良好的控制效果。组态软件组态王因其简单易用的特点,在HMI设计中深受用户的喜欢而得到广泛的使用。在西门子S7-200系列PLC和C+ Builder的基础上,我们成功设计出了温度控制系统,该系统达到了快、准、稳的效果,也达到了预期的目标。再加上运用C+Builder来开发上位机软件,既能满足实时性要求较高的场合,又大大简化了编程难度、缩短了开发周期,同时还能方便地开发出丰富的图形界面,对于初学者是一种很好的选择。该温度控制系统也有一些有不足的地方需要改进,编程时我们用了编程软件自带的PID指令向导模块,这样虽然方便,但是使得控制系统超调量和调节时间都稍微偏大,若不直接调用该模块,而是自己编写PID控制子程序的话,控制效果可能会更好。日后,随着对PLC硬件系统和通信方式的深入了解,还可以丰富远程控制指令,以应对运行过程中的各种突发事件,增加其他PLC,通过构建复杂的多级网络适应大型的工业控制,使该系统运行时更加稳定可靠,性能更加完善。参考文献1 张仑.可编程序控制器中PID控制的研究J.电子电气教学学报,20052 SIMATIC S7-200可编程序控制器系统手册M.北京:机械工业出版社,2002.3 戴仙金.西门子S7-200系列PLC应用与开发M.中国水利水电出版社,2007.4 胡文金.计算机测控应用技术M.重庆:重庆大学出版社,2003.6:147-149附件/-#include <vcl.h>#include <math.h>#include "Unit1.h"/-#pragma hdrstop#pragma package(smart_init)#pragma link "MSCommLib_OCX"#pragma resource "*.dfm"double t30trend480,va12; /曲线有480个点double vSP=0,PV=0,PV1,HL;double max,min,sum=0;int n=0,m;char flag;static OptR=0,OptS=0; /优化变量AnsiString temSP,temP,temI,temD;TForm1 *Form1;/-_fastcall TForm1:TForm1(TComponent* Owner) : TForm(Owner)/-void _fastcall TForm1:FormActivate(TObject *Sender) MSComm1->PortOpen=true;/-void _fastcall TForm1:Timer1Timer(TObject *Sender) if(flag=1) temSP=Edit1->Text+1; MSComm1->Output=OleVariant(AnsiString(temSP); else if(flag=2) temP=Edit3->Text+2; MSComm1->Output=OleVariant(AnsiString(temP); else if(flag=3) temI=Edit4->Text+3; MSComm1->Output=OleVariant(AnsiString(temI); else if(flag=4) temD=Edit5->Text+4; MSComm1->Output=OleVariant(AnsiString(temD); /-Image2->Picture->LoadFromFile("bangtu.bmp"); /重调背景,清楚当前棒图Image2-> Canvas->Pen->Color = clRed; /给定值棒图为红色Image2-> Canvas->Pen->Width = 5; /棒条宽度Image2->Canvas->MoveTo(30,295); /给定值棒条起点Image2->Canvas->LineTo(30,298-vSP*295/5.0+2); /比例变换Image2-> Canvas->Pen->Color = clBlue; /测量值棒图为兰色Image2->Canvas->MoveTo(72,295); /测量值棒条起点Image2->Canvas->LineTo(72,298-PV*295/5.0+2); /比例变换/-Image1->Picture->LoadFromFile("qushi.bmp"); /重调趋势背景,清除当前趋势曲线Image1-> Canvas->Pen->Width = 1; /曲线粗细程度Image1-> Canvas->Pen->Color = clRed; /测量值曲线为红色Image1->Canvas->MoveTo(0,297); /曲线起点for(int i=0;i<480;i+) /曲线由480个点组成Image1->Canvas->LineTo(i,299-t30trendi*298/5.0); /两点之间连一直线Image1-> Canvas->Pen->Color = clBlue; /给定值曲线为兰色Image1->Canvas->MoveTo(0,297); /曲线起点for(int i=0;i<480;i+) /曲线由480点组成Image1->Canvas->LineTo(i,299-vSP*298/5.0); /两点之间连一直线/Edit1->Text=FloatToStrF(vSP,0,4,4); /给定值显示,取4位有效数/Edit2->Text=FloatToStrF(PV,0,4,4); /测量值显示,取4位有效数/-void _fastcall TForm1:Button1Click(TObject *Sender) /发送SP值 AnsiString Test=Edit1->Text; HL=StrToFloat( Test ); if(HL>1) ShowMessage("输入超出范围,请重新输入"); else vSP=HL*5.0; Edit6->Text=FloatToStrF(vSP,0,3,3); flag=1; /-void _fastcall TForm1:Button2Click(TObject *Sender) /发送P值 flag=2;/-void _fastcall TForm1:Button3Click(TObject *Sender) /发送I值 flag=3;/-void _fastcall TForm1:Button4Click(TObject *Sender) /发送D值 flag=4;/-void _fastcall TForm1:MSComm1Comm(TObject *Sender) /接收if(MSComm1->CommEvent=2) AnsiString tmp=AnsiString(MSComm1->Input); PV1=StrToFloat( tmp); PV1=PV1*5; van+=PV1; if(n=12) sum=n=0; max=va0;min=va0; for(m=0;m<12;m+) if(max<vam) max=vam; if(min>vam) min=vam; sum=sum+vam; PV=(sum-max-min)/10.0; for(int K=0;K<479;K+) t30trendK=t30trendK+1; /刷新实时数据 t30trend479=PV; Edit2->Text=FloatToStrF(PV1,0,4,4); if(vSP-PV)>2|(PV-vSP>0.6) Shape1->Brush->Color=clWhite; Shape2->Brush->Color=clRed; else Shape1->Brush->Color=clGreen; Shape2->Brush->Color=clWhite; /-void _fastcall TForm1:Button7Click(TObject *Sender) /退出程序 MSComm1->PortOpen=false; Close();/-

    注意事项

    本文(课程设计(论文)基于IPC和PLC的温度控制系统设计.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开