文稿桌面5电窑_第1页
文稿桌面5电窑_第2页
文稿桌面5电窑_第3页
文稿桌面5电窑_第4页
文稿桌面5电窑_第5页
免费预览已结束,剩余28页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、关于使用的本人在指导老师指导下所完成的及相关的资料(包括图纸、试验、原始数据、实物、带、设计手稿等),知识归属平顶山学院。本人完全了解平顶山学院有关保存、使用的规定,同意学校保存或向国家有关部门或机构送交的纸质版和,允许被查阅和借阅;本人平顶山学院可以将本的全部或部分内容编入有关数据库进行检索,可以采用任何保存和汇编本。如果相关成果,一定征得指导教师同意,且第一署位为平顶山学院。本人离校后使用或与该直接相关的学术或成果时,第一署位仍然为平顶山学院。作者签名:日期:指导老师签名:日期:基于.net 框架的电窑系统的设计与实现摘要随着计算机技术和电子技术的发展, 计算机控制技术逐渐取代了传统控制技

2、术, 计算机技术和系统控制中的容错技术的采用使窑炉的智能控制成为了可能。本文提出了一种利用 K 型热电偶来检测窑炉内的温度,并通过电热丝来控制窑炉温度的设计方案。系统主要包括三部分: 测温节点、主控节点、上位机。上位机是基于.net 框架的系统,采用 Socket 通信技术实现上位机与汇聚节点之间的通信;采用SQL Server 数据库解决方案节点数据和加热器工作状态等数据。实现了对节点数据的实时显示和动态显示以及对加热器的实时控制。本系统界面友好、操作简单, 稳定性好。不仅建立了窑炉的三维模型来模拟窑炉内的真实情景, 而且可以对窑炉内的温度信息进行图形化浏览。具有良好的交互性, 便于实现对窑

3、炉温度信息的。受限于实际条件, 该系统采用了有线的方式进行通信,因此扩展性较差。:电窑,socket ,Direct 绘图,SQL Server ,Visual Studio,多线程The Design and Implemenion of Electric KilnMonitoring System Based on .NET FrameworkAbstractWith the development of the Computer Technology and the Electronic Technology,computer control technology is graduall

4、y replacing the traditional control technology,computer technology and system controlhe fault-tolerant technology enableselligentcontrol of the furnace assible.This pr presents a K -type thermocouple to detect the temperature inside the furnace ,and the furnace is controlled by the temperature of th

5、e heating wire design . The system includes three parts : Temperature node , the master node , PC software . PC software isbased on the monitoring system net framework , using Socket communication technologyfor communication betn the host computer and the sink node ; . UsingSQLServer database storag

6、e node data storage solutions and heaters work s us and other data. To achieve a real-time display and dynamic display of the node data and real-time control of the heater.The system is user-friendly, simple operation, good stability. Not only established athree-dimenal mof the furnace to simulate t

7、he real situation inside the kiln , and thekiln temperature information can be graphical browsing. Gooderactive , easy toimplement information on furnace temperature monitoring . Subject to the practical conditions , the system uses the wired communication mode , and therefore poor scalability . Key

8、words:electric kiln monitoring, socket, Direct drawing, SQLServer, visual studio, Multithreading目 录_Toc375782950绪 论1课题背景1研究意义1发展现状1相关技术32.1 .NET Framework 简介32.5ADO.NET 简介3SQL SERVER 简介4C#多线程技术4C# socket 通信5系统总体设计6功能需求分析6系统结构6本系统实现的功能6系统结构7上位机系统的设计与实现93上位机上位机上位机系统需求分析9系统结构设计9系统的

9、实现..4数据通信模块11电窑控制模块12电窑监测数据管理模块12三维显示模块14上位机系统数据库的设计与实现10数据库的设计10数据库的实现10总结与展望145.1 总结145.2 展望144.45参考文献14致谢141 绪 论1.1 课题背景随着经济的快速发展,人们对陶瓷的需求越来越大,对产品的质量和品种的要求也越来越高。如何提高陶瓷的自动化生产水平和瓷器的产品质量成为了重中之重。但在实际生产中,瓷器会因生产条件的不同而产生品质的差异。为了能够生产出优质的陶瓷,需要对瓷器的生产过程进行严格的。因此设计出电窑的系统很有必要。1.2 研究意义中国自古就是瓷

