版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈阳理工大学课程设计在现代工业生产过程自动化中,过程控制技术正在为实现各种最优技术经济指标、提高经济效益和社会效益、提高劳动生产率、节约能源、改善劳动条件、保护环境卫生、提高市场竞争力等方面起着越来越大的作用。本实验中,硬件部分的温度采集通过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.
"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附录程序源代码:OptionExplicitPubliccAsInteger,TAsIntegerPrivateSubCombo1_Click()'选择端口IfCombo1.Text="COM1"ThenMSComm1.CommPort=1ElseIfCombo1.Text="COM2"ThenMSComm1.CommPort=2ElseIfCombo1.Text="COM3"ThenMSComm1.CommPort=3ElseIfCombo1.Text="COM4"ThenMSComm1.CommPort=4ElseMSComm1.CommPort=5EndIfEndSubPrivateSubMSComm1_OnComm()EndSubPrivateSubCommand1_Click()DimiAsInteger,jAsIntegerFori=1To19Forj=1To3MSFlexGrid1.TextMatrix(i,j)=""NextjNextiTimer3.Enabled=TrueT=0c=1Calldraw'CallCombo1_Click'MSComm1.PortOpen=True'comm1.Output=Textsend.TextEndSubPrivateSubCommand2_Click()'MSComm1.PortOpen=FalseTimer3.Enabled=FalseTimer1.Enabled=FalseEndSubPrivateSubCommand3_Click()'comm1.PortOpen=FalseEndEndSubPrivateSubCommand4_Click()UnloadForm2EndSubPrivateSubForm_Load()Form1.Caption="温度监测系统"Combo1.AddItem"COM1"Combo1.AddItem"COM2"Combo1.AddItem"COM3"Combo1.AddItem"COM4"Combo1.AddItem"COM5"Timer1.Interval=1000Timer3.Interval=1000Timer3.Enabled=FalseDimiAsIntegerFori=1To19MSFlexGrid1.Col=0MSFlexGrid1.Row=iMSFlexGrid1.Text=iNextiMSFlexGrid1.Row=0MSFlexGrid1.Col=0MSFlexGrid1.Text="序号"MSFlexGrid1.Col=1MSFlexGrid1.Text="温度"MSFlexGrid1.Col=2MSFlexGrid1.Text="时间"MSFlexGrid1.Col=3MSFlexGrid1.Text="日期"EndSubPrivateSubList1_Click()EndSubPrivateSubMSFlexGrid1_Click()DimiAsInteger,jAsIntegerFori=1ToMSFlexGrid.RowsMSFlexGrid.Col=0MSFlexGrid.Row=iMSFlexGrid.Text="i"NextiForj=0To19MSFlexGrid.Col=3MSFlexGrid.Row=jMSFlexGrid.ColWidth(j)=MSFlexGrid.ColWidth()+200NextjEndSubPrivateSubdraw()Picture1.FontSize="15"'设置字体大小Picture1.DrawWidth=2Picture1.ForeColor=QBColor(12)Picture1.ClsPicture1.Scale(-30,100)-(230,-30)'横坐标Picture1.Line(-30,0)-(220,0)Picture1.Line(221,0)-(218,1)'横坐标箭头及y值Picture1.Line(221,0)-(218,-1)Picture1.PSet(223,4)Picture1.Print"x"Picture1.Line(0,-30)-(0,100)'纵坐标Picture1.Line(-1,98)-(0,100)'纵坐标箭头及x值Picture1.Line(1,98)-(0,100)Picture1.PSet(4,98)Picture1.Print"y"Picture1.FontSize="8"'设置字体大小Picture1.PSet(20,-10)Picture1.Print"20"Picture1.PSet(40,-10)Picture1.Print"40"Picture1.PSet(60,-10)Picture1.Print"60"Picture1.PSet(80,-10)Picture1.Print"80"Picture1.PSet(100,-10)Picture1.Print"100"Picture1.PSet(120,-10)Picture1.Print"120"Picture1.PSet(140,-10)Picture1.Print"140"Picture1.PSet(160,-10)Picture1.Print"160"Picture1.PSet(180,-10)Picture1.Print"180"Picture1.PSet(200,-10)Picture1.Print"200"Picture1.PSet(-14,5)Picture1.Print"5"Picture1.PSet(-14,15)Picture1.Print"10"Picture1.PSet(-14,25)Picture1.Print"15"Picture1.PSet(-14,35)Picture1.Print"20"Picture1.PSet(-14,45)Picture1.Print"25"Picture1.PSet(-14,55)Picture1.P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 长春人文学院《中国近代政治思想史》2025-2026学年期末试卷
- 运城幼儿师范高等专科学校《人体运动学》2025-2026学年期末试卷
- 长春大学《法律逻辑学补充》2025-2026学年期末试卷
- 阳泉职业技术学院《口腔组织病理学》2025-2026学年期末试卷
- 2024年河中石兽教学课件(16篇)
- 2024年全国中级会计职称之中级会计财务管理考试黑金试卷附答案
- 2024年信息技术20教研研修计划
- 2023年青海省建筑安全员-C证(专职安全员)考试题库
- 天津基础冬季施工方案(3篇)
- 幕墙的实际施工方案(3篇)
- Q-SY 17376-2024 酸化压裂助排剂技术规范
- DB36-T1446-2021-农村生活污水治理技术指南(试行)-江西省
- 海事医院党建共建协议书
- 板材行业调研报告
- 2025+CSCO宫颈癌诊疗指南解读 课件
- 银行金库人员管理制度
- 中国资源循环集团有限公司招聘考试真题2024
- 连接器设计手册
- T-ZNZ 302-2024 绿色食品结球甘蓝生产技术规范
- Unit 6 Earth First Using Language Dealing with Global Warming 说课稿-2024-2025学年高中英语外研版(2019)必修第二册
- 营养管理概述
评论
0/150
提交评论