新闻动态

NEWS dynamics

——

嵌入式系统 | 基于Ansys SCADE Display的人机交互界面设计
来源: | 作者:pro70d32a | 发布时间: 2021-12-15 | 1961 次浏览 | 分享到:

SCADE Display的起源

    2001年,为了给A380的新型座舱显示系统选用合适的图形开发工具,法国Thales Avionics公司评估了当时业界的几款产品,结果都不甚理想。于是Thales Avionics就与德国Diehl Aerospace公司协作,结合现有产品的通用属性和空客特有的业务需求,联合开发出了一套适用于航电系统图形设计的工具集。

    该工具集由Thales负责开发名为IMAGE的基于模型的集成开发环境;Diehl负责开发名称为CoCOON的代码生成器,该代码生成器用于将IMAGE模型转换为由Diehl自研的名称为GLI的图形库接口,而GLI图形库可运行于由Thales和Diehl联合研制的具有自主知识产权的目标机平台中(SGL+RTOS+CPU+GPU),其中的SGL为自研的标准图形库Standard Graphic Library。

    2006年,爱斯特尔技术公司收购了这套工具集的平台无关模块,并将其升级打造成了商用货架产品(COTS),以便其更广泛地适用于安全关键行业嵌入式系统的人机交互界面开发。新工具的品牌名定义为SCADE Display,其余的对应关系如图表1。

基于SCADE Display的HMI解决方案

      经过20多年的演进,当前SCADE Display已是Ansys公司旗下的产品,其最新版本号为R2021。SCADE Display可用于航空航天、国防军工、轨道交通、核能重工、汽车电子等安全关键领域的嵌入式系统的人机交互界面开发。


    常规的基于SCADE Display的人机交互界面开发解决方案如图表3。

    在画面左侧,可使用SCADE Display的建模器进行“所见即所得”的基于模型方式的人机交互界面设计,建模器提供了包含大量  通用控件库和航空相关的专用控件库,同时,还支持用户封装自定义的控件库。

    在画面中部,可使用SCADE Display对设计完毕的模型进行简单的验证工作,包括定制规则的模型检查,模拟仿真和桥接其他工具的联合仿真。更专业更复杂的大规模模型级验证工作可由SCADE Test实现(将在后续文章中做详细介绍)。

    在画面右侧,1.可使用SCADE Display KCG将设计和验证完毕的模型生成为C代码,结合可定制的OGLX库,这些C代码可在支持开放图形库(OpenGL: Open Graphics Library)标准接口的驱动和不同操作系统(Windows, Linux, VxWorks, Green Hills, PikeOS, Android, iOS等)上运行;2. 可使用SCADE Display将模型自动生成详细设计文档;3.可使用鉴定包数据,通过特定安全关键的行业认证工作。



  下面对该解决方案中的关键模块进行展开介绍。

   SCADE Display集成开发环境

   跨平台的专业图形API首推OpenGL,它是可用于渲染2D、3D图形的跨语言、跨平台的应用程序编程接口。当前OpenGL的最新版本为4.6。OpenGL下又有OpenGL ES和OpenGL SC等子集,分别发展到了3.0和2.0版本。

   OpenGL ES (OpenGL for Embedded Systems)是OpenGL的子集之一,主要针对手机、平板电脑和游戏主机等嵌入式设备而设计。OpenGL ES 是从 OpenGL 裁剪定制而来的,去除了包括glBegin/glEnd,四边形(GL_QUADS)、多边形(GL_POLYGONS)等复杂图元在内的许多非必需的特性。经过多年发展,现在主要有两个版本,OpenGL ES 1.x 针对固定管线硬件的,OpenGL ES 2.x 针对可编程管线硬件。

   OpenGL SC(OpenGL - Safety Critical Profile) 也是OpenGL的子集之一,主要针对安全关键行业(例如:航空航天、国防军工、轨道交通、核能重工、汽车电子等)中的认证服务和业务应用。它简化了认证工作,保证了安全关键行业要求苛刻的实时系统的可靠性,并便于安全关键图形相关应用程序的移植。当前主要有两个版本,2009年发布的OpenGL SC 1.0.1定义了OpenGL ES 1.0固定功能图形管线的高安全度子集。2016年发布的OpenGL SC 2.0 是OpenGL ES 2.0的子集,使用基于GLSL的可编程渲染器以实现更强的图形功能,包括提高性能和降低能耗。

   实践中,如图表4所示,安全关键行业的长周期项目会在开发的不同阶段采用不同平台组合来设计和验证HMI应用,这样代码之间的差异可能就会很大,将极大地影响项目的研制进度。


    例如同样绘制一块三角形的填充区,不同版本和子集的OpenGL代码的设计内容如图表5所示:

     随着项目的进展,由于驱动或硬件升级等原因,修改OpenGL源代码的代价就会很高。而有了SCADE Display这样的基于模型的图形界面设计工具,就可自动适配对应版本的OpenGL标准,从繁琐易错的手写编码方式中解脱出来,SCADE Display是以“所见即所得”的方式精准地设计人机交互界面,便于工程师之间的交流和改进。

     SCADE Display支持的OpenGL特性包括基本图元绘制、遮罩设置、纹理贴图、α透明通道设置、光晕设置及反锯齿处理等;支持矢量和点阵字体、支持包括中文在内的多国语言开发。支持在模型级或代码级与视频、地图(2D或3D)的叠加集成 (见本文第5章节的案例视频)。