10、器大国,英文中的china既有中国的意思,又有陶瓷的意思,清楚地表明了中国就是陶瓷的故乡。陶瓷不仅文化的象征,更是一种重要的工业用品,广泛用于建筑、化工、电力等行业,同时也是用于各种现代工业和尖端科学技术的特种材料。但陶瓷生产过程自动化生产能力较低,而且需要人工干预,产品的成品率不高,无法到最适合的环境条件参数。因此开发出一套具有自动适应能力的电窑信息系统很有必要。不仅可以高效的管理生产过程,而且可以根据市场需求生产出适应性更好的产品,从而提高企业的竞争力。1.3 发展现状温度控制系统的发展研究大致经历了两个阶段:即简单仪表控制阶段和智能化控制阶段1。简单仪表控制在早期的不太复杂的工业生产、控

11、制领域中应用较多;第二阶段智能化控制阶段。纵观温度控制领域,国内外对于温度的理论研究十分丰富,对于工业产中窑炉温度控制系统的研究也比较成熟。通过国内外的对比发现,国外特别是一些发达国家在窑炉的研究上处于领先地位。这些国家的窑炉具有很高的自动化水准。主要体现在其温度控制算法综合运用了控制、自适应控制和智能控制等先进控制算法。同时还使用了先进的检测技术和仪表,将生产系统通过计算机以集散和分布式的形式综台建立起来,获得了很好的工艺性能。窑炉作为系统被控对象所具有的大时滞和非线性的特点,由于系统难以精确建立数学模型和系统本身存在的大时滞问题,因此当前的研究主要侧重于温度控制系统所采取的控制算法的研究2

12、。随着计算机技术和自动控制技术的飞速发展,智能控制技术成为控制领域研究的新宠。以人工智能为基础的智能控制不仅解决了传统控制存在的诸多,而且能与工业中广泛采用的拉制技术很好结合在一起,各自发挥其控制优势。而这种结合在温度控制系统的研究中尤为多见,成为温度控制领域主要的发展趋势。2 相关技术2.1 .NETFramework 简介.NET Framework 是微软近年来主推的应用程序开发框架,是一套语言独立的应用程序开发框架3。.NET Framework 是用于.NET的编程模型,其关键组件是公共语言运行库(CLR,Common Language Runtime)和.NET Framework

13、 类库(包括 ADO.NET、ASP.NET 和 Windows 窗体),它提供了托管执行环境、简化的开发和部署以及与各种编程语言的集成,是支持生成和运行下一代应用程序和 XML Web Servi组件3。.NETFramework旨在实现下列目标:的Windows(1)提供一个一致的面象的编程环境,而无论对象代码是在本地和执行,还是在本地执行但在(2)提供一个将ernet 上分布,或者是在执行的;部署和版本控制最小化的代码执行环境;(3)提供一个可提高代码(包括由未知的或不完全受信任的第行安全性的代码执行环境;创建的代码)执(4)提供一个可消除环境或解释环境的性能问题的代码执行环境;(5)使

14、开发的经验在面对类型大不相同的应用程序(如基于 Windows 的应用程序和基于 Web 的应用程序)时保持一致;(6)按照工业标准生成所有通信,以确保基于.NET Framework 的代码可与任何其他代码集成。2.2 ADO.NET 简介ADO.NET 的名称在以往的于 ADO(ActiveX Data Objects),这是一个广泛的类组,用于技术中数据4。ADO.NET 对象模型提供了编程数据库系统的应用编程接口,它提供了互用性和可伸缩的数据。ADO.NET 增强了对非连接编程模式的支持,并支持 RICH XML。由于传送的数据都是 XML 格式的,因此任何能够XML 格式的应用程序都

15、可以进行数据处理。事实上,接受数据的组件不一定要是 ADO.NET 组件,它可以是基于一个Visual Studio 的解决方案,也可以是任何运行在其它上的任何应用程序。SqlConnection 对象管理与数据源的连接。mand 对象允许你与数据源交流并发送命令给它。为了对进行快速的只“向前”地行数据,使用 SqlDataReader。如果想使用断开数据,使用 DataSet 并实现能进或者写入数据源的 SqlDataAdapter。2.3 SQL SERVER 简介SQL 是英文 Structured Query Language 的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各

16、种数据库建立联系,。SQL Server 是一个关系数据库管理系统。它最初是由、Sybase 和 Ashton-e 三家公司共同开发的,于 1988 年推出了第一个 OS/2 版本。在 Windows NT 推出后, 与 Sybase 在SQL Server 的开发上就分道扬镳了, 将 SQL Server 移植到 Windows NT系统上,专注于开发推广 SQL Server 的 Windows NT 版本。Sybase 则较专注于 SQL2.4 多线程技术.NET 类库为开发多线程应用程序提供了很方便的支持,本文简单介绍一下.NET类库中的多线程技术。进程是一个具有一定独立功能的程序关于

