随着计算机技术的发展,基于微处理器的智能仪表已成为仪表的主体。而越来越多的智能仪表采用图形点阵液晶模块后,提供了丰富灵活的显示内容,更符合人性化的特点。
智能仪表的功能是否强大、用户操作性是否方便,都必须通过界面友好的外观和可操作性来体现。
可见,人机界面是智能仪表开发中的主要环节,在开发的工作量中占了很大的比例。现有技术中智能仪表人机界面一般由液晶显示器和微处理器组成。目前,已有很多文献对液晶显示技术、图形用户界面设计和软件自动生成系统作了研究。文献[1]介绍了针对注塑机的智能显示仪表的液晶显示技术,采用直接对智能仪表CPU编程的方法;文献[2]介绍了基于嵌入式环境的图形用户界面的设计;文献[3]研究了应用于矿井监测的软件自动生成系统。
智能仪表种类繁多,显示操作界面的具体内容各不相同,但都具有基本相同的形式。因此,设计一个通用的编辑平台可以避免智能仪表的重复开发,节省人力、物力。
文献[4]介绍了一种基于点阵图形液晶显示模块的智能仪表通用中文显示软件模块,文献[5-6]介绍了智能仪表人机界面自动生成系统的设计框架。在这些文献的研究基础上,本文基于可视化编程工具Visual C++设计了一种针对过程检测仪表显示操作界面的相对通用的智能仪表人机界面软件自动生成系统。它可以缩短智能仪表的开发周期,节约仪表的开发成本。此系统是一个组态平台,可应用于各种智能仪表中。
1、设计思想
随着自动化技术、计算机技术的不断发展,组态概念的应用越来越广泛。在受组态软件在工业控制自动化领域实例应用的启发下,本文提出这样的解决方案:在知识库基础上,利用VC++工具在上位机上编制一个界面操作简便直观且直接面向最终用户的通用显示屏组态平台,提供良好的用户开发界面和简捷的使用模板,使不熟悉软件开发过程但了解仪表操作过程的用户无需进行代码编程,直接根据需要在系统所提供的模板上设置参数和数据,生成用户需要的人机界面,同时生成了相应的存储文本,并转换成液晶能显示的代码,下载到智能仪表CPU中。智能仪表CPU程序按下载到其FLASH中的代码组合生成智能仪表界面,显示在液晶显示屏上。这样,大大加快了开发智能仪表界面显示的效率,并且该方法具有良好的通用性,大大减少了智能仪表CPU编程的难度,提高智能仪表界面的可操作性、交互性和通用性。同时,提高了智能仪表界面开发的整体效率,并能够应用于各种工业领域的智能仪表的界面显示操作。
2、仪表显示操作界面的软件自动生成系统
2.1 智能仪表显示操作界面需求分析
对于一般过程检测仪表的显示内容,通常是:参数设置、运行数据显示、百分比棒状图显示、按键操作等,可以根据这些功能进行有针对性的设计,这样,用户可根据自己的实际需要来选择显示模板,方便操作。
(1) 对于仪表的参数设置、运行数据显示,一般来说两行显示已足够。而随着仪表小型化、智能化的发展,要求能以尽量少的按键完成尽量多而复杂的设置任务,这就要求以液晶来显示辅助按键功能说明,使按键的功能多样化、灵活化。图1是过程检测仪表的一个参数设置人机界面。据以上分析,本设计把液晶模板设置成如图1所示的3行显示格式(当然可根据需要设置成其他行数),每一行都有相关的字符串或数据需要设置。
(2) 对于显示的字符构造,由于汉字繁琐,字母、数字等ASCII字符简单,如果以构造ASCII字符的点阵数来构造汉字显然不能构造完整而漂亮的汉字;反之,以构造汉字点阵数来构造ASCII字符又显得对液晶点阵资源的浪费,并在显示数据位数较多的场合会出现显示不下的情况。由此,本设计采用两种点阵标准去构造汉字(16×16点阵)和ASCII字符(16×8点阵)。
(3) 现今智能仪表的操作面板越来越小,显示屏却越来越大,所以,只能通过减少按键来适应这种需求。为了能以尽量少的按键完成尽量多而复杂的设置任务,可以通过一键多功能来完成仪表操作。在操作显示界面上一般要求有4个按键功能说明,通常为传感、转换、显示、运行或显示、进入、修改、确认等(也可根据用户需要自行设计)。
(4) 总结一般智能仪表显示屏,不外乎3种类型的界面:数据设置类屏幕、选项设置类屏幕、运行方式设置类屏幕。
(5) 为了方便在液晶显示屏上定位,本设计引入了坐标形式,即在生成每个界面之前,由用户对界面的参数进行设置时,就要确定界面中第一、二行各字符串的坐标位置并存储于文本文件中,与字符串内容一起传给下位机。下位机接收到这些信息后,才能在液晶的相应位置显示相应的字符串内容。
(6) 由于下位机接收到上位机的数据后,先将其存人数据存储器FLASH中,需要时再进行调用,因此,本设计将每个字符串的参数设置都存为字符表的形式,方便下位机的存储、读取和显示。
2.2 人机界面软件自动生成系统
人机界面软件自动生成系统的组成如图2。
系统由开发系统计算机和人机界面控制装置构成。开发系统计算机用于运行人机界面开发软件,人机界面控制装置用于接收人机界面开发软件。用户对系统所提供的人机界面模板进行设置后,系统先自动生成了键名库、数据设置参数库、选项设置参数库、数据库、选项库、字符库等,然后再将库中的内容进行代码转换,最后通过串行通信传输下去。
3、通用显示屏组态平台的设计
目前,图形LCD显示模块有上百种规格,这样就会产生非常多的人机界面模板设计问题。用户可以通过下拉菜单来选择点阵图形LCD显示模块的LCD规格。主界面如图3所示。
分页
屏幕规定有上、中、下3个显示区(图4)。
在图5中,参数A、B、C类屏幕的操作显示界面由数据设置类和选项设置类两种界面实现,参数D类一般为运行状态,它的数据显示和查询由运行设置类界面实现。
4、自动生成系统的软件设计
4.1 参数设置和修改
(1)参数的设置
在数据设置类屏幕中,有的字符串为数据的单位,这些单位是随着选项设置屏幕上的设置而改变的。所以要引用选项设置屏幕中建立的选项参数库。
选项参数库是随选项设置类界面参数的设定自动生成的,用来存放各种数据的单位(如:m、km、s、min、h等)。由于其他界面上某些参数的单位是跟随选项设置屏幕中所选的单位的,所以在其他界面参数设置时采用了“选项名称”的概念,直接在选项参数库中调用。
完成参数的设置后,需要显示的内容可立即显示于设置类屏幕上。这样,用户马上就可以很直观地看到他所设置的参数应用于界面上的效果了。然后由用户填入屏幕编号、连接屏幕编号,“确定”后系统便将数据设置类屏幕所包含的参数存入以该屏幕名称为首的文件和链表内。
(2)参数的修改
如要对上一次设定的参数进行修改,可以在运行程序后,打开存有参数信息的文件,读出文件里的参数后存入链表,然后反馈到各个屏幕上相应的位置。这样,用户即可调整原来设置的参数,调整完毕后再保存起来。
4.2 字符库的生成与转换
在基于单片机的智能系统中,字符库的生成与转换是很重要的一个组成部分,它应用广泛、操作容易、调试简便。然而,在单片机上显示汉字存在几个问题:首先,单片机资源有限,不能为了显示汉字占用太多的资源;其次,汉字存储读取比较繁琐,使用不方便;第三,汉字是通过点阵显示出来的,往往与LCD扫描方式不一样,这就得进行转换和调整。
本设计采用的显示方法是:引用字符(16×16点阵)和半字符(16×8点阵)的概念,图形符(ASCII码)所占的区域比较窄,应用16×8点阵即可;汉字一般比较宽,用2个16×8图形符(即2个半字符)组成一个汉字。上位机读取界面存储的文本文件后,用一段程序建立一个小字库,这个小字库的汉字点阵数据取自于一般汉字库,如图6所示。
再经过转换和调整,得到新的汉字库,传给下位机存储显示。整个过程中,将繁琐的工作交给上位机来完成,下面的单片机只需把接收到的新字库存入FLASH中,需要时按序号读出点阵字节,送往LCD即可在液晶显示屏上显示汉字或字符了。这个方法减轻了单片机的负担,去除了繁琐的查找内码、求起始位置、转换、调整等工作,提高了系统可靠性。
4.3 系统参数代码的串行传输
Visual C++ 6.0提供的MSComm通信控件为应用程序提供了串口通信的功能,允许通过串口来发送和接收数据,对事件的响应方式也大大简化了串口通信的编程,使计算机和单片机之间的数据传输更加快捷。因此,本设计利用了该通信控件编写了较简单的VC程序,完成了微机与单片机之间的RS232串行口通信。模块硬件图如图7所示。
5、应用实例
图8为一个实际智能流量仪表的运行状态、查询状态和设置状态间的操作显示关系示意图,描述了仪表各个界面之间的关系。
分页
图8中,查询,设置状态的操作显示界面由数据设置类(图9)和选项设置类(图lO)两种界面实现,运行状态的流量数据显示和查询由运行设置类界面(图11)实现。通过3种设置类界面完成所有参数的设置后,需显示的内容可立即显示于屏幕上。如不满意,可以进行及时修改(如图12所示)。
图12 设置完毕的参数显示
根据智能仪表人机界面的设计要求,计算机把所有屏幕参数的设置结果形成软件自动生成的资源文件。系统自动返回到图3的主界面,按“转换成代码”按钮,系统顺序读所有界面参数存储的文本文件,调用生成专用字库的子程序和扫描格式转换子程序后即生成液晶显示所需代码。再按“发送代码”按钮,把代码发送给下位机。智能仪表CPU程序按下载到其FLASH中的代码组合自动生成流量仪表各个界面资源,智能仪表的人机界面自动生成过程结束。
6、结 论
智能仪表人机界面自动生成系统具有以下3个主要特点:
(1) 通用性强。适用于各类智能仪表,不同的仪表只需根据不同的设计要求输入参数即可。
(2) 操作简单。提供良好的用户开发界面和简捷的使用模板,用户只需了解仪表操作过程而无需进行代码编程,简化了资源生成过程。
(3) 可视效果。设置的参数可以马上在屏幕上显示,具有可修改性。
因此,智能仪表人机界面软件自动生成系统具有较大的实用价值。本系统已通过调试,成功应用于智能流量仪表中。
参考文献
[I] 王静,李华军,韦巍.液晶显示智能仪表在注塑机中的应用[J].工业仪表与自动化装置,2002(2):23.25.
[2] 陆科进,徐宏炳.基于RTOS的嵌入式微型图形人机界面的设计[J].现代计算机,2003(2):49.51.
[3] 罗敏.矿井监测软件自动生成系统的研究[J].中国煤炭,1998,24(11):35.36.
[4] 沈峰,李斌.智能仪表通用中文显示软件模块的设计[J].自动化仪表,2003,24(10);35—38.
[5] 李斌,高新闻,史骥.人机界面自动生成系统;中国,200510024285.3[P/OL].
[6] 李斌,高新闻,李佳玲.智能仪表界面自动生成方法:中国,200510024289.1[P/OL].