图表7: SCADE Display集成开发环境中的建模器

    复杂的人机交互界面设计需要有复杂的后台逻辑控制,同类竞争对手的产品在为图形添加控制逻辑这方面的建模能力较弱。而SCADE Display集成开发环境支持在图形模型中添加Assign内置控件,SCADE Suite模型和C代码共三种方式来实现的行为功能,实现控制逻辑和显示画面的完美融合。

    SCADE Display从19.2版本开始,依次新增如下功能:

SCADE Display KCG

    SCADE Display KCG用于将设计完毕的模型和资源生成C代码,并生成该过程对应的日志文件和映射文件,供配置管理和认证时的评审。资源文件包括颜色表、线宽表、线型表、纹理表、字体表和渐变表等。

    SCADE Display KCG的认证包可提供满足相关安全关键行业标准(DO-178C/DO-330 TQL-1、IEC 61508-1/3:2010 SIL3、EN 50128 SIL3/4、ISO 26262-8:2011 ASIL D的认证材料。

   图表18是常规的基于SCADE Display生成代码的集成方案。如果不做额外的定制,用户只需要重点关注最左侧main函数等平台相关的手写代码即可,最大程度地减少了软件集成的工作量。值得一提的是,SCADE Display KCG的C代码并不包含对OpenGL API的直接调用,该任务由OGLX库来实现。


SCADE Display OGLX

   SCADE Display相对于同类竞争对手产品的杀手锏,就是其超强的可移植性,而这主要就是归功于SCADE Display OGLX库的独到设计。OGLX是OpenGL eXtension to SCADE Display KCG中蓝色字母缩写,OGLX作为高层的图形库,负责将SCADE Display KCG生成的C代码中的SGL命令调用转换为底层的符合特定OpenGL标准的命令调用。当前OGLX对下列3类集合中5个版本的OpenGL是完全支持,对其他版本和子集的OpenGL是兼容支持。

  • OpenGL 1.3

  • OpenGL ES 1.1

  • OpenGL ES 2.0

  • OpenGL SC 1.0.1

  • OpenGL SC 2.0

   如图表19所示,SCADE Display模型生成C代码后,再配合OGLX库的不同编译选项配置,可轻松将模型生成的代码联编为适用于不同版本OpenGL驱动的目标码,运行在基于特定图形帧缓存的GPU上。OGLX在其中起了桥梁的作用,在增强了OpenGL标准中诸如向量计算,顶点绘制,复杂的遮罩设置,纹理贴图,透明处理,光晕反锯齿处理,显示列表处理,帧缓存处理等底层操作的基础上,使得用户可以在模型级轻松设计,同一模型不做任何改动,就可移植到不同的平台,用户只需要专注于业务逻辑本身即可。


   OGLX运行在不同商用货架产品平台组合下的成功案例很多。图表20是部分可公开案例的列表。

   OGLX除了在商用货架平台的组合下有成功的应用之外,在包括欧洲空客Airbus、美国霍尼韦尔Honeywell、意大利莱昂纳多集团Leonardo(前身为芬梅卡尼卡集团Finmeccanica)和以色列埃尔比特系统Elbit System等公司在内的自研的符合OpenGL标准的具有自主知识产权的定制平台上也有成功应用。

   由于众所周知的原因,近年来国内操作系统、芯片等产业相关的高科技公司相继实现了核心技术的国产化替代,SCADE Display OGLX也在一系列国产商用货架平台和自研的具有自主知识产权的定制平台(天脉OS、中标麒麟OS、景嘉微GPU、湘计海盾、航天捷诚、恒宇信通等)上有多个成功应用的案例。

   SCADE Display OGLX的认证包可提供满足相关标准(DO-178C/DO-330 TQL-1、IEC 61508-1/3:2010 SIL3、EN 50128 SIL3/4、ISO 26262-8:2011 ASIL D的认证材料。用户可以基于选用的OpenGL平台组合的属性对OGLX进行定制。



SCADE Display基于模型的验证

      复杂的大规模的SCADE Display模型级的验证工作需要依赖SCADE Test工具。用户可以在SCADE Test中进行模型的功能测试,覆盖分析和像素比对。这些工作既可以在Host机(与开发平台相同的机器)上执行,也可将在Host机上积累的测试用例转换后,在目标机上执行相关验证。详细内容会在后续SCADE Test专题文章中介绍。同类竞争对手的产品在基于HMI模型的认证级验证方面的能力较弱。


SCADE Display与Ansys旗下产品的联合解决方案

    SCADE Display既可以进行单独的建模、代码生成,也可以联合Ansys旗下的其他产品进行联合设计与仿真。

SCADE Display与SCADE Suite的联合

    复杂的人机交互界面设计需要有复杂的后台逻辑控制,除了在SCADE Display集成开发环境的图形模型中直接添加SCADE Suite模型,实现控制逻辑和显示画面的完美融合之外。反过来,SCADE Suite集成开发环境也支持在其中添加SCADE Display工程,并将SCADE Suite控制模型的I/O与SCADE Display HMI模型的I/O链接,检查无误后,进行联合仿真、联合生成独立可执行程序、联合生成代码和联合生成详细设计报告。

SCADE Display与Twin Builder的联合

    SCADE Display支持生成符合FMI标准的FMU文件,再导入到Ansys的多学科系统仿真及数字孪生平台Twin Builder。Ansys Twin Builder 是系统级多物理域多语言建模与仿真平台。Ansys基于仿真的数字孪生技术充分利用物理模型、传感器更新、运行历史等数据,集成多学科、多物理场、多尺度、多概率的仿真过程,在虚拟空间中完成映射,从而反映相对应的实体装备的全生命周期过程。图表25是汽车巡航控制的综合案例,其中的交互式面板就是由SCADE Display设计,配合Twin Builder软件,可以进行闭环的黑盒仿真、闭环的白盒仿真/调试,模型覆盖分析。

    视频1展示的是Ansys Twin Builder与SCADE联合后,操控SCADE Display生成的人机交互界面实现的黑盒仿真、闭环的白盒仿真/调试,模型覆盖分析的过程。


     注:FMI标准:全称是Functional Mock-up Interface。FMI标准对应的FMU文件和已编译的C代码的组合支持动态模型的模型交换( Model Exchange)和联合仿真(Co-Simulation)。使得制造商能重用/集成各软件供应商模型,尽早地确认设计,提升效率,确保质量。


SCADE Display与Ansys VRXPERIENCE的联合

     通过SCADE Display与Ansys VRXPERIENCE的联合,可以实现包括航电虚拟座舱系统在内的人因系统的开发与体验。

Ansys VRXPERIENCE是一个整合多个功能的虚拟现实仿真平台,包括虚拟驾驶仿真平台、实时物理仿真平台、人机交互平台、虚拟现实平台、感知质量仿真与审核平台、声音设计分析与评价平台,帮助用户体验和评估产品性能,验证新技术,加快设计和决策。



   使用SCADE Display+VRXPERIENCE解决方案可以

  • 通过导入CAD模型可以更早更快地设计3D座舱

  • 佩戴头显可以更早体验各种设计效果

  • 通过虚拟的手更早体验交互效果

  • 更早地评估人因工程的效果

  • 更早地将真实座舱集成到虚拟座舱中



SCADE Display应用场景的成功案例

      本节展示SCADE Display在不同行业的应用案例视频。

      视频3展示了三个案例,第一个是SCADE联合RTI的DDS和风河的VxWorks实现的符合未来机载能力环境(FACE: Future Airborne Capability Environment)标准的演示案例。第二个是SCADE在CURTISS WRIGHT平台运行的案例。第三个是SCADE在SYSGO的Pike OS平台上运行的案例。

      视频4展示DIEHL公司邀请嘉宾在空客系列飞机的仿真训练系统中驾驶飞机的场景,该仿真训练系统是使用SCADE Display设计人机交互界面的。

      视频5展示的是Thales公司使用SCADE Display开发的TopMax盔显系统,该系统是基于OpenGL ES 2.0的。

      视频6展示的是Thales公司使用SCADE Display开发的某直升机交互式座舱显示系统。

      视频7展示的是诺思罗普·格鲁曼Northrop Grumman公司为美国陆军研制黑鹰UH-60V项目的数字化座舱显示系统。该项目分别使用了SCADE Suite和SCADE Display开发了逻辑控制和页面显示部分。

      视频8展示的是意大利比亚乔航空公司PIAGGIO和意大利莱昂纳多Leonardo公司联合为P.1HH HAMMERHEAD无人机系统设计的地面站。该项目分别使用了SCADE Suite和SCADE Display开发了逻辑控制和页面显示部分。

      视频9展示的是巴西航空技术学院发起的学术微卫星发射系统项目。该项目选用SCADE作为主要的敏捷开发工具,其工程可在github上查阅https://github.com/projeto-si-lansab/si-lansab。

图表27展示的是使用SCADE Display开发的列车控制监控(LKJ)系统的人机交互界面系统

       视频10展示的是法国电力集团EDF发起的CONNEXION项目中的仪控系统的人机操作平台,该HMI画面是由SCADE Display开发的,在前文《Ansys SCADE在核电项目Connexion中的应用》有详细介绍。

        下图展示的分别是德国宇航中心运输系统研究所(The Institute of Transportation Systems at the German Aerospace Center)使用SCADE开发的车载娱乐信息系统(IVI: In-Vehicle Infotainment)的人机交互界面和高级驾驶辅助系统(ADAS)中的车道自动变换(Automated Lane Change)和车道偏离报警(Lane Departure Warning)系统。

      使用基于SCADE Display的HMI解决方案,有助于用户以“所见即所得”的基于模型的方式设计安全关键行业相关的嵌入式系统的显示界面,可与多种Ansys旗下的工具进行桥接,实现图像模型的测试、模型覆盖分析和多学科仿真应用等。设计和验证完毕的模型,结合可通过开发工具鉴定的SCADE Display KCG代码生成器和OGLX库,用户可以轻松将应用移植到基于OpenGL的各类商用货架产品平台或定制的平台组合上,缩短开发时间,降低认证成本,加速推向市场。