17、某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。而一个进程又是由多个线程组成的,线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。Thread 类有几个的方法,描述如下:Start()启动线程。Slent)静态方法,暂停当前线程指定的毫秒数。 (3)Abort()通常使用该方法来终止一个线程。 (4)Suspend()该方法并不终止未完成的线程,而只是挂起线程,以后还可恢复。(5)Resume()恢复被 Suspend()方法挂起的线程的执

18、行6。多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线执行不同的任务,也就是说,允许单个程序创建多个并行执行的线完成各自Server 在 UN操作系统上的应用。SQL Server 2000 是公司推出的 SQL Server 数据库管理系统,该版本继承了 SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关 集成程度高等优点,可 从运行Windows98 的膝上型电脑到运行Windows 2000 的大型多处理器的服务器等多种平台使用5。2.5 socket 通信在.NET 中采用基于流的套接字(stream sock

19、et)进行通信。进程用流套接字建立与其他进程的连接,连接成功后,数据在进程之间以连续流的方式。流套接字提供了一个面向连接的服务。流行的 TCP(Transmis Control Protocol)有助于流套接字的传输。在.NET 中用 TCP 和流套接字建立一个简单的需要 4 步:创建一个类 TcpCnt 的对象来连接到服务器上。这个连接通过类 TcpCnt的 Connect 方法建立。TcpC nt 使用它的方法 GetStream 来得到一个 NetworkStream,这样它就可以对服务器进行读写操作了。NetworkStream 方法的 WriteByte 和 Write 分别能够用于

20、向服务器输出单字节或一组字节。NetworkStream 方法的 ReadByte 和 Read 分别能够用于从服务器输入单字节或一组字节。与服务器通信的处理阶段,在这一阶段,使用类 NetworkStream 的方法 Read、 ReadByte、Write、WriteByte 进行通行。客户调用对象 NetworkStream 的 Close 方法来关闭这一连接。这也关闭了隐含的 Socket(如果 NetworkStream 对该 Socket 有一个 )。然后调用类 TcpC nt 的 Close 方法来终止 TCP 连接。在.NET 中用 TCP 和流套接字建立一个简单的服务器需要

21、5 步:创建一个 TcpListener 类的对象,引入命名空间 System.Net.Sockets。这个类表示了一个 TCP 流套接字,通过它服务器能够到客户请求。调用 TcpListener 的 Start 方法,该方法使 TcpListener 对象开始连接请求。在服务器和之间建立连接。TcpListener 类的 AcceptSocket 方法等待接请求,然后在收到连接请求时创建接。连接成功后返回一个 Socket 对象。处理阶段,这一步中,服务器和通过 Socket 类的 Receive 和 Send 方法通信。连接终止阶段。当和服务器已经完成了通信,服务器用 Socket 对象的

22、 Close方法来关闭连接7。的任务。在.net framework class library 中,所有与多线程机制应用相关的类都放在 System.Threading 命名空间中。如果想在应用程序中使用多线程,就必须包含这个类。这里 新建一个线程 myThread,专门用于 socket 通信。在上位机 系统打开的时候启动该线程,实现和下位机之间的 socket 通信。在关闭的时候销毁线程。3 系统总体设计3.1 功能需求分析电窑系统的目的是为窑炉的烧制过程提供一整套解决方案。使管理者能够方便快捷地查看并控制窑炉内的温度。电窑系统应解决以下问题:测量窑炉内的温度。由于窑炉内的温度变化范围较

23、大,因此选用的传感器的测温范围应大于窑炉的温度范围。对窑炉进行加热。陶瓷的烧制过程需要较高的温度,因此加热模块应选用大功率的电热器。测温节点和主控节点的通信。主控节点要与多个测温节点进行通信,要采用合适的防碰撞的算法。(4)主控节点和上位机系统的通信。为了实现对窑炉信息实时,在主控节点和上位机系统之间采用了以太网模块进行通信。(5)上位机接收到数据后能够保存下来以供查看。采用常用的Server 解决方案。SQL(6)上位机系统能够实现对温度实时数据的查看、对历史的查看支持数据的图形化查看,当某一节点温度超过指定范围时,能进行令。,并能发简单的控制指(7)能够做出电窑的三维模型,通过三维模型可直

