开发及应用基于Excel的实时监控人机界面软件

时间:2011-08-24

  引言

    随着技术的不断更新,自动测控系统已经得到了开发系统人员的青睐。通常在对于以单片机为的嵌入式自动测控系统开发阶段需要借助微型计算机(PC机)来完成数据采集、数据分析、实时监控、人机交互等任务。要有效地达到此目的,需要在PC机上安装和运行一个实时监控人机界面软件,自动化或半自动化地完成上述任务。目前,主要有两种开发实时监控人机界面软件的方法:一种是采用某种计算机语言直接编程实现。具有高度的灵活性和可拓展性,但要求开发者具有较高的计算机软件技术水平,开发难度大,开发周期长。另一种是在商品化的人机界面软件框架的基础上进行二次开发实现。这种方法降低了开发难度,但灵活性和可拓展性受到了很大限制,有些方面难以满足实际要求,且此类商品化软件框架的价格为几千到十几万元,这是一笔不小的投资。基于对上述两种方法优缺点的认识,本文提出了一条新的技术路线:基于Excel开发实时监控人机界面软件。

  1 基于Excel的技术路线

  Microsoft Excel是微软公司的办公软件Microsoft office的组件之一,是由Microsoft为Windows和Apple Macintosh操作系统的电脑而编写和运行的一款试算表软件。Excel 是微软办公套装软件的一个重要的组成部分,它可以进行各种数据的处理、统计分析和辅助决策操作,广泛地应用于管理、统计财经、金融等众多领域。它集成了与微软VB 6.0相兼容的Visual Basic计算机语言,支持先进的面向对象和面向部件的编程技术,使得它成为了一个功能强大的软件开发工具。开发基于Excel的人机界面应用程序包括两部分:设计用户界面(GUI)和编写代码程序。

  本文利用了Excel集成的可视化Visual Basic编程语言和支持“快速原型法”的软件开发模式,即使用“工具箱”中的若干控件,按照设计者的构思,在指定位置“画”出对用户友好的界面。大大加快了开发速度,降低了开发难度。

  有了用户界面后,对应用界面要执行的控件进行“事件驱动”,也就是执行某个程序算法,使它按照设计者的意愿运行。这一技术路线把原来统一控制的大程序分解成为许多独立、小规模的子程序,分别执行事件。如利用Excel自带的自动化编程技术“录制宏”生成的程序模块为样板程序,或利用自有的或第三方的AciveX控件编程进行功能拓展。

  2 实时监控人机界面软件的结构

  在高性能恒温晶振(OCXO)的科研项目中,开发了用于精密控制恒温箱的实时监控人机界面。该高温度控制系统以微控制器MSC1210为组成嵌入式系统控制器,或称为下位机。下位机通过RS232串口与上位机(PC机)通信,如图1所示。

  通过与下位机的通信,对嵌入式系统的下位机进行监控,自动记录和显示采样数据、显示工艺参数的实时趋势曲线等。其软件结构如图2所示。

  启动模块具有“启动监控中心”、“数据保存到文件”和初始化全局变量的功能。实时监控中心可以控制通信开关、上载开关、选择上载数据的处理方式,实时设置并显示控制器参数,以及实时显示采样数据。其中通信开关是其他功能按钮的使能开关,即只有打开通信开关,上、下位机的通信开始工作后,其他功能按钮才能工作。

  3 主要功能模块的设计介绍

  3.1 通信模块

  通信模块是软件设计的难点,其主要功能为实现上位机与下位机的通信,设计的关键在于上位机与下位机通信协议条款的制定及实现。上位机与下位机通信的稳定性与正确性是实现实时监控的前提,通信协议所制定的通信数据包格式一般需要设计成能完成基本的校验功能,它包含有前导码、数据包标识码、数据校验码和结束码。

  为了减少编程的难度和工作量,采用微软提供的串口通信AciveX控件MSCOMM32.OCX来实现与RS232串口硬件直接有关的底层功能。因此,通信模块程序仅处理有关通信协议方面的高层功能。

  3.2 主监控模块

  主监控模块用于显示上载数据,包括给定值、测量值、控制值以及上载量、设置给定值、设置手动控制值以及切换控制方式。值得一提的是,这一实时监控人机界面软件可以实现无扰动切换自动与手动的控制方式,即在两者相互切换的过程中,PWM占空比不会出现大幅度跳动,由此防止恒温箱的输入电流出现瞬时的大幅度变化干扰整个电路的正常工作。图3为主监控模块的操作界面。

  3.3 实时数据记录与保存模块

  此模块把从控制器上载的实时数据和相关的时间、工艺参数自动记录到电子表格并将自动形成文件保存到硬盘中。

  模块程序的编写使用了Excel电子表格对象模型,并结合面向对象的编程技术来实现。采用了“录制宏”的自动化编程技巧完成此项工作:首先,采用“录制宏”,把手工操作实现数据记录与保存的每个步骤录制下来后,Excel就会自动给出一个实现相应操作、采用BASIC面向对象语言描述的程序模块;然后,以此BASIC程序模块为样板程序,添加少量必要的程序流程控制语句和少量其他修改,调试通过后就完成了此模块程序的编写。

  从控制器上载的实时数据可以选择直接写入电子表格,或者在趋势曲线上显示后成批写入电子表格。电子表格或趋势曲线被设计成能够显示1000组数据,并按照记录时间自动分配文件名保存到指定文件夹内,以便于将来对数据进行分析和处理。

  3.4 控制器参数的实时修改和保存

  控制器参数的实时修改功能是专为控制器的调试设置的。在调试过程中,需要不断调整控制器参数以寻找值。把控制器的参数设计为存放在单片机的RAM中,每个参数均可按单独刷新的方式方便地进行实时修改。同时,把存放在RAM的参数写入闪存,以及把存放在闪存的参数恢复到RAM中存放的功能。

  因此,当调试完成或告一段落时,就可以将控制器存放在RAM中的参数写入闪存保存,作为终产品的控制器参数或供下次实验使用。控制器在上电复位的初始化的过程中,自动完成控制器参数的恢复或上次实验参数的加载,从而减少调试的工作量。图4为控制器参数的实时修改和保存界面。

  3.5 实时趋势曲线的显示

  如果直接用计算机语言编写显示实时趋势曲线的程序,将是难度很大且十分耗时的任务。因此,为了降低难度和节省开发时间,采用了微软提供的图形显示AciveX控件MSCHRT20.OCX来完成这个任务,大大降低了参数调试的操作难度。所获得的实时趋势曲线显示效果如图5所示。

  3.6 历史数据的重现与分析

  实时数据的自动保存功能可以使历史数据重现。Excel能完成绝大多数常用统计分析任务。同时,Excel电子表格在数据的预处理、图形的绘制等方面具有相当出色的应用,其内置函数数量多且使用方便,可以用于完成历史数据的重现与分析。

  4 在科研项目中的应用

  上述实时监控人机界面已在项目实验中应用,并借此工具对高恒温箱的制造技术参数、工艺参数和控制参数进行了大量有价值的探索。

  (1)控制器参数的设置。其中,PID参数的设置是整个控温的关键,其好坏直接影响控温效果。这一人机界面实时反映控制器当前状态,使操作者能够及时调整控制器参数。同时,手动操作的功能也有助于了解被控对象的特性,获得手经验和技术诀窍,用于引入“实时系统”。

  (2)实验数据的记录与分析。基于Excel电子表格的人机界面借用了Excel自带的数据处理功能,可以在曲线上重现历史数据,从分析和重现记录的历史数据中获得有用经验。

  (3)变换实验方案。基于Excel的实时监控人机界面的开发简便而有效,采用模块式的编程方法,组态灵活、扩展容易,兼容性好,从而在变换实验方案时能以较快速度进行扩展和升级维护,以适应实验方案的改变。

  (4)在项目产品生产阶段,这一程序可扩展为产品测试检验软件,自动生成产品质量的检验文件,实现产品质量的查询、分析和跟踪的电子化,并能够向客户提供合格产品的电子质量文件。

  结论

  为嵌入式自动测控系统量身定制实时监控人机界面软件是一项技术复杂、难度大、开发周期长的任务。本文利用基于Excel开发实时监控人机界面(HMI)软件的技术路线,大大降低了实时监控人机界面软件的开发难度和工作量,大幅度地缩短了开发周期,节省了研发费用和投资;不仅使所开发出的软件具有强大的实时监控功能,而且还具有高度的灵活性和可拓展性,支持嵌入式系统项目的研发、生产及维护的整个生命周期的各个阶段。


  
上一篇:新型无位置传感器无刷直流电机控制系统设计
下一篇:浅谈测控测试设备的设计与实现

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料