乘员终端人机界面开发方案
概述
基于液晶平板显示器的军用武器乘员显控终端因其抗干扰能力强、信息容量大、操作直观简便、节能环保等优势而得到日益广泛应用。乘员显控终端软件的实现,涉及嵌入式图形界面开发、底层功能逻辑开发,图形界面与底层逻辑通讯实现、图形界面于硬件集成等;而图形界面的开发往往耗费编程人员大量的时间,并且效果不佳。随着乘员终端的信息显示及控制输入需求越来越多,相应的人机交互逻辑也随之复杂;仍采用传统的手工与码实现图形软件,难以满足需求。
采用高效的图形界面开发工具能够解决以上问题,目前行业内应用较为广泛的有altia,vaps xt。这里以altia为例,介绍基于模型的乘员终端图形界面开发方案。
凯发娱乐登录的解决方案
altia为用户提供了快速创建界面人机交互流转逻辑的编辑环境,能够基于静态图片及控件搭建可操作的界面模型;并提供了丰富可用的航空、汽车、医疗专用控件库,可直接使用;提供了与第三方应用集成的api接口,使得设计的界面能够与用户的应用程序快速集成。所设计的界面能够针对各类软硬件目标平台生成代码,进而界面实现于硬件目标平台。altia秉承所见即所得的开发理念,形成了基于模型的开发流程:
.jpg)
图1 altia基于模型的人机界面开发流程
在乘员终端图形界面软件开发及实现过程,主要分为以下几个步骤:界面模型构建、通讯接口开发、代码生成及界面调试及产品实现。
1.1 图形界面模型构建
在altia design编辑环境中:
• 开发各类控件:仪表控件、报警灯控件、曲线绘制控件、菜单控件、开关按键灯物理部件的虚拟化控件;
• 定义每个控件的一系列变量名称、值域范围、初始值;作为控件间互动以及后台通讯的对象;
• 分配控件于界面层级、规范界面布局;
• 定义界面内的交互流转逻辑;
• 定义界面内控件之间的事件/数据的输入输出关联;
• 定义子界面之间的跳转触发和转移。
.jpg)
图2 altia design界面编辑工作环境
1.2 通讯接口开发
为满足多乘员作战需求,乘员终端往往由多个子系统组成,这些子系统彼此之间,以及与其他功能系统之间可通过总线等方式通讯;需要开发的通讯接口软件包含以下三方面:
• 板卡驱动调用程序负责管理总线数据收发;
• 总线报文解析程序负责将总线上的报文信号解析为相应的变量值;
• altia api接口层程序将解析出的信号值发送给各个图形界面中所对应的变量。
由此终端可显示当前总线发过来的各类参数和状态;并且,图形界面产生的人机交互指令(或事件)被altia api软件接口层捕获,进而触发相应的后台逻辑,由此形成前端界面与后台之间闭环的人机交互。

图3 乘员终端软件逻辑框图
使用altia提供的针对c/c++的api接口函数,开发api接口层:
• 后台界面调用前台界面的入口;
• 后台捕获前端界面向后台程序发送的人机指令/事件的api开发;
• 后台程序解析出的变量值/状态值发送给向前端界面的api开发;
• ......
1.3 代码生成及硬件平台集成
基于模型的开发采用自动代码生成技术将模型转换为可部署的嵌入式代码,与目标机集成,形成最终产品。自动代码生成技术确保了建模设计能够正确完整地实现为产品,剔除了人工编程带来的不确定因素。
altia提供针对不同种类硬件平台的代码生成器,将界面模型生成全开源标准c代码,代码包含了图形、动画、激励、界面逻辑,以及与用户的操作系统和硬件匹配驱动代码;这些代码经过交叉编译即得到能够运行于嵌入式目标硬件平台的可执行文件以及库文件。底层代码调用altia api进而可调用altia生成的文件,最终集成为产品。


总结
基于模型的乘员终端图形界面开发流程的优势:
• 无需编程创建图形界面模型,模型即时运行验证设计,迭代优化形成需求;
• 提供丰富的与第三方软件集成的api,灵活易用;
• 自动生成包含目标平台驱动在内的图形代码,代码经优化,无需修改和编辑,编译即可运行于目标硬件平台;
• 快速将图形界面部署于硬件验证效果,加速优化完善设计。