24、观地查看节点的分布以及加热器的工作状况,可通过系统与三维模型的接口实现对节点和加热器的控制。3.2 系统结构3.2.1 本系统实现的功能电窑系统的开发可以包含很多的内容,有很多功能的实现难度较大,本系统主要实现对窑炉内温度信息控系统的开发,其实现的功能有:和对窑炉温度的控制功能。本文主要介绍上位机监(1)获取主控板示在窗体之中。的数据:通过 socket 编程接收下位机发送过来的数据,并显(2)查看节点的实时温度和加热器的状态:利用全局变量传递温度和加热器的数据。(3)对加热器的控制和高温控制功能:利用全局变量的状态发送控制命令。将实时温度和设定的温度范围进行比对,实现功能并发出相应的控制命令

25、。(4)三维模型模拟出窑炉的情景,查看节点的分布和温度信息。能够查看加热器的工作状态。能够通过三维的显示接口实现对加热器的控制以及对历史数据的查看功能。3.2.2系统结构通信模块数据模块 统结构控制模块三维模块如图 3-1 所示,本系统主要由三部分组成:测温节点、主控节点、上位机系统。测温节点:测控节点主要由 STC11F 系列单片机、MAX6675 K 型热电偶传感器、上位机 系统串口转以太网透传MAX7219 共阴数码管显示驱动器、8 位数码管以及 CAN 透传等模块组成。K 型热电偶用来测量窑炉内的温度,单片机将收到的温度数据进行后发送到 MAX7219 数码管驱动器和串口 2。CAN

26、透传模块将串口 2 发送的数据发送到 CAN 总线。MAX7219 数码管驱动器用来控制共阴数码管显示数据。主控节点:主控节点主要由 STC15F 系列单片机、MAX7219 共阴数码管显示驱动器、8 位数码管、can 透传、串口转以太网、继电器等模块组成。CAN 透传模块用来接收 CAN总线上的数据,单片机将收到的数据进行汇总后发送到 MAX7219 数码管驱动器和串口 2。MAX7219 数码管驱动器用来控制共阴数码管显示数据。串口转以太网模块将串口 2 的数据发送到指定的 IP 的指定端口。工作模式设置为 TCP C收到的上位机的数据控制继电器。从而控制加热器是否工作。nt 单片机根据接

27、系统:上位机系统主要由连接部分、数据查看部分、控制部分、三维模型模拟部分组成。上位机系统从指定端口取出数据后并存入数据库,然后从数据库中取出历史数据显示到窗体中。用户可通过对控制窗体或三维模型窗体的操作来控制加热器是否工作。4 上位机系统的设计与实现4.1 上位机系统需求分析上位机系统是整个电窑系统的,系统可以有很多功能,但有些功能实现起来难度较大。本文主要介绍简单的基于.NET 框架的电窑该主要实现以下功能:系统的开发。(1)能顺利通过网口接收下位机传来的数据,后存入数据库;(2)能方便查看历史数据,并支持数据的图形化浏览;(3)当区域温度超过指定范围时,能进行,并能发简单的控制指令;(4)

28、定义并预留三维显示的接口,通过三维操作能查看某个传感器的信息,并能通过发送指令控制三维模块的显示,如电阻丝是否在加热,传感器是否有信息传送等。4.2 上位机系统结构设计如图 4-1 所示。模块、三维显示模块、系统包括数据通信模块、电窑控制模块、电窑监测数据管理系统信息模块。电窑系统数据通信模块电窑控制模块电窑监测数据管理模块三维显示模块数据解 析数据存储实时数 据显示历史数 据显示图 4-1 电窑系统系统结构图4.3 上位机系统数据库的设计与实现4.3.1 数据库的设计该系统用到的数据库的地方为:网口接收到数据后存入数据库,查看节点和加热器的历史从数据库里取数据。数据的类型比较常见,存入和取出

29、较简单。这里可以在数据库里新建两个数据表,即温度表和加热表,温度表用来节点的温度和状态等数据,加热表用来加热器的工作状态,功率等数据。表 4-1 加热表字段定义及含义表 4-2 加热表字段定义及含义4.3.2 数据库的实现打开 SQL Server 2005,点击展开数据库,右击“数据库”,选择“新建数据库”,命名为“数据库”。 点击展开数据库,右击“表”,选择“新建表”,输入列名,选择数据类型,选择是否为空。完成后保存,命名为“温度”。 右击“表”,选择“新建表”,输入列名,选择数据类型,选择是否为空。完成后保存,命名为“加热”。VS2010 添加数据源:单击 VS 视图中的“数据”,选择“

