基于VB的调压PID温度控制系统主界面设计.docx

上传人:b****8 文档编号:8883564 上传时间:2023-02-02 格式:DOCX 页数:21 大小:416.70KB
下载 相关 举报
基于VB的调压PID温度控制系统主界面设计.docx_第1页
第1页 / 共21页
基于VB的调压PID温度控制系统主界面设计.docx_第2页
第2页 / 共21页
基于VB的调压PID温度控制系统主界面设计.docx_第3页
第3页 / 共21页
基于VB的调压PID温度控制系统主界面设计.docx_第4页
第4页 / 共21页
基于VB的调压PID温度控制系统主界面设计.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

基于VB的调压PID温度控制系统主界面设计.docx

《基于VB的调压PID温度控制系统主界面设计.docx》由会员分享,可在线阅读,更多相关《基于VB的调压PID温度控制系统主界面设计.docx(21页珍藏版)》请在冰豆网上搜索。

基于VB的调压PID温度控制系统主界面设计.docx

基于VB的调压PID温度控制系统主界面设计

目录之阿布丰王创作

时间:

二O二一年七月二十九日

摘要II

一无线通信网络简介1

1.1无线通信控制网络1

1.2VisualBasic简介1

二系统整体设计方案2

2.1硬件设计2

2.1.1实验箱连接3

2.1.2串行通信基础 4

2.2主界面设计6

2.3数据收集设计 6

2.4控制算法设计9

三主界面设计10

3.1VisualBasic的编程方法10

3.2用户登岸模块设计12

四系统运行结果与分析15

4.1系统运行结果15

4.2分析改进办法15

参考文献15

附录16

摘要

基于无线通信平台VB的温度PID控制系统主要由被控对象(电热炉)、温度控制器和无线通信模块三部份组成.在被控对象和温度控制器之间设置过程控制接口,过程控制接口包括温度检测装置和调功器,完成接收客户真个请求和温度控制的功能.温度控制采纳PID控制战略,完成温度显示和参数设置的功能,将设置参数(恒温值、PID参数),实现远程监控.

本课题主要研究基于无线通信平台VB的温度PID系统主界面设计.本系统包括硬件设计、软件设计和数据收集,温度自动控制箱和传感器部份,在VB中实现动画显示、报警处置、流程控制、实时曲线和报表输出等功能.同时利用智能仪表控制系统,在所设计的VB监控界面中,进行相关仪表调校和控制器参数整定.最后向用户提供Pt100温度控制系统的静态运行结果.

关键词:

无线通信平台;VB;PID;Pt100

一无线通信网络简介

1.1无线通信控制网络

无线通信网络,由于其特有的非接线通信方式的优点,广泛应用于特定地舆位置(如山区、油田和水利设施等)的现场遥测遥控领域.尤其在分布距离较远且数据传输量不年夜时,无线通信网络的优势更为明显.

目前,采纳无线通信技术的工控产物很多,有的采纳RF调频通信原理;有的采纳扩频通信原理.根据发射功率的分歧,无线通信的距离也各不相同.也有很多公司开发出了应用于分歧场所的无线数传模块,年夜年夜方便了无线通信测控系统的设计.考虑到试验系统的要求及实际应用情况,我们选用了台湾威达(ICP)的牛顿无线通信模块和工控模块开发无线通信控制网络实验平台.

台湾威达(ICP)公司是著名的工控产物研发和生产公司,其公司生产的工业控制计算机、数据收集卡和工控模块都是目前工控行业的主流产物.尤其是工控模块产物,由于性价比高、组合使用方便,深受用户好评.典范的无线通信控制网络分布式控制系统如图1-1所示.

图1-1典范无线通信控制网络

1.2VisualBasic简介

