随着嵌入式系统特别是基于嵌入式Linux系统的优点被越来越多人所了解,在工业控制及仪表领域,越来越多的企业把嵌入式Linux系统作为开发智能控制及仪表设备的操作系统平台,高效、小巧的 MiniGUI 为这类工业控制系统提供了完美的图形用户界面支持。本文介绍的就是一款基于嵌入式 Linux + MiniGUI 的具有友好人机界面的医疗用激光控制系统。
该系统采用的硬件平台是 Motorola PowerPC MPC823 系列的 CPU,640x480 256色的8英寸LCD显示器,并配备有触摸屏。MPC823CPU集成了串口、网口、USB、LCD控制器等,采用这样的硬件平台不仅完全可以达到设计的功能指标,而且硬件成本比传统的 PC 工控机低许多。
该控制系统最重要的是信号的采集和处理,所以根据实际系统的需要,扩充了如A/D、D/A这样的功能,而且根据控制系统对外部事件响应轻重缓急,该系统使用了内核中的中断处理函数,以便处理报警、停机等紧急事件,而将错误号、错误提示信息
点击看原图 随着对人机界面的要求越来越高,以往的单色文字显示已经不能满足人们的需要,而 MiniGUI 作为 Linux 环境下轻量级的图形界面支持系统,刚好该系统的需求。MiniGUI 是由飞漫软件主持的开放源码软件,经过 4 年多的开发,已积累了众多用户,不仅在系统的可用性、健壮性方面处于领先水平,而且灵活的定制配置、扩充方面更是某些同类产品不可比拟。在系统的开发中,首先对系统特殊的输入设备开发了输入引擎,系统的操作主要由触摸屏来实现,用户只需轻点触摸屏即可完成设置、启动、停止,甚至可以通过屏幕软键盘输入汉字。飞漫软件将 MiniGUI的新功能,SKIN 界面技术应用到了该系统中。Skin技术可根据用户的需要,无需改动应用程序即可实现界面的切换。如下图中,按钮、进度条、文字等所有的元素都以Skin的方式实现,这样用户可以随时更换主题和风格。 点击看原图 Skin技术主要是为了满足对界面有较高要求的系统开发的,可以替代单一风格的按钮、进度条、静态文字框而使界面内容丰富,并且可以方便地更换界面的风格。在MiniGUI中,Skin 窗口的支持包含在 MiniGUIExt 函数库中,在创建窗口时,调用 create_skin_main_window 即可创建一个具有Skin特性的窗口。然后在窗口中填入对应于普通控件如按钮等的元素,与普通按钮有所区别的是Skin中的按钮需要指定一个“皮肤”即一幅位图作为按钮在界面上显示的外观。一般元素的信息有所在的位置、大小、类型等。在准备好一个窗口中所有的元素以后,再编写鼠标在该元素范围内移动或点击时需要处理的内容,如点击下图中“+”的按钮,按钮下方的进度条就会增加,同时图中“1.5”的数字也会相应的增加。这样的功能是通过主窗口响应鼠标消息,并根据窗口维护的所有元素的位置信息判断并执行相应的代码实现的。 在控制系统中使用Skin机制来实现常用控件如按钮、进度条等,大大改变了以往嵌入式系统单调的人机界面,使界面更加简洁,美观,操作更加方便。