30、添加新数据源”,选择“数据库”后点“下一步”, 选择“数据集”后点“下一步”,选择“新建连接”。数据源选择“SQL Server (SqlCnt)”,服务器名点击“刷新”后选择本机,“选择或输入一个数据库名”选“时 VS2010 已连接数据库。数据库”,点击“测试连接”,成功后点“确定”。此字段名数据类型是否可空是否为主键含义daimedatetime否是存入时间poname是是节点名字flag是否断线标志tempfloat是否节点温度字段名数据类型是否可空是否为主键含义daimedatetime否是存入时间ernchar(10)是否加热器功率poname是是加热器名字workingse是否工

31、作状态4.4 上位机系统的实现4.4.1 数据通信模块功能概述该模块用于实现上位机与下位机的通信。其中串口转以太网透传模块采用 TCP nt 模式,上位机采用 TCP Server 模式。技术分析用到的技术为多线程技术和 socket 通信技术。在系统运行的时候新建一个线程专C门用来 socket 通信,编写一个 TcpListener(3)功能实现函数接收 TCP Cnt 的连接请求。Socket 通信时连接函数是一个循环等待函数,不能在 WinForm 的线程里面直接执行,所以指定一个新的线建一个线程,用于执行 Listener执行这个函数8。在应用程序主窗体加载的时候新函数,启动该线程。

32、连接函数中建立本机的IPEndPo对象,以本机为服务器,在指定的端口侦听。然后绑定到一个侦听 Socket上;TcpListener 类的 AcceptSocket 方法等待下位机的连接请求,在收到连接请求时创建接。上位机将要发送的数据通过 Socket 的 Send 方法发送出去,上位机用Socket 的 Receive 方法来接收数据。数据通信完成后,服务器用 Socket 对象的 Close方法来关闭连接。图 4-2 通信界面图4.4.2 电窑控制模块(1)功能概述该模块主要实现对下位机加热器工作状态的控制。主要包括自动控制和人工控制两种方式。自动控制实现了窑炉高温 工控制可直接对三个加

33、热器进行控制。(2)技术分析功能,并能够自动发送简单的控制命令。人要实现对加热器的控制需要向汇聚节点发送命令。由于本系统中对加热器的控制可在多个窗体中实现,因此需要设置一个命令值,用来实现多个窗体之间的参数交换。(3)功能实现在控制窗体中定义一个静态全局变量 HeartCMD,用来标记当前加热器令值。当对三个加热器进行不同的操作时系统会产生不同数之前对该命令值进行判断,从而确定要发送命令,进而实现对加热器的控制。令值。Socket 通信在调用 Send 函令格式及组合,然后向下位机发送图 4-3 控制界面图4.4.3 电窑监测数据管理模块(1)功能概述该模块主要包括数据、数据、实时数据显示、历

34、史数据显示等功能。数据是把下位机发送过来的数据进行还原。数据对数据进行数据格式校验后,将数据存入到数据库。实时数据显示包括状态显示、温度数据显示和 Chart 动态绘图。历史数据显示用于显示节点和加热器的历史数据。技术分析该模块主要用到了数据库的事务操作技术、数据绑定技术和 Chart 动态绘图技术。功能实现数据:主要是将接收到的数据转换为适合和显示的其他类型数据。在应用程序的类中定义三个浮点型的全局变量和一个整型的全局数组。将用 Receive 方法接收到的字节数组转换为整型数组存入全局数组,根据通信的协议格式将节点的温度数据进行析。,将后的温度数据分别存入三个浮点型变量。从而实现对数据的解

35、关键代码为:temp1 = rec8 * 100 + rec9 * 10 + rec10 + rec11 * 0.1f。数据:先对后的整型数组进行格式校验,校验无误后使用数据库的连接字符串建立与数据库的连接。新建作,开始事务操作。新建一个接对象,打开连接对象,创建数据库事务操mand 对象,输入命令文本,执行命令操作,提交事务,异常回滚到原始状态,关闭连接对象。即可实现对数据的。实时数据显示:实时数据显示包括实时数据文本呈现和实时数据 Chart 绘图呈现。具体解决方法为:在应用程序用添加一个 Timer 控件,设置 Timer 事件执行时间间隔,启动 Timer。在 Timer 事件里添加代

