2007-11-11
图1 查询/设置状态的显示形式
(2) 对于显示的字符构造,由于汉字繁琐,字母、数字等ASCII字符简单,如果以构造ASCII字符的点阵数来构造汉字显然不能构造完整而漂亮的汉字;反之,以构造汉字点阵数来构造ASCII字符又显得对液晶点阵资源的浪费,并在显示数据位数较多的场合会出现显示不下的情况。由此,本设计采用两种点阵标准去构造汉字(16×16点阵)和ASCII字符(16×8点阵)。
(3) 现今智能仪表的操作面板越来越小,显示屏却越来越大,所以,只能通过减少按键来适应这种需求。为了能以尽量少的按键完成尽量多而复杂的设置任务,可以通过一键多功能来完成仪表操作。在操作显示界面上一般要求有4个按键功能说明,通常为传感、转换、显示、运行或显示、进入、修改、确认等(也可根据用户需要自行设计)。
(4) 总结一般智能仪表显示屏,不外乎3种类型的界面:数据设置类屏幕、选项设置类屏幕、运行方式设置类屏幕。
(5) 为了方便在液晶显示屏上定位,本设计引入了坐标形式,即在生成每个界面之前,由用户对界面的参数进行设置时,就要确定界面中第一、二行各字符串的坐标位置并存储于文本文件中,与字符串内容一起传给下位机。下位机接收到这些信息后,才能在液晶的相应位置显示相应的字符串内容。
(6) 由于下位机接收到上位机的数据后,先将其存人数据存储器FLASH中,需要时再进行调用,因此,本设计将每个字符串的参数设置都存为字符表的形式,方便下位机的存储、读取和显示。
2.2 人机界面软件自动生成系统
人机界面软件自动生成系统的组成如图2。
图2 系统组成
系统由开发系统计算机和人机界面控制装置构成。开发系统计算机用于运行人机界面开发软件,人机界面控制装置用于接收人机界面开发软件。用户对系统所提供的人机界面模板进行设置后,系统先自动生成了键名库、数据设置参数库、选项设置参数库、数据库、选项库、字符库等,然后再将库中的内容进行代码转换,最后通过串行通信传输下去。
3、通用显示屏组态平台的设计
目前,图形LCD显示模块有上百种规格,这样就会产生非常多的人机界面模板设计问题。用户可以通过下拉菜单来选择点阵图形LCD显示模块的LCD规格。主界面如图3所示。
图3 系统主界面
评论3
楼主 2007/9/14 12:05:11
屏幕规定有上、中、下3个显示区(图4)。
图4 界面显示区分布
在图5中,参数A、B、C类屏幕的操作显示界面由数据设置类和选项设置类两种界面实现,参数D类一般为运行状态,它的数据显示和查询由运行设置类界面实现。
图5 屏幕类型选择界面
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所示。
图6 小字库建立流程图
再经过转换和调整,得到新的汉字库,传给下位机存储显示。整个过程中,将繁琐的工作交给上位机来完成,下面的单片机只需把接收到的新字库存入FLASH中,需要时按序号读出点阵字节,送往LCD即可在液晶显示屏上显示汉字或字符了。这个方法减轻了单片机的负担,去除了繁琐的查找内码、求起始位置、转换、调整等工作,提高了系统可靠性。
4.3 系统参数代码的串行传输
Visual C++ 6.0提供的MSComm通信控件为应用程序提供了串口通信的功能,允许通过串口来发送和接收数据,对事件的响应方式也大大简化了串口通信的编程,使计算机和单片机之间的数据传输更加快捷。因此,本设计利用了该通信控件编写了较简单的VC程序,完成了微机与单片机之间的RS232串行口通信。模块硬件图如图7所示。
图7 串口模块硬件图
5、应用实例
图8为一个实际智能流量仪表的运行状态、查询状态和设置状态间的操作显示关系示意图,描述了仪表各个界面之间的关系。
图8 仪表各状态间的操作显示关系示意图
楼主 2007/9/14 12:05:27
图8中,查询,设置状态的操作显示界面由数据设置类(图9)和选项设置类(图lO)两种界面实现,运行状态的流量数据显示和查询由运行设置类界面(图11)实现。通过3种设置类界面完成所有参数的设置后,需显示的内容可立即显示于屏幕上。如不满意,可以进行及时修改(如图12所示)。
图9 数据设置类界面
图10 选项设置类界面
图11 运行设置类界面
图12 设置完毕的参数显示
根据智能仪表人机界面的设计要求,计算机把所有屏幕参数的设置结果形成软件自动生成的资源文件。系统自动返回到图3的主界面,按“转换成代码”按钮,系统顺序读所有界面参数存储的文本文件,调用生成专用字库的子程序和扫描格式转换子程序后即生成液晶显示所需代码。再按“发送代码”按钮,把代码发送给下位机。智能仪表CPU程序按下载到其FLASH中的代码组合自动生成流量仪表各个界面资源,智能仪表的人机界面自动生成过程结束。
6、结 论
智能仪表人机界面自动生成系统具有以下3个主要特点:
(1) 通用性强。适用于各类智能仪表,不同的仪表只需根据不同的设计要求输入参数即可。
(2) 操作简单。提供良好的用户开发界面和简捷的使用模板,用户只需了解仪表操作过程而无需进行代码编程,简化了资源生成过程。
(3) 可视效果。设置的参数可以马上在屏幕上显示,具有可修改性。
因此,智能仪表人机界面软件自动生成系统具有较大的实用价值。本系统已通过调试,成功应用于智能流量仪表中。
楼主 2007/11/11 0:59:08