VisualBasic(简称VB)是Microsoft公司为开发Windows应用法式提供的强有力的开发环境和工具,它是具有很好的图形用户界面的法式设计语言,采纳面向对象和事件驱动的法式设计两种新机制,把过程化和结构化编程结合在一起.法式开发图形化的构思使开发者非常容易地创立一个窗体(Form),再从VB工具箱中选择一些控件放入窗体中,无需编程设计界面.界面设计面向对象,容易完成,可是应用法式的过程部份却不是面向对象的,然而VB具有事件驱动方法,使开发者容易地完成界面设计和代码编写.  

VB使用方便,具有Windows开发环境所支持的一些主要功能:

  

(1)创立各种法式对象,如文本框和命令按钮等. 

(2)创立多个多种类型的窗口,如窗体等. 

(3)实时地响应光标和键盘事件,如鼠标选中的事件过程等. 

(4)可根据需要显示或隐藏各种对象,如命令按钮可不见. 

(5)直接控制打印机输. 

(6)控制RS-232串行通迅接口,实现串行数据通迅. 

(7)可实现和其它Windows法式之间的相互通信. 

(8)有强年夜的图形图像处置功能. 

(9)能创立和管理数据库. 

与其它法式设计语言相比,VB也有许多共同的性能:

 

(1)胜利地简化了界面设计,为应用法式开发提供了通向Windows把持环境的快捷途径. 

(2)提供了应用法式开发所需的许多代码(如窗体、控件),加快了开发速度. 

(3)让开发者以可视化方式和代码方式进行工作. 

(4)完善的运行毛病处置功能. 

(5)丰富的图形指令,可生成和机制作各种图形. 

(6)强年夜的数据和字符处置功能. 

(7)具有丰富的控件库. 

(8)可编译成.EXE文件,脱离VB环节独自运行. 

自从VB发生之后,很多人城市使用其来开发自己的应用法式,在开发过程中,开发人员不需要非常清楚有关Windows把持系统的细节,就可以作出满意的作品.

二系统整体设计方案

系统设计主要包括硬件设计、主界面设计、数据收集与算法设计,下面就对这几方面做主要的分析:

2.1硬件设计

整个系统结构由一台工控机构成的上位机用于整个系统的管理,装置多点测温系统管理软件,并通过无线通信对下位分机进行控制.下位分机一方面通过无线通信接收来自上位通迅总线的上位机控制命令,另一方面通过法式收集各个传感器的温度值,实现温度数据检测和转换.另外上位机还具有数据的输出打印机进行随时数据打印.硬件系统采纳这种结构,本钱小、维护简单、工作稳定. 

系统上位机管理分析软件:

VB易学的可视化编程语言开发系统,以其所见即所得的可视化界面设计风格和面向对象的法式设计等特点,已广泛地应用于各个领域.采纳VB开发数据收集和工业控制应用软件十分方便,尤其软件界面设计非常便捷,编程工作量较小,开发周期短,完全能够满足系统功能的要求的数据收集速度、其较强的数据处置能力和简单灵活的编程风格,可年夜年夜缩短开发周期,减少开发费用,减轻编程人员的设计负担,无疑是一种理想的选择.界面友好易把持,年夜量检测结果由计算机进行管理,实时数据分析及显示,图形画面显示结果,并有打印机、互联网等多种输出方式,功能强年夜,性能优良.

图2-1硬件连接框图

2.1.1实验箱连接

温度自动控制试验箱是以微处置器为中央控制单位,能完成物理信号的输入输出、信号转换和计算控制等功能,并可与外界通讯的仪器仪表.其可靠性高,稳定性好,长期工作维护量小.可采纳LCD显示,清晰直观,读数方便.适用范围广,使用灵活:

可选择分歧的丈量值和输出值;可在线修改参数,流量小信号切除、失败模式电流输出等功能;具有内部计算、数据存储、自诊断、自校验等多种功能.具有年夜量的非控制性信息(管理信息),自动控制系统的被控量是温度、压力、流量、液位、成份、粘度、湿度等这样一些过程变量的系统,具有连续生产过程自动控制、由过程检测和控制仪表组成、被控过程多样,控制方案丰富的特点.在现代工业生产过程自动化中,过程控制技术正在为实现各种最优技术经济指标、提高经济效益和社会效益、提高劳动生产率、节约能源、改善劳动条件、呵护环境卫生、提高市场竞争力等方面起着越来越年夜的作用.