36、码,将后的状态数据和温度数据赋值给显示数据的控件。即可实现实时数据的文本呈现。使用连接字符串新建接对象,创建mand 对象,输入命令文本,打开连接对象,使用 SqlDataReader 的 Read 方法读出数据。定义两个字符串 x 和 y,将读出的数据中的第一个数据和第四个数据分别赋给 x 和 y,将 x 和 y 添加到 Chart 控件 Series 属性的 Po即可实现实时数据的 Chart 动态绘图呈现。关 键 代 码 为 : select * from table where daimes.Add 方法中。betandn ”+System.DateTime.Now.AddSecond

37、s(-30).ToString()System.DateTime.Now.ToString() + 。+历史数据显示:历史数据显示包括历史数据 DataGridView 呈现和历史数据 Chart 绘图呈现。具体解决方法为:创建连接对象,利用 SqlDataAdapter 方法数据,新建一个数据表,将的数据填充到数据表,将 bindingSource 的数据源设置为数据表,将 DataGridView 的数据源设置为 bindingSource。即可实现历史数据的 DataGridView呈现。使用连接字符串新建接对象,创建mand 对象,输入命令文本,打开连接对象,使用 SqlDataRea

38、der 的 Read 方法读出数据。定义两个字符串 x 和 y,将读出的数据中的第一个数据和第四个数据分别赋给 x 和 y,将 x 和 y 添加到 Chart控件 Series 属性的 Pos.Add 方法中,即可实现历史数据的 Chart 绘图呈现。图 4-4实时数据显示界面图图 4-5历史数据显示界面图4.4.4 三维显示模块功能概述该模块用于三维交互。可以实现对节点和加热器的状态监测以及节点的实时数据和历史数据的查看。技术分析该模块采用了 DirectX 绘图技术。包括渲染技术、(3)功能实现该模块不是本文要的重点,这里介绍一下该模块的加载。在应用程序主窗体中实例化一个三维窗体,在按钮事

