logo资料库

基于Tilcon的交互式多页面的设计.pdf

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
嵌 入 式 软 件 应 用 文章编号 :1008-0570(2010)05-2-0084-02 微 计 算 机 信 息 嵌 入 式 与 》 ( 《 S OC )2010 年 第 卷 第 期 5-2 26 基于 Tilcon 的交互式多页面的设计 The Design of Conversational MultiPage Graphical Interfaces Based on Tilcon 中国舰船研究设计中心 ( ) 侯小鹏 谭显春 秦 克 HOU Xia o-pe ng TAN Xia n-chun QIN Ke 在 嵌 入 式 应 用 开 发 过 程 中 有 时 需 要 友 好 的 用 户 界 面 来完 成 一 些 人 机 交 互 操 作 , 针 对 交 互 式 多 界 面 开 发 困 难 的 难 题 , 结 合 作 者 的 实 际 工 作 经 验 , 并 对 实 现 过 程 中 所 涉 及 到 的 技 术 细 节 进 行 了 探 讨 和 详 细 说 特 点 做 了 简 要 的 描 述 的 结 构 。 、 , : 摘要 提 出 了 基 于 给 出 了 使 用 明 关键词 中图分类号 。 : 下 进 行 交 互 式 多 页 面 开 发 的 方 法 进 行 交 互 式 多 用 户 图 形 界 面 开 发 的 具 体 实 现 , 以 实 际 工 作 程 序 中 部 分 重 点 函 数 说 明 了 这 种 方 法 的 可 行 性 。 Tilcons Tilcon 并 对 Tilcon 。 嵌入式操作系统 : TP311.11 人机交互 ; Tilcon; 文献标识码 : A 技 术 创 新 Abstract: In the development of embedded systems,we need some user-friendly interfaces to carry out some man -machine conversa- tion operations.In view of the difficulty about graphical interface development,bring forward the method of enpoldering Conversational MultiPage Graphical Interfaces.Introduced the Tilcon ’s principle of work,,Gives and explicates an example of Conversational Multi- Page Graphical Interfaces combined with author ’s experience,accordingly explain this method is feasible. Key words: Embedded systems; Tilcon; Man-machine conversation operations 引言 1 , ) ( 。 、 、 、 监视终端 随着嵌入式系统的发展 很多领域的嵌入式应用 如导航 显 监控系统 的人机交互界面也对 控系统 多媒体终端 良好的人机交互界面不但要美 图形用户界面的需求不断提高 从而提高用户的使用效率 与一般系统 观易懂而且要操作简单 的图形用户界面相比较 嵌入式系统下的图形用户界面要求体 本文根据 积小 、 图形界面开发工具设计的交互 嵌入式系统的特点 式多 页 面 程 序 具 有 可 靠 稳 定 的 运 行 性 能 以 及 简 便 快 捷 的 设 计 方式 高性能 利用 可配置等特点 占用资源少 高可靠性 Tilcon 、 、 。 、 。 , , , , 在工程实际中应用广泛 简介 2 Tilcon 。 Tilcon 用户运用它能够快速 是一个支持多种操作系统平台的图形用户界面开发 方便地开发出令人满意的图形界面 用户所开发的程序不需要修改代码就可以从一个操 工具 应用程序 作系统移植到另一个操作系统之上 、 , , 。 。 API (API) Tilcon :Tilcon 与 平 台 无 关 的 (INTERFACE BUILDER)。 的关键部分是嵌入式引擎 嵌入式引擎是一个小巧的 的 开 发 环 境 主 要 由 三 部 分 组 成 (EMBEDED ENGNE)、 界面 设 计 环境 Tilcon 事件为驱动方式的内核 用户所有的事件 用户的应用程序与嵌入式引擎建立了一种通讯机制 态地创建对象 单 嵌 入 式 引 擎 接 口 和 可 视 化 的 其 体 系 结 构 如 图 所 示 : 以 负责处理 它为 它支持动 同时保持使用上简 它本身也是使用 用 设置控件的显示和运行属性的方式组建 自 Tilcon 户只需要拖动控件 可视化的界面设计环境如下图所示 提供对对象属性所有的控制 它为用户提供了丰富的控件 它与用户的应用程序相独立 提供的功能函数调用接口 自己的功能函数开发的 Tilcon 。 API 方便 。 是 、 。 、 。 , , , , , , , 、 侯小鹏 : 硕士研究生 84- - 360 元 / 年 邮局订阅号 :82-946 , TIlcon 用独特的二进制图形引擎的开发方法 终产品的系统结构如下所示 , 。 在目标机环境中 己的图形界面 件 可视化的界面设计环境中生成的 形 同时还可以通过 , 与其他的图形界面设计工具相比 , , ( ), 文件 *.twd TCP/IP 用户的应用图形界面完成后 嵌入式引擎负责读取数据资源文件 存储为数据资源 文 即在 绘制出相应的图 与其他目标记的嵌入式引擎相联系 突 出的 特 点 是使 使用它的开发过程和最 中为 并 设 置 存 用 户 的 应 用 程 序 编 译 链 接在 一 起 数据资源文件的独立使得图形界面的变化只影 极 大 RESOURCE FILES)。 提供的图形 引 擎 并不需要应用程序重新标以链接 用户开发的应用图形界面完成后 拖 拽 控 件 防 止 到 主 程 序 窗 口 内 用户使用工具 Tilcon (Tool, 、API 在 与 。 。 ( , , , , INTERFACE BUILDER) 各控件的显示和运行属性 储 为 数 据 资 源 文 件 即 Tilcon (APP SOURCE) 最终形成产品 响数据资源文件的改变 提高了开发效率 。 , 。 人机交互的开发 3 我 们 所 开 发 的 系 统 目 标 是 使 使 用 者 通 过 控 制 面 板 上 键 盘 的操作 达到在屏幕上调用相应的界面的目的 , 由于 Tilcon 多种平台的支持 以基于嵌入式 操 作 系统 如 种平台下均 能 正确 地 运 行 为 中央处理器 奔腾 VxWorks 以 。 电子盘 : 3 、4G 为了 使 人机 交 互 操作 简 洁 、 方便 、 。 因此可以使用 , 进 行开 发 , vc++ 开发 也可 本 系统 程 序 在两 硬 件平 台 , VxWorks 为 操 作系 统 , 彩色显示器 标准键盘等 、 。 按下相应的按键 根据画面上操作命令的提示 然后可以进行其他的各种命令操作 键的键值 是键盘扫描进程 传统的方式是采用多线程技术 。 , , , 负责不断地读取键盘输入 得到标准输入设备上输入的一个字符 , read(STD_IN,&c,1) 键值后用进程间通讯的方式通知另一个进程 程 在键盘消息处理程序中实现状态页面的切换 : , , , 即产生两个线程 采 用 单独 按 键 控制 方 式 。 调用相应的页面 , 为了准确地获得被按下按 一个 例如可以循环 使 用 获 得 键盘消息处理进 具体的代码 设 。 , , , 现场总线技术应用 200 例 》 《
您 的 论 文 得 到 两 院 院 士 关 注 嵌 入 式 软 件 应 用 , 在 Tilcon 。 提供的键盘 计上还要考虑到进程间同步等问题 获更为简单 决人机交互 就可以达到 函数实现 获得的相对应的数据保存在 体添加消息以及响应消息的方法如下 我们通过使用 即在主消息循环中加入 , 此消息的捕获是在主消息循环中用 Tilcon , , TRT_keyboard Recdata.data 下则对键值的捕 来解 消息的响应 Notification TRT_GetInput() 具 结构里 。 在 下面 , Tilcon biulder 然后在每个界面中添加键盘消息 属性对话框 在 左 键 单 击 Action 选择 页面 , Alphabetic characters 中相对应的按键被激活 。 设计出几个自己想要的窗口及控件 , 在窗口上单击鼠标右键进入 功能面板上鼠标 则 在 下 面 对 应 的 列 表 框 Transmit Keys 按 钮 这样就可以响应键盘消息了 , , Keylist 盘下 , 将 设 计 好 的 并 生 成 的 界 面 资 源 twd 系统启动后会相应地调用这些资源 。 , 文 件 分 别 装 载 到 电 子 。 : 4 Tilcon 下多页面动态加载的实现 , , 对于多页面的动态切换 其他的窗口采用隐藏方式 普遍地有两种方法可以使用 一将所有的窗口资源在程序开始时便装载到内存 示外 藏不同的窗口 也可以一直保持 载的方法 加载 此方法的优点是响应速度快 缺点就是耗用大量的内存 方 法 除主窗口显 根据程序的需要来显示以及隐 页面上控件的状态 , 方法二采用动态加 其他窗口根据需要再进行 即在一开始只显示主页面 。 , , , , , , , 。 本系统采用方法 二 以 键 盘 的按 键 , 以按键 加载界面资源 “ myTil1”, 过使用 所示 “ W” 按键来切换不同的界面 。 所示 “ Q”“ W” 键盘处理程序流程图如图 “ myTil2”。 。 2 “ Q” 来 加载 界 面 资源 在两种界面下 通 , 其主程序流程图如图 口 换 , return 1;} 键 盘 消 息 的 捕 获 是 在 MainEventLoop() 循环以实现窗口消息的连续获取 while() 程为触发 获取当前的事件 在 。 MainEventLoop() , 并将 事 件 信息 存 储 在 函数中 。 使用 , 函 数 中 此 函 数 采 用 循环的结束以退出进 函数 当 当判断出当 TRT_GetInput() 数 据 结 构中 , rec_data 时代表有消息事件发生 0 。 则 调 用 键 盘 消 息 处 理 函 数 Processkey- , 返回值为 TRT_GetInput() 前 消 息 是 键 盘 消 息 时 来处理 boardMessage() 。 , long MainEventLoop() { … ; while (true) {c =TRT_GetInput (NULL,0,NULL,0, &rec_data,TRT_BLOCK); switch(c) { case 0: if(rec_data.code == TRT_keyboard) ProcesskeyboardMessage();… }}} 键盘消息处理函数是获取到当前键盘消息中按键的 根据这个值来选择删除与加载相应的窗口 代表 码值 则为 同理 与 , , 81 其 中 与 “ W”。 “ w” “ Q”; ,113 119 87 ASCII 码值 的 ASCII 为 “ q” void ProcesskeyboardMessage() {switch (rec_data.state) case81: case113: ReloadWin (“ MyTil1”,”Mytil1”); Break; Case 87: Case 119: reloadWin(“ MyTil2”,”Mytil2”); break; … default: break;} ReloadWin() 函数根据当前保存在 来与即将切换的窗口的 进行比较 不一致时才进行删除当前窗口 ID ID 只有 ID 结构中的当前窗 则不切 rec_data 若 , 加载并显示新窗口 是一致 ID , 。 , 技 术 创 新 1 long ReloadWin(char *winFilename,char * winId) 。 { … ;if (strcmp (rec_data.window_ID,winId)! =0) TRT_win- dowDelete (TRT_cid, rec_data.windows_ID); WinFunc (winFile, winId); … return 1;} 结束语 5 : Tilcon WindMl 进行界面设计 使用所见所得的 本文作者创新点 下复杂的函数的调用 摆 可操作性强 , 降低了系统任务级的 使得在嵌入式这种高集成系统中系统更能发挥高的性能 。 进 行 交 互 式 多 脱 使用窗口重新加载方法节约了系统内存 开销 在 页面的方法是可行的 系 统 中的 实 际 使用 表 明 创建的界面美观 VxWorks Tilcon 使用 。 , , , , , 。 参考文献 键盘处理程序流程图 2 [1]Tilcon SoftWare White Paper [Z] . Canada: Tilcon Software Ltd. [2]Tilcon User Guide [Z]. Canada: Tilcon Software Ltd. 主程序流程图 图 程序中涉及到的关键代码如下 1 图 : int main() { Initialapp();Winfunc(“ myTil1”,”mytil1”); MainEventLoop(); TRT_WindowDelete (TRT_cid, rec_data.window_ID);TRT_Exit (TRT_cid);Return 0;} main() 统初 始 化 函 数 显示子程序 旦消息循环结束 环境 , 。 WinFunc() 及窗口 为参数 ID 。 函数是程序的入口函数 在 , main() 作 用 是 初 始 化 系 统 变 量 Initialapp(), Winfunc(); 主消息循环函数 函数 中 分 别调 用 系 窗 口 加 载 与 一 退出工作 函数 , ; MainEventLoop() , 则调用窗口删除程序删掉当前窗口 函数功能为加载并显示窗口 以窗口资源文件名 。 (430064 long WinFunc(char *winFilename,char * winId) { …; if(TRT_WindowLoad(TRT_cid,winFilename)) return -1; if(TRT_WindowDisplay(TRT_cid,winId)) return -1; [3]Tilcon Evalution Guide [Z]. Tilcon Software Ltd. [4]廖容,马中,肖成俊. Tilcon 在 Vxworks 操作系统中的应用. 舰 船电子工程.2007,27(2) [5]曲宏松,张叶,曹立华,耿爱辉,陈淘.Vxworks 下多页图形界面的 设计.微计算机信息. 2006,10-2,192 作者简介 汉族 业大学 工作于中国舰船研究设计中心 硕士研究生毕业于西北工 主要从事软件系统开发 (1977- ) , 侯小鹏 男 ), : ( , 。 , Biography:HOU Xiao-peng (1977 - ), male ( Han nationality), China Ship Development and Design Center, Research area: ma- jor in the software research. 中国舰船研究设计中心 侯小鹏 谭显春 秦 克 ) (China Ship Development and Design Center, WuHan 430064, China) HOU Xiao-peng TAN Xian-chun QIN Ke 通讯地址 中国舰船研究设计中心 侯小鹏 :(430064 ) 收稿日期 ( :2009.06.15)( 修稿日期 :2009.09.15) 《 P LC 技术应用 200 例 》 邮局订阅号 :82-946 360 元 年 / 85- -
分享到:
收藏