本实验中,硬件部份的温度收集通过Pt100和电热炉来完成,Pt100通过感应到电热炉中的温度变动来把温度信号转换为电信号,从而通过PC机中的VB法式达到控制温度和对温度的收集.

温度自动控制实验箱系统如图2-2所示.

图2-2实验箱连线

2.1.2串行通信基础 

随着计算机的广泛应用,市场上许多电气产物应用串口通信技术作为对外数据交换的桥梁,串口通信受到如此重视,主要原因就是这个技术简单而且容易实现.串行通信是指通信的发送方和接收方之间数据信息的传输是在单根数据线上,以每次一个二进制的0、1为最小单位一位一位的传输. 

串行数据传送的特点是:

 

(1)串行传送在一根传输线上既传送数据信息又传送联络控制信号;

(2)有固定的数据格式,分异步与同步数据格式; 

(3)串行通信中对信号的逻辑界说与TTL不兼容,故需要进行逻辑关系与逻辑电平转换; 

(4)串行传送信息的速率需要控制,要求双方设定通信传输的波特率. 

总而言之,串行通信是指在单根数据线上将数据一位一位地依照顺序进行传送.在传送数据的过程中,每发送完一个数据,紧接着发送第二个,直到发送完最后一位为止.在接收数据的过程中,每一次从单根数据线上一位一位地依次接收,直到最后收到一个完整的数据为止.因此,串行口通信方式一般用在远距离数据通信中,正好符合具有占用通信线少、本钱高等优点. 

网络通信过程中,通信双方要交换数据,需要高度的协同工作.为了正确的解释信号,接收方必需确切地知道信号应当何时接收和处置,因此按时是至关重要的.在计算机网络中,按时的因素称为位同步.同步是要接收方依照发送方发送的每个位的起止时刻和速率来接收数据,否则会发生误差.通常可以采纳同步或异步的传输方式对位进行同步处置. 

在异步传输中,信息以字符为单位进行传输.异步传输的优点就是收、发双方不需要严格的位同步,所谓“异步”是指字符与字符之间的异步,字符内部仍为同步.在同步传输中,不单字符内部为同步,字符与字符之间也要坚持同步.同步传输的特点是可获得较高的传输速度,但实现起来较复杂. 

为了解决以上问题,串行传输可以采纳以下两种方法:

异步传输和同步传输. 

(1)异步传输  

异步传输将比特分成小组进行传送,小组可以是8位的1个字符或更长.发送方可以在任何时刻发送这些比特组,而接收方从不知道它们会在什么时候达到.一个罕见的例子是计算机键盘与主机的通信.按下一个字母键、数字键或特殊字符键,就发送一个8比特位的ASCII代码.键盘可以在任何时刻发送代码,这取决于用户的输入速度,内部的硬件必需能够在任何时刻接收一个键入的字符.

异步传输存在一个潜在的问题,即接收方其实不知道数据会在什么时候达到.在它检测到数据并做出响应之前,第一个比特已经过去了.这就像有人出人意料地从后面走上来跟你说话,而你没来得及反应过来,漏失落了最前面的几个词.因此,每次异步传输的信息都以一个起始位开头,它通知接收方数据已经达到了,这就给了接收方响应、接收和缓存数据比特的时间;在传输结束时,一个停止位暗示该次传输信息的终止.依照惯例,空闲(没有传送数据)的线路实际携带着一个代表二进制1的信号,异步传输的开始位使信号酿成0,其他的比特位使信号随传输的数据信息而变动.最后,停止位使信号重新变回1,该信号一直坚持到下一个开始位达到.例如在键盘上数字“1”,依照8比特位的扩展ASCII编码,将发送“00110001”,同时需要在8比特位的前面加一个起始位,后面一个停止位. 

(2)同步传输  

