流速仪检定系统的上位机软件设计.docx_第1页
流速仪检定系统的上位机软件设计.docx_第2页
全文预览已结束

下载本文档

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

文档简介

1、流速仪检定系统的上位机软件设计PCSoftwareDesignedforCalibrationSystemofCurrent-meter张技张丈锦袁晓辉(东南大学自动化学院南京210096)摘要上位机软件是流速仪系统中实现人机接口的终端,应满足性能可靠、功能齐全、便于操作、更新容易等设计要求。介绍一种基于C#语言开发的控制软件,简要叙述软件的各个功能模块的主要功能,重点介绍多线程技术在处理串口通信时的应用和一种自动生成word格式的数据报表的方法。关键词C#;多线程;RS232;串口通信;数据报表中图分类号TP216+.1文献标志码B我国是个多河山国家,在水利监控中,流速仪使用普遍,因此流速仪

2、的检定比较重要。随着嵌入式技术、软件技术、无线通信技术的发展,自动化检测已经成为现实。操作者只需在控制室中就可监视并操作水槽上的流速仪检定车,实现高效、安全的远程控制。现在已有的检定系统的配套上位机软件,往往将所有的操作依靠单一的操作界面实现,功能划分不明确,用户操作不便;另外,用户也希望实现规范、快捷的自动化数据处理和报表打印文档,这在现有的系统中也不多见。本文介绍的上位机软件,解决了上述问题。1软件总体设计和功能分块1.1C#开发语言本系统上位机软件采用C#作为开发语言;底层数据库采用微软的Access。C#是微软公司发布的一种面向对象的、运行于.NETFramework之上的高级程序设计

3、语言。C#内置支持COM(组件对象模型)模型和Windows平台API(用户程序接口),编程时可直接使用这些强大的类库,以缩短开发周期,节约开发成本;C#对Web构架有良好的支持,也便于软件以后在网络方面的升级需要;允许有限制的使用指针,避免对内存的直接操作,可靠性、完全性较高;与其它微软的产品有较好的兼容性,调用方便(例如本软件使用的Access数据库),用户更易接受。1.2多线程设计检定系统的上位机软件向用户提供以下功能:1)根据用户操作,PC机通过串口(转无线)通信模块将对应命令发送给位于流速仪检定车上的核心控制器,由该核心控制器实现对流速仪检定车的控制;122)将检定车的工作状态信息显

4、示在界面上,并将检定结果存入数据库供事后处理;3)检定结束后,对数据库中的检定结果进行分析,拟和数据,生成报表。检定车在工作时,核心控制器会频繁地将检定车的状态信息和检定结果发送给上位机。上位机软件要实时处理这些数据,还要即时响应用户的操作。使用单线程,无法同时满足1)、2)的实时性要求。如果处理不当,可能造成串口接受数据的丢失或用户操作的失效,造成检定故障。现需要一个主线程去完成用户对界面操作的响应;同时,创建辅助线程来处理串口的数据交互,以满足实时性要求。13结构层次和功能分块从结构上来说,上位机软件可分为3层:数据库层负责保存流速仪型号信息和检定结果,供应用层调用;应用层负责人机交互,执

5、行各种命令;通信层负责上位机到检定车的数据交互,根据通信协议解析各种命令字。可见,应用层是整个软件的核心,根据用户需求以及对流速仪检定系统的控制要求,功能分块包括:检定系统总体工作状态显示、流速仪参数输入、待测速度输入、系统调试、检定数据处理、进行自动检定。软件的层次结构如图1所示。主界面如图2所示,对应按键指向了各自功能界面。数据炸层"底层犁据库图1软件的层次结构图2上位机软件的主界面2串口任务的实现2.1串口组件的应用在VisualStudio2005以后的版本中,集成了专门针对于处理串口操作的组件System.10.Ports.Serial-Pon,该类提供了同步I/O和事件驱

6、动的I/O、对管脚和中断状态的访问以及对串行驱动程序属性的访问。在进行串曰通讯时,一般的流程是设置通讯端口号及波特率、数据位、停止位和校验位,再打开端口连接,发送数据,接收数据,最后关闭端口连接各项步骤。2.2串口数据读取由于串口不知道数据到达时间,一般有两种方式可以实现串口数据的读取。一种是采用轮询的方式,另外一种是采用事件触发方式。由于前一种方式会造成CPU的过多占用,导致资源浪费,因此本程序采用了DataReceived事件触发的方式。2.3多线程设计检定车在工作时,核心控制器会频繁地不定时地将检定车状态信息和检定结果发送给上位机。上位机软件要实时处理这些数据,还要时刻监视并且即时响应用

7、户的操作。SerialPort类读取数据的是同步阻塞调用,应该避免在主线程中调用,因此给其建立一个线程。这样,整个程序由一个主线程和辅助线程组成。主线程创建辅助线程实例,并且处理用户操作、人机交互等等;辅助线程处理DataReceived事件,解析接收到的数据,执行对应命令。3实验数据处理以及数据报表生成3.1实验数据的处理在检定完成之后,需要对实验数据进行处理,以判断所检定流速仪是否合格。在数据处理界面中,提供了丰富的功能供用户选用。用户可以按照检定时间、检定组别、流速仪安装位置进行筛选。选定一组数据后就可以进行数据拟合,软件将拟合出的曲线绘制出来的同时,计算得到的相关参数也会打印在图上。软

8、件还提供了删除错误测量点的功能,有经验的用户可以剔出其中的些点重新拟合03.2数据报表的生成有时在处理完数据后,需要将结果生成报表保存或者提交给上级部门。一般来说,数据报表以及一些证书的格式都是固定的,模板往往保存为word文件。软件需要将数据模板中插入对应的位置,这可以通过VS提供的office的com组件来实现。在office提供的com中,封装了对word操作的很多方法:绘制表格、向表格的单元格插入数据、选定范围、向选定的范围插入字符等功能。4结束语利用C#进行上位机软件的编程设计,可以充分利用其中的强大类库,减少开发成本。该流速仪检定系统的上位机软件,不仅功能强大,界面友好,还预留了将来升级换代的接口。投入使用以来,已证明了它的可靠性和易操作性。参考文献宋强,王慷,安禹.流速仪检定系统改造方案设计J.安徽农业科学,2006,34(9):1789-1791.1 AndersHejlsberg,ScottWiltaniuth,PeterGolde.c#编程语言详解M.韩江,王秀慧,译.北京:电子工业出版社,2007.2 崔敬东.Access2003数据库技

温馨提示

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

评论

0/150

提交评论