39、件里设置实例化后的窗体属性,点击按钮的时候三维窗体就会显示出来。关键代码:Form3D frm3D =frm3D.TopLevel frm3D.Parent =new Form3D();= false; this.panel2;frm3D.Dock = DockStyle.Left; frm3D.BringToFront(); frm3D.Show();if (!frm3D.InitializeDirect3D()MessageBox.Show(初?始?化Form3D失败!?!?);frm3D.Render();图 4-6 三维显示界面图5 总结与展望5.1 总结在阅读了国内外关于 C#编程的

40、书籍和资料的基础上,结合电窑工业的发展现状,开发出了一套基于.NET 框架的电窑系统的,从而实现了电窑信息的实时。通过该,用户可以查看下位机发送的实时数据,可以查看窑炉内节点的温度信息,可以控制窑炉内的加热器的工作状态,可以通过三维模拟界面查看节点信息、加热器信息,并且可以在模拟界面控制加热器的工作状态。在对电窑系统总体功能进行需求分析确定了要实现的功能后。我查阅了大量的 Windows 窗体应用程序开发资料,将应用程序分成了若干模块来实现各项功能。然后逐渐完成结构分析、界面构建、功能实现、调试运行、系统优化等一系列工作,最终实现系统整体需求、完成整个项目。5.2 展望电窑系统是一个复杂庞大的

41、系统,它涉及到温度控制、通信、计算机技术等各种专业领域;需要完成的任务也相当繁重、复杂。在这有限的时间里,设计出的系统难免有之处;再者、由于设计者知识水平的匮乏,系统在控制精度和模拟真度等方面也存在一些进行更深一步的完善。随着时间的推移、设计者知识的积累,以后可以对系统目前对系统进行潜在问题分析,后续工作可以做如下考虑:提高控制精度:控制精度的高低影响了电窑烧制物品最终的质量的好坏。后续可以使用精度更高的测温元件和性能优良温度控制器。仿真优化。系统目前的仿真模拟界面还不太美观,三维模型的制作有待优化,人机交互会有界面卡顿、反应迟缓现象。后续可以优化算法,以使系统更加流畅。功能扩展:目前的实现的

42、一般都是基础功能,随着更高需求的提出应该添加新的功能。(4)智能化:可以考虑综合运用控制、自适应控制和智能控制等先进控制算法,以减少人工干预,减轻使用者的工作负担。参考文献1.电加热玻璃窑炉温度控制系统的研究D.兰州:兰州理工大学,20112.电窑炉温度控制系统的研究与设计D.:电子科技大学,20103喜.ASP.NET 程序设计基础M.,2011.94唐大仕.C#程序设计M.北方交通大学,2003.85,.数据库系统原理及应用M.机械工业,20076,.C#程序设计与案例M.,2007.87(美)戴尔特(Dei,H.M.)等著;须德等译.C#大学M.电子工业,2004.18何鹏飞,.C#实用

43、编程百例M.,20039.C#经典范例 50 讲M.希望电子,2003.410,.C#应用程序设计M.人民邮电,2009.1-16811明日科技.C#从入门到精通(第 3 版)M.,2012.127-14912,.Windows 程序设计(第 5 版)M.,2010.17-60致谢经过近三个月的不懈努力,在克服了各种各样的设计的各项工作。在此期间,老师和同学的无私帮助和继续前进的动力。在此给予他们真挚的感谢!和挫折后,终于完成了毕业给了我不畏失败的勇气和首先感谢题研究,他指引文初稿,他指导导师老师!开题,他帮助选择研究的课题;课深入研究的方向;项目开发,他给提供强大的技术支持;论的写作方法;修

44、改,他帮助检查错误、给们的信心提出宝贵的意见;以及最后的在大学生活和学习过程中,示感谢!答辩,他指导答辩的要点、增导师时时刻刻都给予我鼓励、支持和帮助。我向他表特别感谢老师在整个毕业设计中给予学习、生活和技术上的帮助!没老师优秀的专业技术和乐有他的帮助,我不可能如期完成整个毕业设计工作。于助人的品质,也是我应该学习的。感谢所有在大学四年中教育也学会了做人的道理。老师们!是他们的教导,我才学会了这么多知识,感谢和我一起为的毕业设计努力的队友!互相帮助、团结一致,从迷茫无知到成功完成毕业设计,这里面有汗水和艰辛也有成就和。感谢和我一起生活和学习的物联班!他们的存在丰富了大学生活。尤。其是同宿舍的同

45、学,在大学期间他们伴随我最长的时间,给予我温暖的感谢母校平顶山学院对培养。最后感谢各位评审老师,感谢给出的宝贵意见。附录主窗体代码:using System;using System.Collections.Generic;usingponentM;using System.Data;using System.Drawing; using System.Linq; using System.Text;using System.Windows.Forms; using System.Threading;using System.Net;using System.Net.Sockets; usin

46、g System.Data.SqlCnt; using System.Configuration;namespace 电 ? 窑 控?制?系 统 3public partial class Form1 : FormFormData frmData = new FormData(); FormControl frmControl = new FormControl(); Form3D frm3D = new Form3D();AboutBox aboutBox = new AboutBox();public sic string connectionString = ConfigurationM

47、anager.ConnectionStrings电 ?窑 控 ? 制 ? 系 统3 .Properties.Settings. 我 的 ? 数y据 Y库aConnectionString.ConnectionString;public sicpublic sicpublic sicport; time; rec = new21;public sic float temp1, temp2, temp3; public sic string msg = null;Socket socket; Thread mythread;public delegate void daili();/定 义? 一?

48、 个?代 理 类 型public s public s三y 加 热public sic byte byteMessage = new byte21;ic byte byt1 = new byte3 0 x02, 0 x02, 0 x02 ;/节 点 ? 一? 、 二 t、ic byte byt2 = new byte3 0 x02, 0 x02, 0 x01 ;/节 点? 一? 、 二t 加热 ,? 节 点 ? 三y 不?加 热 public sic byte byt3 = new byte3 0 x02, 0 x01, 0 x02 ;/节 点 ? 一? 、 三y加 热 ,? 节 点 ? 二t

49、 不?加 热public sic byte byt4 = new byte3 0 x02, 0 x01, 0 x01 ;/节 点 ? 一? 加 热 ,? 节 点 ? 二t、 三y 不?加 热public sic byte byt5 = new byte3 0 x01, 0 x02, 0 x02 ;/节 点? 二t、 三y 加热 ,? 节 点 ? 一? 不?加 热public sic byte byt6 = new byte3 0 x01, 0 x02, 0 x01 ;/节 点 ? 二 t 加 热 ,? 节 点 ? 一? 、 三y 不?加 热public sic byte byt7 = new

50、byte3 0 x01, 0 x01, 0 x02 ;/节 点 ? 三y 加 热 ,? 节 点 ? 一? 、 二t 不?加 热public sic byte byt8 = new byte3 0 x01, 0 x01, 0 x01 ;/节 点 ? 一? 、 二 t、三y 不?加 热public sic byte byt9 = new byte3 0 x01, 0 x00, 0 x00 ;/节 点 ? 一? 不?加热 ,? 节 点 ? 二 t、 三y 保 持?不?变 ?public sic byte byt10 = new byte3 0 x00, 0 x01, 0 x00 ;热 ,? 节 点

51、? 一? 、 三y 保 持?不?变 ?public sic byte byt11 = new byte3 0 x00, 0 x00, 0 x01 ;热 ,? 节 点 ? 一? 、 二 t 保 持?不?变 ?/节 点 ? 二 t 不?加/节 点 ? 三y 不?加public sic byte byt12 = new byte3 0 x02, 0 x00, 0 x00 ;/只?加 热节 点 ?一?public sic byte byt13 = new byte3 0 x00, 0 x02, 0 x00 ;/只?加 热节 点 ?二 tpublic sic byte byt14 = new byte3

52、 0 x00, 0 x00, 0 x02 ;/只?加 热节 点 ?三ypublic Form1()ponent();ToolTip Ttpdata = new ToolTip(); Ttpdata.ShowAlways = true; Ttpdata.SetToolTip(this.btnConnection, 连? 接); ToolTip TtpSetup = new ToolTip(); TtpSetup.ShowAlways = true; TtpSetup.SetToolTip(this.btnData, 数 y 据 Y); ToolTip TtpControl = new ToolT

53、ip(); TtpControl.ShowAlways = true; TtpControl.SetToolTip(this.btnControl, 控?制?); ToolTip Ttp3D = new ToolTip(); Ttp3D.ShowAlways = true; Ttp3D.SetToolTip(this.btn3D, 3 维?模 型 ); ToolTip TtpAbout = new ToolTip(); TtpAbout.ShowAlways = true; TtpAbout.SetToolTip(this.btnAbout, 关?于);private void but3D_C

54、lick(objecfrm3D.TopLevel = false; frm3D.Parent = this.panel2; frm3D.Dock = DockStyle.Left; frm3D.BringToFront(); frm3D.Show();der, EventArgs e)if (!frm3D.InitializeDirect3D()MessageBox.Show(初?始 ? 化Form3D 失 frm3D.Render();败 !? !?);private void btnData_Click_1(objecder, EventArgs e)frmDaopLevel = fals

55、e;frmData.Parent = this.panel2; this.panel2.Controls.Add(frmData); frmData.BringToFront();frmData.WindowSe = FormWindowSe. frmData.Show();ized;private void btnControl_Click(objecfrmControl.TopLevel = false; frmControl.Parent = this.panel2;der, EventArgs e)this.panel2.Controls.Add(frmControl); frmCon

56、trol.BringToFront(); frmControl.WindowSe = FormWindowSe.ized;frmControl.Show();private void btnConnection_Click(objecfrm3D.Hide(); frmControl.Hide(); frmData.Hide(); aboutBox.Hide();der, EventArgs e)private void btnAbout_Click(objecaboutBox.TopLevel = false; aboutBox.Parent = this.panel2;der, EventA

57、rgs e)this.panel2.Controls.Add(aboutBox); aboutBox.BringToFront(); aboutBox.WindowSe = FormWindowSe. aboutBox.Show();ized;private void Form1_Load(objecder, EventArgs e)if (Form1.rec.Length = 0) textBox7.Text = 下?位?机 未 连? 接 !?; else textBox7.Text = 下?位?机 已? 连? 接 !?;textBox1.Text = System.DateTime.Now

58、.ToString(); Form1.port = 8234;Form1.time = 10; trymythread = new Thread(new ThreadStart(listener); mythread.Start();catch (System.Exception er)MessageBox.Show(er.Message, 完 MessageBoxIcon.Stop);public sic IPAddress GetServerIP()成 ,Mes sageBoxButtons.OK,IPHostEntry ieh = Dns.GetHostByName(Dns.GetHos

59、tName();/获?取? 服t 务?器IPreturn ieh.AddressList0;private void listener()IPAddress ServerIp = GetServerIP(); tryIPEndPoiep = new IPEndPo(ServerIp, Form1.port);socket=newSocket(AddressFamily.erNetwork,SocketType.Stream,ProtocolType.Tcp);socket.Bind(iep);/绑 定IP socket.Listen(5);/监 听y 客 户 数 y 量? Socket new

60、Socket = socket.Accept();while (true)trynewSocket.Receive(byteMessage);switch (FormControl.HeaterCmd)case 1: newSockecase 2: newSockecase 3: newSockecase 4: newSockecase 5: newSockecase 6: newSockecase 7: newSockecase 8: newSockecase 9: newSockecase 10: newSockecase 11: newSockecase 12: newSockecase

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论