同步传输的比特分组要年夜很多.它不是自力地发送每个字符,每个字符都有自己的开始位和停止位,而是把它们组合起来一起发送.我们将这些组合称为数据帧,或简称为帧.数据帧的第一部份包括一组同步字符,它是一个共同的比特组合,类似于前面提到的起始位,用于通知接收方一个帧已经达到,但它同时还能确保接收方的采样速度和比特的达到速度坚持一致,使收发双方进入同步.帧的最后一部份是一个帧结束标识表记标帜.与同步字符一样,它也是一个共同的比特串,类似于前面提到的停止位,用于暗示在下一帧开始之前没有另外即将达到的数据了. 

综上所述,我们可以归结一下同步传输和异步传输的区别,具体如下:

 1)异步传输是面向字符的传输,而同步传输是面向比特的传输. 2)异步传输的单位是字符而同步传输的单位是帧. 

2.2主界面设计

为了方便地管理系统法式,且占有教少的系统资源,我们采纳多文档界面MDI进行主界面的设计.通过选择主界面上的菜单,我们就可以实现对温度信息的各种把持.

2.3数据收集设计 

数据收集模块主要由名称为Timer_Sample的一个Timer控件实现数据

收集,由于是多路温度收集,首先设置一个变量,从1一直到总温度点数逐一递增,该变量影响地址和通道数,当该变量为1时,进行第1通道的温度收集,收集之后并把该变量加1,地址和通道做出响应的变动,进行下次收集把持.整个过程放在一个For循环里面实现. 

下位机的设置是当上位机发送地址和通道给下位机时,下位机把就把对应该地址和通道的温度值读取出来保管,当上位机需要读取时,上位机发送MSCommObj.Input命令,下位机就把贮存的温度值发送给上位机.上位机进行判断是否超时,整个过程中应该在50ms以内完成,50ms之后上位机进行收集数

据把持,而且对收集出来的数据进行判断,下位机正常的反馈值应该是一个年夜于5个字符位的温度值,如果温度值有毛病,或者超时没有收集出来温度值,则手动设置收集出来的数据为0,并以红色标识表记标帜,暗示数据有毛病,需要检查硬件设备,如果温度值没有毛病,符合要求,则把收集上来的温度值复制到m_s_SaveTemp中进行存储.延时50ms的实现:

在VB傍边,并没有延时法式,所以必需通过法式来实现,实现的方法是通过GetTickCount函数来实现.GetTickCount函数包括在kernl32.dll库里面,在法式加载的时候需要在模块中声明.GetTickCount的函数功能:

GetTickCount返回从把持系统启动到现在所经过的毫秒数.通过这个函数,先建立一个变量,贮存法式开始的时间,然后用以后时间减去法式开始时间,如果结果少于超时时间,则继续循环,直赴任值年夜于超时时间,这样就完成了延时的功能,延时的时间就是设定超时的时间.期间还需要使用一个函数:

DoEvents.DoEvents函数功能是转让控制权,以便让把持系统处置其它的事件.为了防止在延时的时候有其他事件发生,例如存储模块进行存储,则必需转让控制权给系统,这样系统才华响应其他事件,否则延时过程会招致CPU占用率100%等其他不成预料的问题发生.数据收集为了方便调试,设置了一个Debug模式,通过Debug模式总开关可以设置虚拟采数过程,不需要实际硬件连接从而达到调试法式的目的.数据收集流程如图2-3所示:

图2-3数据收集流程图

在Debug模式下与在正常模式下的区别在于Debug模式并没有真正发送地址和通道的实际把持,屏蔽失落了一条语句:

MSCommObj.Output=vSend,该语句在正常模式下实现把vSend里面的数值也就是地址和通道通过串口发送给下位机,在这里并没有真正发送,所以当没有下位机的情况下,也可以进行调试,语句不犯错.在接收电压数据的把持过程中也同时屏蔽失落了一条语句:

vReceiveBuffer=MSCommObj.Input,并没有真正把数据收集上来,而是选择一个固定的数看成收集上来的电压值,从而才华继续接下来的把持.

