-
0 引言
-
在整个飞机驾驶舱人机交互系统中,控制板向机组提供飞机的操作控制功能,集成了用于控制飞机系统的各种操作开关和反馈飞机系统状态的电子指示器。在驾驶舱显示控制系统集成控制单元之前,必须确认控制单元的有效性[1],其中对于控制板上控制器件、指示器的布置设计以及机组操作与指示响应之间的交互逻辑须经过多轮有效评估后进行迭代优化,以达到良好的人机交互效果。型号研制前期,在缺乏集成式的驾驶舱物理评估平台的情况下,基于软件工具,开发可编辑的控制板仿真模型,一方面可对控制器件的外观设计、布置布局以及交互效果进行评估,快速响应设计方案的迭代;另一方面,可进一步实现虚拟控制器件与飞机系统仿真模型的动态交联,开展多系统功能的联合仿真。同时,还有利于提高设计评估的效率,有效减少后期设计更改,降低研制成本。
-
对于驾驶舱显示界面及系统逻辑的仿真建模,许多研究人员进行了研究和实践。王柯云等[2]基于SCADE Display软件提出模型和代码结合的方式开发显示软件,实现开发的灵活性与可扩展性;吴秀芝等[3]提出了基于SCADE软件进行近地告警系统软件设计及验证的方法,解决了传统开发方法中需求理解不一致、设计验证不充分等问题;李国材等[4]基于SCADE软件,通过采用基于安全状态机和数据流图的方式进行高升力系统软件建模,并生成了满足DO-178C标准的C语言代码;秦正运等[5]提出了基于VAPS XT软件的座舱显示开发框架设计方法,并进行了实践;杨卫风等[6]利用VAPS XT软件开发了一套多功能显示仿真软件,减少了开发时间。与VAPS XT软件及其他显示建模软件相比[7-8],SCADE软件建模语言是明确的,适用于描述安全关键系统的显示和控制逻辑。生成的C代码独立于平台,易于移植,并与ISO-C标准兼容。然而,基于以上研究现状,采用SCADE软件同时开发显示界面模型和控制逻辑模型,并开展联合仿真的研究及应用较少。
-
本文详细描述了采用SCADE软件开发驾驶舱控制板仿真模型的具体建模方法,也包括模型的联合调试和封装方法。基于该方法,开发了驾驶舱飞行模式控制板(FMCP)的仿真模型,鼠标操作可以实现虚拟化控制器件本身动态反馈,同时驱动控制板上指示器窗口中的数值指示实时变化。
-
1 驾驶舱控制板仿真模型建模方法
-
SCADE软件是面向高安全性要求的软件产品开发与测试工具套件[9],其中SCADE Display软件是面向高安全嵌入式显示系统的图形化开发工具,支持人机界面设计,支持设计规范、设计优化的自动检查,用来开发显示界面模型。显示界面模型中可直接嵌入手写代码,适用于较为灵活的数据处理需求,用户还可以开发特定扩展的显示单元库,提高库对象的可重用性。SCADE Suite软件基于严格的数学理论,采用形式同步语言进行可视化逻辑模型描述,用于描述图形的行为,以实现显示元素动态变化的仿真。SCADE Suite软件支持与SCADE Display软件进行联合仿真,且显控逻辑模型可以与显示界面模型无缝连接,最终自动生成符合DO-178C标准的代码[10],生成的代码可以嵌入Windows、Linux和Android多个系统,具有良好的可移植性。模型生成的KCG代码通过Visual Studio 2013封装后,可采用UDP等方式实现数据通讯,最后被成功编译成为可执行的应用程序。
-
在驾驶舱控制板仿真建模过程中,显示界面模型中创建的交互接口(鼠标、键盘的操作)为显控逻辑模型的输入接口,经过内部数学模型的逻辑运算后,显控逻辑模型的输出接口链接显示界面模型的输入接口。将显示界面模型嵌入到显控逻辑模型中,两者共同成为整体显示仿真模型,接收鼠标、键盘的操作信号激励画面动态显示。显控逻辑模型的输出接口还可以通过UDP通信方式与飞机系统模型交联。各模型接口之间的关系见图1。
-
图1 驾驶舱控制板仿真模型的接口关联图
-
1.1 控制板显示界面模型建模方法
-
使用SCADE Display软件绘制显示页面,保留相关显示接口,更多地应用了交互工具。控制板显示界面模型的开发程序如下:
-
1)梳理明确控制板的总体尺寸,以及控制器件类型、布置的位置、数量、尺寸、显示元素及接口命名等。驾驶舱控制板上通常包含按压开关、扳动开关、旋转开关和连续调节旋转选择器件、开关保护盖、键盘、操纵手柄等控制器件。
-
2)在SCADE Display软件中创建工程文件,设置画布尺寸单位为像素,画面绘制前配置字体、颜色、线条、显示页面背景。字体的类型应与显示技术兼容,配置等宽字体,字体高度为几种固定值,比如分大、中、小3种;颜色应固定每一种颜色的RGB参数值,色彩的使用要遵从驾驶舱设计理念;线条的配置要定义线形为点划线和实线2种,线宽值为几种固定值,线条的使用应根据功能需求明确线形及大小;显示背景的纹理配置主要是静态的图形,尺寸和页面比例为1∶1,颜色模式设置为RGBA模式。
-
3)根据控制面板设计需求,绘制面板及面板中固定的字符及标识等内容。按照尺寸划分,在相应固定位置绘制控制器件及指示器的多种显示状态,并根据控制器件类型创建相关显示输入接口。
-
4)利用SCADE Display软件的“Interactors”交互工具栏对控制器件设置交互区域、交互方式(如鼠标、键盘)及交互接口,为显控逻辑模型提供输入接口。建议将常用控制器件创建为可引用文件,创建控件库,便于后续同类控制器件复用,提升开发效率。
-
5)使用软件仿真功能,给不同显示输入接口进行赋值,确认控制板画面显示效果和设计需求一致,最后生成KCG标准代码。
-
1.2 控制板显控逻辑模型建模方法
-
控制板的显控逻辑模型使用SCADE Suite软件进行开发。该模型的主要功能是接收交互接口传来的数据,按照一定的逻辑进行计算,并将计算结果作为接口输出给控制板的显示界面模型。这样,该模型就能控制显示界面的动态变化规律,并对显示界面模型进行验证。显控逻辑模型开发程序如下:
-
1)在SCADE Suite软件中创建工程文件,根据设计输入,确定需要定义的控制器件功能键模块以及每个模块具体包含的功能,并定义一个总的功能键包含全部子功能键内容;
-
2)定义各个控制器件及指示器所需的输入输出接口、中间变量及相应数据类型,选择合适的函数、算法建立数学模型;
-
3)根据数学模型,使用SCADE Suite软件自带可视化功能逻辑模块进行编程;
-
4)在显控逻辑工程中导入集成后的SCADE Display软件开发的控制板显示模型,控制板显示模型中设置的交互接口作为显控逻辑模型的输入接口,显控逻辑模型的输出接口链接显示界面模型的输入接口;
-
5)使用联合仿真功能,确认显控逻辑的正确性以及控制板交互显示效果与设计预期一致;
-
6)联合工程检查无误后,生成KCG标准代码。
-
1.3 控制板显示模型封装方法
-
控制板模型封装是将自动生成的模型代码和手写功能代码添加到Visual Studio工程中,生成可执行应用程序的过程。封装过程中,若需要和飞机系统模型开展联合仿真,则需要创建UDP传输代码,将控制器件的状态信号通过UDP方式输出给系统模型端。控制板模型封装程序如下:
-
1)新建控制板项目的工程文件。
-
2)将生成的模型KCG代码,以及SCADE软件自带的标准库和手动编写的功能代码,置入资源管理器并添加至工程中,以保证工程的功能完整性。其中,手写的功能代码可自定义控制板初始化界面、显示窗口位置及大小,同时可对接口进行定义并明确接口信号的传输方式以及端口号。
-
3)生成“.exe”可执行文件。
-
2 基于SCADE软件开发驾驶舱FMCP仿真模型的建模方法实践
-
飞行模式控制板(flight mode control panel,简称FMCP)是自动飞行控制系统的主要人机交互设备,位于驾驶舱遮光罩位置,可供机组操纵使用。实现管理功能控制、水平导引选择、垂直导引选择和推力/速度控制设置。FMCP上主要布置有按钮、选择开关、多功能旋钮、电子显示窗口和指示灯等控件,其分类如表1所示。
-
2.1 基于SCADE软件的FMCP建模过程
-
在SCADE Suite软件中设计虚拟FMCP显示控件逻辑时,需要根据不同的显示控件元素开发相应的算法功能,在交互过程中实现显示控件的画面变化以及按键输出控制功能。
-
以图2所示为例,垂直速度控制旋钮(VS旋钮)位于FMCP上,在飞行过程中飞行员接通自动飞行模式并通过旋转VS旋钮控制飞机上升或下降的垂直速度,单位为ft/min。因此,在建模过程中应实现以下功能:若鼠标点击的同时顺时针或逆时针滑动,显示界面中的VS旋钮也同步实现顺时针或逆时针转动;顺时针转动指示器界面垂直速度增加,逆时针转动指示器界面垂直速度减小;指示器上“+”代表垂直速度垂直于地面基准向上,飞机爬升;“-”代表垂直速度垂直于地面基准向下,飞机下降。
-
图2 垂直速度VS旋钮
-
基于建模的功能需求,首先需要确定通过鼠标点击的方式作为交互工具。在SCADE Display软件中,选择“Interactors”菜单栏下“Pointer event listener”控件,并选定控件有效区域,如图2中红色虚线圆圈所示。该显示控件通过读取鼠标的位置判断鼠标是否进入该控件区域,并输出使能信号(true代表鼠标进入该区域,控件有效;false代表鼠标未进入该区域,控件无效)、鼠标点击信号(true代表点击鼠标左键,false代表未点击鼠标左键)、鼠标相对控件中心的坐标(x,y)以及单位像素。
-
其次,若鼠标进入控件区域,显示控件被激活,点击鼠标左键后则可以通过鼠标移动的位置坐标变化建立数学模型以实现旋钮旋转方向的判断。其过程如下:以旋钮中心作为坐标原点建立笛卡尔坐标平面,坐标平面原点O(xO,yO),如图3所示。对鼠标输出的位置信号P(x,y)在该迪卡尔坐标中进行向量化,= P(x,y)-O(xO,yO)。在SCADE Suite软件中用信号线的“last”功能记录上一个周期鼠标的坐标位置p′(x′,y′),并用同样的方式进行向量化得到上一个周期的向量。根据右手定则,向量A×B=-A×B,因此上一个周期向量叉乘此周期向量<0则为顺时针转动,>0则为逆时针转动。
-
图3 旋钮旋转方向的判断示意图
-
在SCADE Suite软件中的实现逻辑如图4所示。最后,当旋钮顺时针旋转一次,可定义速度基准增加一个单位;逆时针旋转一次,可定义速度基准减少一个单位。指示器窗口中的速度值作为显控逻辑模型的一个输出接口。
-
图4 旋钮旋转方向的建模逻辑图
-
在SCADE Suite软件中建一个总的功能键。将所有的控件元素子功能键集合在一起,并定义总的显控逻辑模型输入输出接口,如图5所示。左侧接口列表中的输入接口为显示界面模型中设置的交互接口;输出接口即为显示界面模型的输入接口。
-
图5 SCADE Suite开发显控逻辑模型集成界面
-
2.2 基于SCADE软件的FMCP建模联合仿真过程
-
在SCADE Suite软件中将显控逻辑模型与显示界面模型进行接口链接,开展联合仿真。在“Simulation”仿真界面中,点击“go”,鼠标操控按钮或旋转功能旋钮,显示画面对应的变化符合预期,联合仿真界面见图6。最后生成KCG标准代码。
-
图6 显控逻辑模型与显示界面模型联合仿真界面
-
2.3 FMCP板显示模型封装和调试
-
用Visual Studio 2013进行封装,封装界面如图7所示。文件夹“Displaycode”包含显示界面模型代码包中的“.c”和“.h”文件。文件夹“SuiteCode”包含显控逻辑模型代码包中的“.c”和“.h”文件。“ManualCode”文件夹包含用于定义初始化显示所需的接口数量、类型和配置代码的“.c”和“.h”文件。封装后生成可执行的“.exe”文件。
-
图7 FMCP仿真模型封装界面
-
最后,将FMCP仿真模型进行桌面测试,运行“.exe”可执行文件,鼠标点击按钮指示灯会变绿,再次点击则变暗。选择开关和多功能旋钮,以高度选择(ASEL)旋钮为例,鼠标在外圈位置逆时针旋转,外圈从1 000卡位变为100卡位,鼠标在内圈位置顺时针旋转,ASEL窗口以100 ft的速度增加高度值,表明FMCP仿真模型的交互效果符合预期。
-
3 结论
-
本文提出了一种基于SCADE软件的驾驶舱控制板仿真方法。基于该方法开发了驾驶舱FMCP仿真模型,并进行了桌面测试。结果表明,该方法能够满足控制板的仿真需求,保证了仿真方法的可靠性和实时性。后续可应用于驾驶舱其他控制器件仿真模型的开发,并可进一步开展与飞机系统模型的联合仿真,这对于支持驾驶舱设计方案的评价和优化具有重要意义。
-
参考文献
-
[1] 周贵荣.民用飞机驾驶舱显示系统[M].上海:上海交通大学出版社,2019:129-134.
-
[2] 王柯云,张青峰,魏石峰.基于SCADE Display的座舱显示软件开发实践研究[J].电子技术与软件工程,2022(6):61-64.
-
[3] 吴秀芝,马亮,高胜林.基于SCADE的近地告警系统软件设计及应用[J].航空电子技术,2019,50(2):41-46,52.
-
[4] 李国材,孙军帅,刘兆辉.基于SCADE的高升力系统软件设计与实现[C]//中国航空学会,中国航空研究院.第八届民用飞机航电国际论坛论文集.北京:航空工业出版社,2019:5.DOI:10.26914/c.cnkihy.2019.053617.
-
[5] 秦正运,葛晨,程新满.基于VAPS XT的座舱显示设计与实现[J].电子技术与软件工程,2019(6):75-76.
-
[6] 杨卫风,胡小琴,蔡志勇,等.基于VAPS设计的多功能显示器仿真[J].计算机应用与软件,2011,28(6):228-229,260.
-
[7] KORNECKI A,ZALEWSKI J.Assessment of software development tools for safety-critical real-time systems[J].IFAC Proceedings Volumes,2003,36(1):1-6.
-
[8] YEPEZ A A,CERQUEIRA J A,SAGARMINAGA R J,et al.SOMAC-safety implications in performing software model coverage analysis[R].Research Project EASA.Mar,2010.
-
[9] 荆华,沈轶烨.ANSYS SCADE Suite建模基础[M].北京:中国水利水电出版社,2018:8-18.
-
[10] RIERSON.安全关键软件开发与审定—DO-178标准实践指南[M].崔晓峰,译.北京:电子工业出版社,2015.
-
摘要
提出了一种基于高安全性应用开发环境(safety critical application development environment,简称SCADE)的驾驶舱控制板仿真建模方法。首先,采用SCADE Display软件开发驾驶舱控制板的显示界面模型和控制板的显控逻辑模型;然后,在显控逻辑模型中嵌入显示界面模型,两者联合仿真确认交互效果满足设计需求后生成标准KCG代码;最后,采用Visual Studio 2013进行模型封装,生成可执行的控制板仿真应用程序。基于该方法进行建模实践,开发了驾驶舱飞行模式控制板(FMCP)的仿真模型,通过鼠标操作可以实现虚拟化控制板上控制器件状态变化及电子显示窗口数值动态响应。实践证明,该方法能够有效实现驾驶舱控制板虚拟化仿真,支持驾驶舱人机交互方案评估,降低验证成本。
Abstract
This paper proposes a simulation modeling method for cockpit control panel based on SCADE software. Firstly, the SCADE Display software was used to develop the display interface model of the cockpit control panel, and the SCADE Suite software was used to develop the display and control logic model. Then, the display interface model was embedded in the display and control logic model to confirm the interaction effect to meet the design requirements; Finally, Visual Studio 2013 was used for the model packaging to generate the executable control panel simulation application. Based on this method, the simulation model of the cockpit flight mode control panel (FMCP) was developed for modeling practice. Through mouse operation, the control device state changes of the virtual control board and the numerical dynamic response of the electronic display window values can be realized. Practice has proved that this method can effectively realize the virtualization simulation of the cockpit control panel, support the evaluation of the cockpit human-computer interaction scheme, and reduce the verification costs.
关键词
高安全性应用开发环境(SCADE) ; 控制板仿真 ; 建模方法 ; 显示模型 ; 显控逻辑