您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 电机上位机控制及界面设计
1电机上位机控制及界面设计吴牛俊(自动化与电气工程学院指导教师:周克宁)摘要:随着计算机、电子、通讯技术的飞速发展,人们对于车间现场设备的运行管理控制,可视化操作等综合水平提出了新的要求。为了满足这新的要求,本毕业设计本着“不在现场,远离现场”的原则,以C语言作为开发语言,VC为开发环境,针对某充电机产品编写了应用程序,将充电机的现场设备界面通过串口通信技术,与上位机界面有机的结合起来,以实现计算机的远程监控功能。此外,该上位机应用软件还实现了查看充电机存储在U盘中的运行记录文件的功能。在本毕业论文通过这个项目的开发过程,阐述了编程环境的选择,串口通讯实现远程测试的方法,通过文件操作读取U盘数据的技巧。探讨如何在PC平台与工控机平台间建立远程测试和历史数据读取和分析的一般方法。关键词:人机界面;串口通信;VisualC++6.0;文件操作Abstract:Withthedevelopmentofcomputer,electronics,communicationstechnology,thepeoplearerequiringthatthetheoperationandmanagementoftheequipmentcontrol,andtheVisualizationoperationmustdeveloptoo.Tomeetthesenewrequirements,thedesignofthegraduatesbaseonthatnotonthescene,thesceneawayfromtheprincipleofandusetheClanguageandVCenvironmentprogrammingthechargerprocedures.ThedesignusesthecommunicationstechnologytoputthechargerfieldequipmentinterfaceandPCinterfacecombination.AnditcanbeachievedRMON.Inaddition,thePCapplicationsoftwarealsocanviewthetestrecordsstoredintheUdisk.Thispaperthroughtheprojectdevelopmentprocessdescribesthefollowingpoints.FirstisThechoiceofprogrammingenvironments.SecondisSerialCommunicationremotetestmethod.ThirdistheskillsofreadingthetestrecordsstoredintheUdisk.DiscussionongeneralmethodsthatthroughthePCplatformwiththeestablishmentofindustrialcomputerplatformforremotetestingandreadinghistoricaldataandanalysisKeywords:Human-machineinterface;SerialCommunication;;VisualC++6.0;File1绪论1.1背景随着计算机、电子、通讯技术的飞速发展,人们对于车间现场设备的运行管理控制,可视化操作等综合水平提出了新的要求。2随着计算机的运算速度不断升级功能日渐强大,在车间现场测控中扮演了越来越重要的角色。利用计算机软件通过运用先进的通讯技术监控远程现场设备的运行状况和运行参数。这将大大提高生产效率,保证生产安全。出于节省人工,提高效率或者安全生产方面的考虑很多环节需要远程监控车间设备的运行情况,这就离不开通讯技术的应用。这里所说的通信是只计算机与远程设备之间的信息交换。由于串行通信是在一根传输线上一位一位的传送信息,所用的传输线少,并且可以借助现成的电话网进行信息传送,因此,特别适合于远距离传输。对于那些与计算机相距不远的人机交换设备和串行存储的外部设备如终端、打印机、逻辑分析仪、磁盘等,采用串行方式交换数据也很普遍。同时,随着人们对车间现场设备智能化的要求的提高,越来越多的设备采用了外存储器对生产测试过程中的数据进行存储,监控人员通过定期对存储了历史数据记录的分析,可以清楚得了解到设备的动态运行情况,这些数据对设备排错和参数设置提供依据都有很高的价值。随着PC端USB接口技术的普及,以U盘作为设备外存储器存储运行数据,具有实现简单,读取方便的特点,应用也越来越广泛。如何高效,方便的通过最常用的PC机来读取设备外存储器中的数据,为数据的快速分析提供了保证。因此研究计算机通过串行通信对远程车间设备的监控,读取U盘历史数据文件并显示具有一定的现实意义。1.2任务和目标本毕业设计本着“不在现场,远离现场”的原则,为导师研制的某型号充电机产品编写PC端应用程序将充电机设备界面通过串口通信技术,与上位机界面有机的结合起来,以实现计算机的远程监控功能。按要求在上位机中打开并查看充电机设备运行过程中的存储在U盘中的历史数据文件,以便于分析测试。另外还要编写下位机微型打印机数据打印程序,为用户提供多种查看选择。我在认真分析以上设计要求之后,以C语言作为开发语言,VC为开发环境,在MFC框架上编写完成一个应用程序。这个应用程序采用MSCOMM控件来实现串口通讯,以C语言文件操作实现U盘历史数据文件的读写和显示操作。并且在此基础上,我还对上位机软件的界面进行了美化和优化,还添加了现场测试数据自动生成WORD文档,使得软件更人性化和操作更简单。在本毕业论文通过这个项目的开发过程,阐述了编程环境的选择,串口通讯实现远程测试的3方法,通过文件操作读取U盘数据的技巧。探讨如何在PC平台与工控机平台间建立远程测试和历史数据读取和分析的一般方法。2总体设计方案2.1系统总体结构系统总体结构如下图所示,下位机是一台试用在变电所等电力部门的充电机设备,采用工控机作为核心处理器。PC机端的应用程序通过RS232串口与设备实现通讯。充电机设备带有USB接口,用于接入U盘存储充电机历史数据。当用户需要查看历史记录数据时,将U盘从设备中拔下,接入PC端可以利用应用程序通过文件操作打开查看。图1.系统总体结构图另外,该充电机设备通过工控机打印口连接一台微型打印机用于运行参数和测试数据的即时打印,供用户查看。2.2上位机用户操作界面结构主界面登录界面现场测试放电测试电压稳定精度测试电流稳定精度测试效率测试限流特性测试历史数据查询放电测试电压稳定精度测试电流稳定精度测试效率测试限流特性测试参数设置4图2.软件组织结构3上位机用户操作界面的建立3.1编程语言及编程环境3.1.1C++语言介绍C++是脱胎自C语言的一种中级语言。从计算机角度看,它可以嵌入ASM等低端语言;从面向对象的程序设计角度看,它有具备OOP的三个基本特征——抽象,封装和继承。C语言是结构化和模块化的语言,它是面向过程的。C++保留了C语言原有的所有优点,增加了面向对象的机制。C++与C完全兼容。C++是对C的扩充,是C的超集。它既可用于结构化程序设计,又可用于面向对象的程序设计,功能强大。C++性能良好,因为它被编译为机器代码。对于VBScript和Java等语言,代码在运行时由程序解释,而且每次运行程序时都要将代码转换为机器码,这样做效率比较低,不仅仅是已编译过的C++程序运行得较快,而且微软C++编译器已存在多年。这意味着微软的编译器程序员已经把许多优点集中到编译器上,以致于它能产生非常高效的机器码。因为C++是编译语言,而且非常自然,比VB更接近机器代码,所以由C++编译器产生的代码一定比VB的编译代码效率更高。C++是一种编译语言,即C++代码在执行之前已转换为机器码。只要此代码不依赖于外部的动态链接库(DLL),C++就可以在不需要安装额外程序的情况下移动到运行同样操作系统的其他机器和微处理器上,而移动Java程序时需要先安装Java运行期库。因此,使用C++语言相比其他语言具有最小的依赖性由于C和C++已经存在许多年了,现在有许多可利用的代码,我们的服务器组件可以使用现有的C/C++代码或库。鉴于上述特点,我在本设计中选择C++作为主要编程语言。3.3.2VisualC++6.0编程环境介绍本次设计中使用的VisualC++6.0是一个基于C++语言,基于Windows操作系统的功能强大的可视化软件开发工具。这不仅表现出在应用程序界面编辑和代码的编写中,还表现为数据处理上的高可视化和高面向对象性。VisualC++6.0不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrateddevelopmentenvironment,IDE)。它由许多组件组成,5包括编辑器、调试器以及程序向导AppWizard、类向导ClassWizard等开发工具。这些组件通过一个名为DeveloperStudio的组件集成为和谐的开发环境。另外,VisualC++6.0还提供了一个无所不包的应用框架MFC,并且可以非常方便的使用MSCcomm控件进行串口编程。使用VisualC++6.0的向导可以生成大量的使用代码,而不必人工地编写代码。从编写程序的难易程度和程序的性能综合考虑,这些特点完全能够满足我在本次课题设计中的各种需求。3.3.3MFC程序框架介绍MFC就是一个程序的框架。这个框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法。使用者只要通过预定义的接口把具体应用程序特有的东西填入这个轮廓就可以了。在它基础上来建立Windows下的应用程序,相对SDK来说更为简单。VisualC++6.0提供了相应的工具来完成这个工作:AppWizard可以用来生成初步的框架文件(代码和资源等);资源编辑器用于帮助直观地设计用户接口;ClassWizard用来协助添加代码到框架文件;最后,编译,则通过类库实现了应用程序特定的逻辑。在本设计中要求通过编写代码来建立必要的用户界面,控制并定制其外观。同时还要响应用户的操作行为。例如,如果用户单击了现场测试按钮,就需要有代码来响应这一动作。而使用MFC框架,则会自动添按钮的响应消息,只需在对应位置添加事件处理动作就能完成控制任务。为此采用了VisualC++6.0的MFC单文档程序框架作为上位机软件的基本框架。3.4基本界面的建立3.4.1单文档一个典型的应用程序应该活动在称为“框架窗口”中。一个框架窗口是一个全功能的主窗口,用户可以改变尺寸、最小化、最大化等。本设计方案中主要涉及单文档窗口,和对话框窗口。整个上位机界面的底层是单文档,而上层使用的使对话框,并在对话框上添加主要控件,从而构成了完整的界面外观。6图3.单文档结构图使用MFC的向导即可生成如上所示的单文档窗口。这是整个界面的基础框架部分。3.4.1对话框在基础的单文档框架上面添加了两个无(标题栏)对话框将单文档窗体分为两部分。上一部Dialog1分为工具条按钮,下一部分Dialog2为具体功能显示区。此两部分窗口均为非模态化对话框。首先在资源里插入新建对话框,修改其属性;然后添加相应的类,如CUDiskDlg;再使用以下代码分别创建模态化对话框和非模态化对话框。CUDiskDlgm_CUDiskDlg;//定义对象m_UDHisDlg.Create(IDD_UDISKHIS,this);//创建非模态化对话框m_UDHisDlg.ShowWindow(TRUE);//显示对话框m_UDHisDlg.DoModal();//创建模态化对话框73.4.1控件介绍Button控件:Button控件是按钮控件,可以响应单击(BN_KLICKED)和双击(BN_DUBLEKLICKED)事件。其使用方法是:在资源标签的相应窗体下,从Controls对话框中将Button控件拖至对话框的相应位置,修改属性及ID号后,在其对应的事件处理函数中添加事件代码即可。在本设计
本文标题:电机上位机控制及界面设计
链接地址:https://www.777doc.com/doc-4238722 .html