通过Debug模式的创立,可以在没有硬件的情况下进行软件编纂,加快了工程进度,而且还能容易的找出问题的所在之处.

为了达到实时数据收集目的,实时数据收集处置法式采纳MSComm事件驱动方式.

OnComm事件法式的流程图如图2-4所示:

图2-4OnComm事件法式的流程图

2.4控制算法设计

系统控制的总体思路以及细节流程图如下图2-5和2-6所示:

图2-5系统控制的框图

图2-6控制窗口流程图

三主界面设计

3.1VisualBasic的编程方法

VB的窗口化设计遵循了以下四个主要的步伐:

 

(1)选择对象(Object):

确实存在的工具,可以被使用,有一个特定的名字,就是一个对象.在VB应用法式的设计中,窗口、鼠标、图片、按钮等都是对象.一个对象就是既含数据又含把持该数据代码的一个逻辑实体,数据是对象的特性,把持即函数或过程,是对象的行为.对象是法式的基本元素,在对象存在的法式中,所有的举措和信息肯定和对象有关.所以VB法式设计首先要根据选择所需的对象.VB中的对象与面向对象法式设计中的对象在概念上是一样的,但在使用上有很年夜的区别,在面向对象法式设计中,对象由法式员自己设计,而在VB中,对象是由系统设计好的,可直接作用或对其进行把持.对象的选择可以利用VB的工具箱进行. 

(2)设置属性(Property):

每一个存在的对象所具备的特性称为属性.例如,一个按钮的题目(Caption),名称(Name),颜色(Color),字体年夜小(Fontsion),是否可见(Visible)等都称为其属性.每个对象都可以根据需要设置其属性.在VB中,所有对象的属性都通过属性窗口显示出来,当单击某一对象时,属性窗口即显示它的所有属性.属性即可以通过属性窗口来设置,又可以依靠法式语句来设置. 

(3)引发事件(Event):

所谓事件,是由VB事先设置好的、能够被对象识另外举措.每一个对象总会与外界(其它对象)发生互动,此互动发生时,就是这个对象有一个事件被引发了.一个对象可以被引发的事件有很多,例如,一个鼠标可以有单击、双击、拖移、移动等事件,其它对象也有一样或类似的事件,分歧类型的对象可能会有分歧的事件可以被外界引发.响应某个事件所执行的把持通过一段法式代码来实现,这样的法式代码叫做事件过程.一个对象可以识别一个或多个事件,因此可以使用一个成多个事件过程对用户或系统的事件作出响应.事件过程的一般格式如下:

Private Sub对象名称一事件名称() 

事件响应法式代码      

End Sub

对象名称指的是对象的Name属性,事件名称是由VB予该对象事件的,而这个事件必需是对象所能识另外预先界说好赋予该对象事件的,而这个事件必需是对象所能识另外. 

(4)确定方法(Method):

当对象被引发了某个事件之后,系统(或法式)应该采纳的相应步伐就称之为方法.VB提供了年夜量的方法,有些方法可以适用于多种甚至所有类型的对象,而有些方法只适用于少数几种对象.例如,Myform.Print"Good",暗示VB提供的Print方法可以在名为"Myform"的窗体对象上显示字符串"Good";Printer. Print "Good"暗示Print方法可以在打印机对象中打印出字符串"Good". 

在软件编译方法上,现在主要采纳的结构方式有两种:

BS结构和CS结构.B/S是Brower/Server的缩写,客户机上只要装置一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器装置Oracle、Sybase、Informix或 SQL Server等数据库.浏览器通过Web Server同数据库进行数据交互. 

B/S最年夜的优点就是可以在任何处所进行把持而不用装置任何专门的软件.只要有一台能上网的电脑就能使用,客户端零维护.系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了.甚至可以在线申请,通过公司内部的平安认证(如CA证书)后,不需要人的介入,系统可以自动分配给用户一个账号进入系统. 

C/S又称Client/Server或客户/服务器模式.服务器通常采纳高性能的PC、工作站或小型机,并采纳年夜型数据库系统,如Oracle、Sybase、Informix或SQL Server.客户端需要装置专用的客户端软件. 

