基于Ansys SCADE Display的人机交互界面设计应用场景
SCADE Display的起源
2001年,为了给A380的新型座舱显示系统选用合适的图形开发工具,法国Thales Avionics公
*多图,可先马后看。本文详细介绍SCADE Display在人机交互界面设计方面的应用: 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。 图表1: 现SCADE Display与原IMAGE的对应关系 基于SCADE Display的HMI解决方案 经过20多年的演进,当前SCADE Display已是Ansys公司旗下的产品,其最新版本号为R2021。SCADE Display可用于航空航天、国防、轨道交通、核能重工、汽车电子等安全关键领域的嵌入式系统的人机交互界面开发。 图表2: 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.可使用鉴定包数据,通过特定安全关键的行业认证工作。 图表3: 常规的基于SCADE Display的人机交互界面开发解决方案 下面对该解决方案中的关键模块进行展开介绍: 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应用,这样代码之间的差异可能就会很大,将极大地影响项目的研制进度。 图表4: 长周期项目在不同开发阶段采用不同版本的平台 例如同样绘制一块三角形的填充区,不同版本和子集的OpenGL代码的设计内容如图表5所示: 图表5: 不同版本和子集的OpenGL代码绘制三角形填充区 随着项目的进展,由于驱动或硬件升级等原因,修改OpenGL源代码的代价就会很高。而有了SCADE Display这样的基于模型的图形界面设计工具,就可自动适配对应版本的OpenGL标准,从繁琐易错的手写编码方式中解脱出来,SCADE Display是以“所见即所得”的方式精准地设计人机交互界面,便于工程师之间的交流和改进。 图表6: SCADE Display中以“所见即所得”的方式绘制三角形填充区 SCADE Display支持的OpenGL特性包括基本图元绘制、遮罩设置、纹理贴图、α透明通道设置、光晕设置及反锯齿处理等;支持矢量和点阵字体、支持包括中文在内的多国语言开发。支持在模型级或代码级与视频、地图(2D或3D)的叠加集成 (见本文第5章节的案例视频)。 图表7: SCADE Display集成开发环境中的建模器 复杂的人机交互界面设计需要有复杂的后台逻辑控制,同类竞争对手的产品在为图形添加控制逻辑这方面的建模能力较弱。而SCADE Display集成开发环境支持在图形模型中添加Assign内置控件,SCADE Suite模型和C代码共三种方式来实现的行为功能,实现控制逻辑和显示画面的完美融合。 SCADE Display从19.2版本开始,依次新增如下功能: 图表8: 对渐变色资源设置的支持 图表9: 对复杂遮罩设计的支持 图表10: 对复杂类型和对应I/O数据字典定义的支持 图表11: 对Path路径对象设计的支持 图表12: 支持对平台无关的应用层级的多点触控设计 图表13: 对多屏仿真的支持 图表14: 支持导入预设计完毕的Photoshop文件,再进行组合设计 图表15: 直接导入预设计完毕的SVG文件,再进行组合设计 SCADE Display KCG SCADE Display KCG用于将设计完毕的模型和资源生成C代码,并生成该过程对应的日志文件和映射文件,供配置管理和认证时的评审。资源文件包括颜色表、线宽表、线型表、纹理表、字体表和渐变表等。 图表16: SCADE Display KCG的输入和输出 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的认证材料。 图表17: SCADE Display KCG 6.7的TUV SUD证书 图表18是常规的基于SCADE Display生成代码的集成方案。如果不做额外的定制,用户只需要重点关注最左侧main函数等平台相关的手写代码即可,最大程度地减少了软件集成的工作量。值得一提的是,SCADE Display KCG的C代码并不包含对OpenGL API的直接调用,该任务由OGLX库来实现。 图表18: SCADE Display KCG代码的集成方案 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是兼容支持。 如图表19所示,SCADE Display模型生成C代码后,再配合OGLX库的不同编译选项配置,可轻松将模型生成的代码联编为适用于不同版本OpenGL驱动的目标码,运行在基于特定图形帧缓存的GPU上。OGLX在其中起了桥梁的作用,在增强了OpenGL标准中诸如向量计算,顶点绘制,复杂的遮罩设置,纹理贴图,透明处理,光晕反锯齿处理,显示列表处理,帧缓存处理等底层操作的基础上,使得用户可以在模型级轻松设计设计应用,同一模型不做任何改动,就可移植到不同的平台,用户只需要专注于业务逻辑本身即可。 图表19: SCADE Display KCG & OGLX的调用路径图 OGLX运行在不同商用货架产品平台组合下的成功案例很多。图表20是部分可公开案例的列表。 图表20: OGLX在不同商用货架产品平台组合下的部分成功应用案例 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进行定制。 图表21: OGLX在不同商用货架产品平台组合下的部分成功应用案例 SCADE Display基于模型的验证 复杂的大规模的SCADE Display模型级的验证工作需要依赖SCADE Test工具。用户可以在SCADE Test中进行模型的功能测试,覆盖分析和像素比对。这些工作既可以在Host机(与开发平台相同的机器)上执行,也可将在Host机上积累的测试用例转换后,在目标机上执行相关验证。详细内容会在后续SCADE Test专题文章中介绍。同类竞争对手的产品在基于HMI模型的认证级验证方面的能力较弱。 图表22: SCADE Display的基于模型的验证工作流 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链接,检查无误后,进行联合仿真、联合生成独立可执行程序、联合生成代码和联合生成详细设计报告。 图表23: SCADE Suite与SCADE Display的联合 图表24: SCADE Suite与SCADE Display两者I/O的链接 SCADE Display与Twin Builder的联合: SCADE Display支持生成符合FMI标准的FMU文件,再导入到Ansys的多学科系统仿真及数字孪生平台Twin Builder。Ansys Twin Builder 是系统级多物理域多语言建模与仿真平台。Ansys基于仿真的数字孪生技术充分利用物理模型、传感器更新、运行历史等数据,集成多学科、多物理场、多尺度、多概率的仿真过程,在虚拟空间中完成映射,从而反映相对应的实体装备的全生命周期过程。图表25是汽车巡航控制的综合案例,其中的交互式面板就是由SCADE Display设计,配合Twin Builder软件,可以进行闭环的黑盒仿真、闭环的白盒仿真/调试,模型覆盖分析。 图表25: Ansys Twin Builder导入SCADE Display生成符合FMI标准的FMU文件 SCADE Display与Ansys VRXPERIENCE的联合: 通过SCADE Display与Ansys VRXPERIENCE的联合,可以实现包括航电虚拟座舱系统在内的人因系统的开发与体验。 Ansys VRXPERIENCE是一个整合多个功能的虚拟现实仿真平台,包括虚拟驾驶仿真平台、实时物理仿真平台、人机交互平台、虚拟现实平台、感知质量仿真与审核平台、声音设计分析与评价平台,帮助用户体验和评估产品性能,验证新技术,加快设计和决策。 图表26: Ansys VRXPERIENCE多功能虚拟现实仿真平台 使用SCADE Display+VRXPERIENCE解决方案可以: SCADE Display应用场景的成功案例 应用场景视频展示 相关工具: Ansys SCADE 相关资料: 核电经典案例,如何利用Ansys SCADE改进传统核电站仪控系统的开发流程? 人类如何实现“星辰大海”的梦想?航天自动运载飞船中嵌入式系统的应用案例 SCADE在轨交列车控制系统中有哪些重要应用? 嵌入式系统,一文了解SCADE在空客电传飞控系统中的应用 一文读懂基于SCADE模型的形式化方法 嵌入式系统,细数Ansys SCADE的前世今生 Ansys SCADE在航空项目利勃海尔中的应用 了解Ansys解决方案在你所在行业的成功应用、工程问题解决思路 (编辑:淮安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |