蓄电池化成控制系统中显示功能的实现
0 引言
随着现代生活中蓄电池需求量的日益增加,蓄电池的生产规模也逐渐扩大,同时对蓄电池生产中的控制也提出了更高的要求。由于蓄电池的化成过程是影响蓄电池质量的一个非常重要的工艺环节,因此,对蓄电池化成工艺过程的有效控制在很大程度上决定着蓄电池的质量。
本文给出了在蓄电池化成工艺过程控制系统设计中,将嵌入式操作系统μC/OS-II用于系统软件设计,并将系统各功能模块划分成不同优先级的任务由系统内核进行调度,从而通过人机操作界面显示系统任务的具体方法。
1 系统总体设计
本系统中的控制器主要用于实现实时蓄电池的恒流充放电控制,检测蓄电池充放电过程中的电压和电流参数,以及测试蓄电池的负载能力。本系统的总体框图如图1所示。
蓄电池化成控制系统的主要功能可由变流控制器完成。系统运行时,只要通过外扩的键盘电路输人化成控制参数信息(即所谓的化成工艺文件设置),微控制器便可按照工艺文件的设置对蓄电池进行充放电控制。在整个系统运行过程中,控制器通过信号检测电路检测运行过程中的电流和电压参数,并将这些信息实时的显示在液晶显示器上。当在运行过程中遇到键盘操作、系统出现故障或者采集到的参数越限时,液晶显示器将自动切换到相关信息的显示界面中去,因此,本系统对液晶显示器的实时显示处理具有较高的要求。
2 显示任务的实现
设计时,根据控制器所要实现的功能可将本系统划分成若干个任务,其中监控任务用于监视系统运行时各任务的运行状态;键盘任务用于对键盘进行扫描与处理;显示任务则用于实时显示系统运行中的各种状态信息以及控制信息;通信任务用于实现控制器之间以及控制器与上位机之间的通讯;采样与反馈任务用于实时采集现场数据并输出反馈控制信号。
本系统采用字符型液晶显示器VPG19264作为实时显示的窗口。VPG19264是一种图形点阵液晶显示器,点阵数为192(列)×64 (行),可显示12×4(行)个16×16点阵汉字,也可完成图形、字符、动画的显示。它主要由行驱动控制器和列驱动器两部分组成192(列)×64(行)的全点阵液晶显示器。此显示器采用COB的软封装方式,可通过导电橡胶和压框连接LCD。当通过显示器显示汉字时,应首先使能显示器,然后通过写命令设置汉字显示的地址,最后写入要显示的汉字字模。
为了在系统运行过程中能够实时显示各种状态信息和控制信息,可在软件设计中引入面向对象的概念。本设计对很多与显示模块相关的函数都进行了特殊处理,因而其使界面显示更具人性化。
2.1 菜单的操作
由于对显示器的操作大多都是通过对菜单进行的,因此,菜单的合理规划是本操作显示器的重点。在对菜单进行设计时,笔者采用了面向对象的思维,并将菜单编号、菜单显示内容、显示位置以及对功能键的响应作了封装,其封装格式如下:
因为对菜单的操作是模仿手机中的确认和取消键来处理的,因此,在封装时,本设计采用两个函数指针分别指向对应该菜单按下确认键和取消键功能的函数。在定义菜单时,采用结构体数组的方式给所有菜单赋予不同编号并保存在一个结构体数组中,然后通过对结构体数组的初始化来设s置所有菜单的初始化信息。这样,在实际操作时,通过一个通用的函数模块即可调用对应菜单的处理函数。下面的函数即代表了在对应菜单上按下确认键时程序的运行状态:
变量CurrentFocusMenu用于指明当前处于焦点状态的菜单项。
采用这种方式进行封装柯使菜单处理变得非常容易。这样方式在实际使用时。如果需要增加或减少菜单,只需在结构体数组中增加和删除菜单的初始化信息而几乎不需要增加其它代码;同时在进行界面切换时,也可以根据结构体中菜单的显示内容和坐标来调用统一的显示函数并进行处理,因而其菜单结构更加清晰。另外,采用面向对象的方式处理菜单,其程序也被大大简化,因而具有很好的扩展性。
2.2 提示消息的处理
系统中经常会遇到需要工作人员确定的消息,比如在系统参数设置时,当工作人员输入数据之后和保存之前,应在LCD上显示出工作人员刚刚输入的数据,并给出一个提示消息以确认所输入的信息是否正确,这样可避免保存无效的数据,提高系统的可靠性。
本系统中模仿了面向对象中弹出消息框的编写方式,即仿照手机中弹出消息框的编程模型,来将面向对象的思维运用在程序设计中,这样设计出来的消息框非常具有人性化,而且操作也很方便。图2为系统中的两种消息框的显示模型。
- 几种嵌入式实时操作系统的分析与比较(03-03)
- 基于μC/OS-II+CPLD的电动车电池管理系统设计(09-14)
- 基于Crotex-M3及μC/OS-II的自动智能防盗窗设计(11-30)
- 基于LPC2138和μC/OS II的超声波测距系统设计(01-14)
- μC/OS-II就绪表算法在Cortex-M3架构上的适配设计(01-22)
- 基于STM32和μC/OS-II的嵌入式数字示波器设计(10-08)