C/S的优点是能充沛发挥客户端PC的处置能力,很多工作可以在客户端处置后再提交给服务器.对应的优点就是客户端响应速度快.缺点主要有以下几个:

  

只适用于局域网.而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性.这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处置分布式的数据.  

客户端需要装置专用的客户端软件.首先涉及到装置的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行装置或维护.特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题.还有,系统软件升级时,每一台客户机需要重新装置,其维护和升级本钱非常高.  

对客户真个把持系统一般也会有限制.可能适应于Win98,但不能用于win2000或WindowsXP.或者不适用于微软新的把持系统等等,更不用说Linux、Unix等.

3.2用户登岸模块设计

下文将分别介绍在MicrosoftVisualBasic6.0集成环境下各个模块的设计过程.首先运行MicrosoftVisualBasic6.0,呈现“新建工程”对话框,如图3-1所示.选择新建“标准EXE”,执行“翻开”命令,进入VisualBasic工程集成开发环境,窗体设计器会自动呈现一个Form1的空白窗体,如图3-2所示.

图3-1“新建工程”对话框

图3-2空白窗体

为防止不相关人员随意翻开本软件修改,删除检测结果,所以软件运行后,首先设计了登岸对话框,要求输入用户名和密码,输入正确后才华进入该软件的主界面.如果失败达三次,则自动退出系统.用户登岸界面如图3-3所示.

图3-3用户登岸界面

在空白窗体上,添加2个Label控件、2个TextBox控件、1个ADODC控件.界面上的2个Label控件用来标识窗体中的信息(用户名,密码),2个TextBox控件用来输入用户名和密码,2个CommandButton控件用来确定或取消登岸,1个ADODC控件(运行时隐藏)用来完成和数据库用户信息表的连接.

图3-4控制窗口流程图

为了方便地管理系统法式,且占有教少的系统资源,我们采纳多文档界面MDI进行主界面的设计.通过选择主界面上的菜单,我们就可以实现对温度信息的各种把持.系统的主界面如图3-5所示.

图3-5系统主界面

四系统运行结果与分析

4.1系统运行结果

图4-1运行结果图

4.2分析改进办法

本文通过VB6.0可视化编程语言编写了一个多点测温系统管理软件,软件实现了对电热炉温度收集下位机的数据收集、即时温度曲线显示,基本实现了对电热炉测温系统的管理.

本系统温度收集精度可以达到±1℃,主要用于工业民用上温度收集,例如粮库温度收集或室内温度收集,收集反映时间0.1s,在0.1s内即可完成收集温度,,历史温度曲线绘制时间间隔20s,每20s更新温度曲线一次.达到了课程设计的基本要求.

参考文献

[1]于洋,陈亮等.测控系统网络化技术及应用.机械工业出书社.2009

[2](美)福克斯奥.VisualBasic2012入门经典.人民邮电出书社.2013

[3]拉帕波特.无线通信原理与应用.电子工业出书社.2009

附录

法式源代码:

OptionExplicit

PubliccAsInteger,TAsInteger

PrivateSubCombo1_Click()'选择端口

IfCombo1.Text="COM1"Then

MSComm1.CommPort=1

ElseIfCombo1.Text="COM2"Then

MSComm1.CommPort=2

ElseIfCombo1.Text="COM3"Then

MSComm1.CommPort=3

ElseIfCombo1.Text="COM4"Then

MSComm1.CommPort=4

Else

MSComm1.CommPort=5

EndIf

EndSub

PrivateSubMSComm1_OnComm()

EndSub

PrivateSubCommand1_Click()

DimiAsInteger,jAsInteger

Fori=1To19

Forj=1To3

MSFlexGrid1.TextMatrix(i,j)=""

Nextj

Nexti

Timer3.Enabled=True

T=0

c=1

Calldraw

'CallCombo1_Click

'MSComm1.PortOpen=True

'comm1.Output=Textsend.T

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1