基于SSM框架的列车智能调试平台的设计与开发
2022-05-14张春光陈秉智
马 骏,张春光,毛 俊,陈秉智
(1 大连交通大学 机械工程学院,辽宁大连 116028;2 大连交通大学 电气信息工程学院,辽宁大连 116028;3 大连科技学院 交通运输学院,辽宁大连 116052)
高速列车的调试工作一直是高铁制造商重点关心的环节。目前,各级制造商仍采用传统的纸质调试作业流程,需要将调试作业文件逐级下发,最终交付到调试现场才能开展调试工作。在调试过程中,可能会因为文件遗失、调试作业不严谨、测量结果记录不准确等原因造成调试工作完整性和准确性难以满足出厂要求,影响列车后续动调与交付工作。为此,在制造商已有的网络架构基础上,设计研发基于SSM框架技术的列车智能调试平台,实现从文件下发到调试完毕,全程无纸化操作,在有效地提高调试工作效率的同时,也保证了调试过程留痕记录,方便日后统计与分析。
1 调试网络架构
1.1 整体网络架构
基于对某高铁制造商现有的网络架构分析研究,针对调试作业现场的工业级网络结构进行研究设计。在已有的办公网结构中,增加企业级工业网,并搭建工业网虚拟服务器,从而实现调试流程全程无纸化作业。办公网中MOM(Manufacturing Operation Management,制造运营管理系统)负责向工业网虚拟服务器推送订单信息和完工信息。工业网中的虚拟服务器负责接收MOM推送的订单信息并生成数字化调试文件,利用列车智能调试平台对调试文件进行操作,并将调试过程及结果实时上传至工业网虚拟服务器中。为了防止外部网络通过工业网直接访问办公网,使办公网遭受网络攻击。在办公网中架设1台列车调试办公网虚拟服务器,用于对调试作业过程中生成的重要数据及调试结果进行存储备份,在办公网需要时,可以从中获取有效信息。
列车智能调试平台的网络架构如图1所示[1]。企业管理部门对MOM系统服务器的IP地址进行统一管理,MOM系统向列车智能调试平台开放一个WebService接口,用于对订单和完工信息的发送,同时,调试平台也为MOM端预留WebService接口,主要用于调试结果的实时上传。
图1 列车智能调试平台的网络架构
1.2 静调网络架构
通过上述网络结构的设计,可以满足高速列车无纸化列调的基本条件,对于高速列车的静态列调还需要带有MVB通信模块的数采设备配合使用,静态列调网络架构如图2所示。由于高速列车8编组的设计,考虑到网络结构的合理性以及数据传输的局限性。将按照每4节车为1个调试单元,采用2台数采设备完成对列车MVB网络数据的采集,并通过列车智能调试平台进行查看,将采集内容上传至工业网中的虚拟服务器中。
图2 静态列调网络架构
2 技术架构
2.1 平台执行路线
在列车智能调试平台中需要实现订单的接收、数字化调试、自动提取数据、完工信息更新等操作。在MOM系统和列车智能调试平台中通过应用接口实现互联互通。调试平台软件执行路线如图3所示。MOM系统通过调用该接口的ReceiveOrderInfo的方法向列车智能调试平台派发订单信息,订单信息的数据采用JSON格式。在数字化调试阶段,用户通过多终端平板设备登陆到调试平台中,从数据库中读取该用户对应的订单信息到内存,形成工序一览表,调试平台在后台建立数据缓冲区,业务层启动一个线程,专门和数采设备进行通信,数采设备将列车MVB网络数据实时发送到列车智能调试平台的数据缓冲区中,平台通过变量名查找MVB变量表,提取端口号、字偏和位偏信息,从数据缓冲区中提取数据信息显示到平台实时数据列中,并将该数据与调试文件中对应的上下限信息进行比较分析,用户将对已完成的工步进行确认,同时完成信息实时传送给MOM系统。当MOM系统确认接收数据正确时,平台将确认的信息存入数据库中,并对该调试工步进行关闭。若MOM回应所接收信息不正确时,调试平台将不存储此次调试过程。
图3 软件执行路线框图
2.2 软件框架
2.2.1前端技术
在LayUI框架源生代码的基础上,利用JS+HTML+CSS前端技术优化平台各功能模块,完成人性化、多样化的人机交互界面。
2.2.2后端技术
随着Java技术在服务器端的不断发展与应用,列车智能调试平台基于SSM框架实现服务器端的软件设计。框架结构如图4所示。
图4 框架结构
SpringMVC框架是Spring基于MVC模型的实现,SpringMVC使用DispatcherServlet做前端控制器实现基于方法级的拦截,并调用对应Controller层中相应的方法,然后通过视图解析器在Web应用中查找视图对象,并将渲染后的结果视图返回给用户[2]。
Spring框架是开源的Java平台,Spring的核心思想主要有:反转控制(Inverse of Control,IOC)和切 面 编 程(Aspect-Oriented Programming,AOP)。反转控制是基于降低系统模块耦合性的设计思想,上下层接口直接依赖,通过一定的策略实现上级管理下级模块被调用。系统只有在使用到类时才实例化对象,由此提升系统性能,增强系统扩展性。切面编程是基于代理的设计思想,在保持原业务流程不变的基础上增加一些附加功能,如日志管理、异常处理等,实现对事务的处理、回滚,实现业务逻辑隔离,提高系统的重用性和开发效率[3]。
MyBatis是持久层框架,通过.xml或注解实现对象到数据库的映射,减少了大量JDBC冗余代码,利用易于操作的SQL语句,实现数据访问与业务逻辑的分离,方便后期系统修改和维护[4]。
3 平台实现
3.1 框架融合
通过Web.xml,ApplicationContext.xml,Config.xml 3个配置文件实现SSM框架间的融合。
平台启动后,运行容器(Tomcat)中的Web项目读取Web.xml配置文件,在Web.xml中声明了ApplicationContext.xml和Config.xml这2个文件以及文件所在路径,通过
ApplicationContext.xml中配置组件扫描器,使用注解的方式进行开发,自动加载控制业务逻辑。还要配置视图解析器,处理从Controller中返回ModelAndView的视图[6]。
Config.xml文件中配置:数据源、SqlSessionFactory和Mapper扫描器,数据源配置为平台使用的MySQL数据库,通过配置信息与数据库建立连接。SqlSessionFactory可以被认为是一个数据库连接池,用于创建SqlSession接口对象,实现在一个事务里面执行多条SQL。由于在设计中使用了Spring和MyBatis的整合包对Mapper进行扫描,因此不需要对Mapper进行单独配置[7]。
3.2 模块功能实现
按照调试需求将平台划分为5大功能模块:工序一栏、数据分析、缺陷管理、试验管理、维护与帮助。
3.2.1工序一栏
用户登陆平台自动从数据库中读取该用户的订单信息,形成工序一栏表,用户进入工序调试界面,可以查看订单中的每一条工序,然后通过数采设备采集列车MVB网络数据,并将采集到的数据与订单中要求的标准范围进行运算对比,如果检测结果在范围内,则表示测试通过,反之需要用户到相应的调试点进行故障排查,完成某一条工序后,需要用户签名确认,整个过程将被完整的记录在后台数据库中,工序一栏界面如图5所示。
图5 工序一栏界面
3.2.2数据分析
当完成某个订单的所有工序后,用户可以对调试设备的状态进行综合分析,前端利用Echarts图表库生成柱状图、饼状图等统计图表,使数据分析更加直观、高效。火灾报警系统周故障报警数统计如图6所示。调试平台将数采设备采集的火警网络数据进行存储,根据故障编号对故障等级严重程度进行划分,红色表示严重故障,橙色表示轻微故障,黄色表示警告。图6中表示在调试周期一周内,每天调试火灾报警系统所产生的故障数。
图6 火灾报警系统周故障报警数统计
3.2.3缺陷管理
在用户调试过程中,未通过的工序则被平台标记为缺陷记录,存储在缺陷管理模块中,用户可以进入该模块,对未完成调试的工序重新进行调试,直到调试通过后自动从该模块中删除。
3.2.4试验管理
由于高速列车的调试过程非常重要,因此,某些未在工序一栏中的调试项需要用户手动将调试内容补录在列车智能调试平台中,从而实现补充调试,不断优化调试进程。
3.2.5维护与帮助
维护与帮助模块对用户来说起到了至关重要的作用,用户可以在该模块中修改自己的用户密码,对于不清楚的调试项点,用户可以通过该模块进行查找学习,不断提升自己的调试作业能力。
3.3 平台联调测试
利用列车智能调试平台对250 km/h标准动车组进行联调测试,MOM系统向调试工位推送订单,工位长将订单分配给指定调试作业人员,调试人员进入列车智能调试平台查看自己的订单信息,并开始调试作业。订单信息如图7所示。
调试人员通过平板远程访问和控制数采设备,如图8所示。数采设备将采集到的网络数据实时发送给列车智能调试平台,并填入对应工步的实时值中,由于在MOM推送的订单信息中,对每个工步对应的上限值、下限值或者标准值进行了填写,因此列车智能调试平台将自动判断实测值是否为有效值,得到测试结果,如图9所示。调试人员可以对订单中的每一个工步进行签名、确认、提交,提交内容将实时传送给MOM系统。
图8 平板远程连接数采设备
图9 工序一栏调试界面
4 结束语
通过对调试现场工业网的设计,并基于SSM框架以及前端网页框架技术,设计出专用于列车调试的智能平台,经过现场联网联调,该平台基本可以满足现场调试作业的需求,并且因为较高的存储性能、快速地数据分析能力、易于操作等优点,已经可以替代传统的调试作业流程,为高效、准确的调试作业提供了技术支持。