飞机液压系统油温地面测试模拟器设计与实现
2022-06-24杨庆华李树林屠晓伟杨建明
杨庆华,李树林,屠晓伟,杨建明
(上海大学机电工程与自动化学院,上海 200444)
0 引言
飞机地面测试是飞机制造过程中的重要环节。随着数字化技术和计算机技术的发展,传统人工地面测试已经不能满足新时代的生产力需求[1]。基于多传感设备的地面测试工艺通过对测试过程的标准化,减少仅凭工艺人员经验为主的人工测试过程,大大提高了生产力。飞机的测试过程总是处于一个动态变化的过程,现场数据采集[2]更新不及时,缺少监控测试过程和反馈信息的有效手段,也缺少对测试执行过程的综合考虑。相较于国外先进的数字化研发模式,传统的人工测试已经成为制约国内航空制造业技术发展的极大阻碍[3]。
本文介绍了一种飞机液压系统油温地面测试模拟器的设计方案,通过测试需求、测试设计、测试用例、测试执行、测试统计五个模块,将地面测试标准化和数字化,大大提高了测试过程中的信息传递效率,增强了测试人员对于整体测试的把控能力。
1 油温地面测试模拟器整体设计
1.1 飞机液压油温地面测试管控平台体系架构
飞机液压油温地面测试管控平台体系架构包括硬件硬件支持层、通信层、数据管理层、应用支撑层、应用层。硬件支持层包括ARM处理器、Wi-Fi模块、继电器等设备。通信层采用了传输控制协议/网际协议(transmission control protocol/internet protocol,TCP/IP)和用户数据报协议(user datagram protocol,UDP),确保了客户端、服务器端和硬件设备间的通信。数据管理层采用了MySQL数据库,通过对象关系映射(object relational mapping,ORM)技术建立数据库与业务逻辑层的映射关系。应用支撑层采用模型-视图-控制器(model-view-controller,MVC)架构的Think PHP框架。应用层包含了控制平台各功能模块。飞机液压油温地面测试管控平台体系架构如图1所示。
图1 飞机液压油温地面测试管控平台体系架构
1.2 功能架构
飞机液压油温地面测试管控平台的功能架构主要由用户管理、设备管理、测试管理、I/O管理和个人中心五部分组成。用户管理包括了登录模块和修改个人信息。I/O管理通过IP、端口等信息添加设备节点。测试管理包括了测试需求、测试设计、测试用例、测试执行和测试统计五部分。个人中心是系统后台,包括了系统的运行和个人设置等基本信息。飞机液压油温地面测试管控平台的功能架构如图2所示。
图2 功能架构
1.3 通信模式
本文设计的飞机液压系统油温地面测试模拟器由浏览器、服务器和地面设备三部分构成。用户通过浏览器与服务器进行数据交互。系统采用TCP/IP协议,通过I/O管理模块设置IP地址、I/O端口等信息,支持多设备同时通信。系统后端会获取前端页面设备的IP地址、端口等信息,建立Socket接口,与地面测试设备进行通信。系统通信模式如图3所示。
图3 系统通信模式
2 系统软件设计
2.1 软件设计框架
控制平台基于国产轻量级Think PHP框架进行开发。该框架秉承极简原则,基于PHP和Apache协议,致力于解放冗余的开发过程,在Web领域得到了广泛应用。Think PHP框架基于MVC设计模式,即模型、视图和控制器[4],彻底将业务逻辑层和视图表现层进行剥离,具有逻辑清晰和易维护的优点。
模型是MVC架构的主体部分,包括业务数据和业务逻辑,同时负责访问和更新持久化数据。模型可以为视图提供数据,而视图又可以从不同的角度来表达模型[4]。通过这种一对多的模式,可达到简化代码的目的。控制器作为视图和模型之间的桥梁,负责协调整个应用程序的运作。视图的作用就是搭建与用户交互的图形化界面。
2.2 软件业务流程
软件系统采用浏览器/服务(browser/server,B/S)架构进行设计。用户通过浏览器与服务器进行交互,并且系统采用了询问-应答的模式进行数据交换。首先,通过添加I/O设备,以及新建测试需求、测试设计、测试用例的方式建立测试项目;然后,通过测试执行模块进行控制指令的下发。地面设备收到控制命令以后,首先进行命令解析,执行相应操作以后将采集到的数据进行编码;然后将结果发送给服务器。服务器经过解码操作,传递给浏览器进行展示。业务流程如图4所示。
图4 业务流程图
2.3 用户管理模块
本系统的用户管理模块以基于角色的访问控制权限(role-based access control,RBAC)模型为基础,通过Session中的用户信息判断用户角色,对不同的角色分配不同的权限。不同的权限对应不同的视图[5],增强了信息资源的保密性。用户权限管理分为两层。第一层是系统登陆时对用户身份进行验证,通过数据层的返回值与视图获取值判断用户名、密码等信息,从而获得用户的合法性和权限。第二层是用户操作时,根据用户的角色权限验证用户的操作权限,判断是否满足操作请求。登录流程如图5所示。
图5 登录流程图
后台操作用户管理模块可以对系统用户进行管理。基于上述的权限控制模型进行角色权限设置。用户管理模块以表格的形式展示了系统所有用户的操作权限,包括默认模块、是否可登录后台,用户名是否有效等权限。
2.4 I/O管理模块
设备管理结构如图6所示。
图6 设备管理结构
I/O管理模块采用树状结构来管理系统的I/O设备。用户可以新建一个根节点来维护自己的测试设备。子节点代表同一个IP地址下的设备。相同IP地址下的设备按照ID来区分。这样的结构既便于存储和管理,又能提高设备节点的复用率。测试人员可以通过不同的根节点寻找需要的测试设备节点,并将其添加在需要的测试设计中。
2.5 测试管理模块
测试管理模块包含测试需求、测试设计、测试用例、测试执行、测试统计五部分。测试需求可以添加测试项目的名称和描述。测试设计针对测试需求制定,包括具体的测试项目进行控制命令的设置和测试设备的选择。测试用例可以添加多个测试设计进行组合测试。测试执行选择测试用例进行测试。测试统计是对测试结果进行统计。统计后期包括测试正确率和测试项。
针对航空测试设备的复杂性,特殊测试项目需要人为参与。测试设计中提供了自动测试和手动测试两种模式。自动测试需要用户选择相应的测试设备和控制指令。手动测试则需要填写相应的测试项目和预期的测试结果。当程序执行到相应的测试模式时,自动测试会建立Socket通信,进行控制命令的下发和数据的采集。手动测试则会在界面上显示详细的测试过程以等待人工测试,并且提供超时提醒。测试执行流程如图7所示。
图7 测试执行流程图
2.6 关键技术
本系统的软件部分是基于Think PHP框架进行设计的。该框架使用了ORM技术与数据库进行映射。ORM技术是一种通过解释逻辑层的对象与数据层关系的映射关系,从而将对象持久化到数据库的技术。简而言之,就是建立数据层与逻辑层的联系,简化逻辑层访问数据层的操作步骤,隐藏了数据访问和细节,使开发人员专注于逻辑开发,从而大大降低代码的冗余性、节省系统资源。
Think PHP框架采用的ORM模型具有Active Record模式属性,是一种改进型ORM模型。该模型中:表映射到类;记录(集)映射到对象;字段属性映射到对象的虚拟属性[6-7]。该模型最大的进步就是进一步简化了开发过程。
Think PHP框架在进行数据交互的时候运用了Ajax技术。其开发核心是XHR对象,使用前台脚本创建相应的对象,通过实例向后台发送HTTP请求;后台响应并通过Ajax得到处理后的数据。浏览器在页面无刷新前提下与后台交换数据,对网页内容进行局部刷新,减轻服务器和带宽的负担,降低网络数据流量[8]。
Ajax与ThinkAjax对比如图8所示。
图8 Ajax与ThinkAjax对比
通过与传统Ajax技术比较可以发现,ThinkAjax相当于一个中间件,使客户端可以直接通过该中间件进行前后端的数据传递。这就避免了大量的Ajax代码冗余、降低了开发难度,使开发人员更加专注于逻辑开发。
3 系统硬件设计
模拟器使用ARM处理器进行编码,通过控制不同电阻值的通断以获取不同的电阻值。不同的电阻值对应不同的油箱温度。
阻值与温度对应表如表1所示。
表1 阻值与温度对应表
系统硬件连接如图9所示。
图9 系统硬件连接图
设计采用模块化设计准则,主要分为四大模块:主控模块、Wi-Fi模块、电源管理模块、温度控制模块。主控模块使用stm32f103c8t6处理器进行数据处理,具有稳定性高、读写速度快、功耗低[9]等特点,能够满足航空地面测试的需求。Wi-Fi模块采用ESP8266WIFI,其抗干扰能力强、传输可靠、功耗低。电源管理模块由充电保护模块、过热保护模块、稳压模块组成。
温度控制模块使用HFD4/5继电器和不同规格的电阻,采用不同精度的固定值电阻与继电器相结合的方式,通过控制继电器的通断,控制串联电阻的大小。如图9所示,电路中的电阻阻值范围为0.1~512 Ω,后一个电阻是前一个电阻的2倍。采用进制算法计算所需要的阻值,由于最小电阻为0.1 Ω,所以模拟器的精度为0.1 Ω。最大阻值为所有电阻阻值之和。
4 系统测试与分析
测试平台将测试流程规范化,通过测试管理模块进行测试项目的设计与执行,并且统计测试结果,极大地加快了测试进度。
系统依赖框架的权限-角色机制[10]进行系统权限分配,实现了系统信息的可控,也简化了测试流程。
测试设计的时候加入了自动模式和手动模式的选择,加强了测试的灵活性。经过测试,软件平台各部分功能良好。
系统硬件支撑层的温度控制模块采用继电器与电阻并联的方案,在一定范围内实现了用有限个电阻组合成所有电阻值的目标。通常认为,继电器的电阻接近于无穷大,因此不考虑继电器阻值对于模拟器的影响。但是实际的继电器阻值是一个定值,所以理论值与实际模拟器的阻值存在误差。
模拟器阻值测试如表2所示。
由表2可知,测量值与实际值有一定的误差,但最大误差为0.25%,对于航空模拟油温系统来说该影响可以忽略不计。总体来说,系统运行正常,达到了设计的目的,能够实现油温模拟测量的目标。
表2 模拟器阻值测试表
5 结论
本文介绍了一种飞机液压系统油温地面测试模拟器的设计与实现,通过设计标准化的测试流程,实现了航空地面测试的数字化。系统架构包括硬件支持层、通信层、数据管理层、应用支撑层、应用层五部分。软件部分实现的主要功能是用户权限验证与登录、I/O设备管理、测试管理三个部分。整个系统基于Think PHP框架搭建,借助于框架底层成熟的ORM技术建立系统与数据库的映射关系,并且依托于内置的ThinkAjax引擎简化Ajax代码开发过程、降低系统开发周期。硬件设计部分使用ARM处理器编码。继电器与定值电阻进行并联再串联的方式可模拟一定范围的电阻阻值,从而反映油温情况。
本文通过对几组电阻阻值的测试发现:由于继电器存在一定的阻值,导致理论值与实际值有些误差。但是,该误差很小,不影响油温系统的模拟测量。
油温模拟器的实现为地面测试提供了一个全新的思路,测试流程的标准化和通信系统的建立可以增强系统的扩展性。后期可以设计各种各样的传感器,实现地面测试的全数字化、流程化管理,从而提高地面测试的速度、准确度和稳定性。