郭蕴华 石侠红 杨建国
(武汉理工大学能源与动力工程学院1) 武汉 430063) (船舶动力工程技术交通行业重点实验室2) 武汉 430063)
船用柴油机从设计、制造、运行管理到维护是一个复杂过程,且相互影响[1].而台架试验和试航是船用柴油机生产中的2个关键步骤,目前大多数船用柴油机制造厂的台架试验和试航采用纸质方式记录数据,且各部门间的信息不能及时共享,从而形成“信息孤岛”.本文针对船用柴油机的台架试验和试航,利用数据库技术将船用柴油机的相关信息有规则、有秩序地管理起来,为设计、生产、台架试验和试航提供全方位的信息和技术支持,以提高船用柴油机的制造水平、经济效益和管理效率,同时还可为船用柴油机故障库的建立提供试验数据.
基于数据库技术的大型低速船用柴油机台架试验及试航管理系统可实现柴油机的基本信息、设计参数、安装与调试参数、台架试验和试航等数据的自动管理、分析和信息共享.根据柴油机制造厂各部门的业务需求,将系统划分为5个子系统,如图1所示.
基础信息管理子系统负责管理船用柴油机相关证书、文件资料等基本信息.这些基本信息通常用于生成试车/试航报告等相关数据.
图1 大型低速柴油机台架试验及试航管理系统划分
试车管理子系统负责对船用柴油机的台架试车,并采集试车过程中产生的关键数据和各种相关技术指标,试车数据可用于指导试航.技术服务支持子系统负责台架试车和试航时的调速器限制曲线测量.
试车故障诊断子系统将从试车、试航及一些故障仿真模型中获得的数据输入到故障诊断知识库中,为试车磨合阶段出现的问题进行初步诊断和指导.
标准管理子系统负责把柴油机生产过程中产生的一系列企业标准进行管理.如排放标准可为试车、试航的排放计算提供依据.
系统采用工作流的方式管理数据,即通过部门间的相互协作完成数据在各子系统间的流转.各部门可查看当前的数据流程进度,即某台船用柴油机目前所处的生产环节.同时,当系统中的数据更新后,各部门可及时共享数据,以避免出现“信息孤岛”,系统工作流程如图2所示.
图2 工作流程图
系统的平台搭建结构图如图3所示.试车小组、技术服务室和基础技术室利用X3软件平台提供的Tomcat中间件实现了柴油机制造厂各部门间的任务协作及对服务器端SQLServer数据库的访问,在该平台上完成了数据发布、交换及共享.
图3 平台搭建结构图
由于试车和试航现场缺少网络和应用程序服务器等硬件设施的支持,无法使用X3软件平台,需要另外开发C/S模式的客户端系统.客户端系统分为试车客户端和试航客户端,采用Delphi 7.0作为开发平台,选用Access 2003数据库作为其数据支持.
在试车和试航前,工作人员需通过企业局域网从服务器端SQLServer数据库下载必要的数据到客户端Access数据库;在试车和试航结束后,又需要将试验数据从Access数据库上传至SQLServer数据库.根据企业的操作规程,客户端软件不能脱离X3平台直接访问SQL Server数据库,且X3平台也不支持对Access数据库的访问.因此,需要为系统开发X3软件平台与客户端软件间的实时数据传输服务程序.该程序基于XML和自定义的数据传输协议,通过 Windows Socket(简称 WinSock,是基于TCP/IP核心协议的Windows环境下网络编程接口)实现LAN的数据传输和交换.
基础信息管理子系统主要管理三类数据:母/子型机组数据、排放零件钢印号和车间用技术资料.具体数据见表1.
表1 基础信息管理子系统数据结构
由于机组信息量大且复杂,当子型机的排放零件钢印号与母型机中的不同时,在机组资料显示时会将这条记录高亮变红给予用户提示,并且机组资料的版本号得到升级;当机组中新增机器记录或修改原来机器记录时,经过部门审核后,其版本号也会升级.历次版本的机组信息都存于数据库中,用户可以回溯任一版本的机组信息,也可以比较不同版本机组信息间的差异,实现有据可查.
试车管理子系统是本系统中非常重要的环节之一,其数据结构见表2.通常在试车试验之前,由基础技术室在X3端录入试车准备资料,这些资料是为了试车人员在试验时查看柴油机的相关信息.试验前,试车人员先将资料下载到试车客户端中;试验时,通过客户端软件将试验数据保存到本地Access数据库中;试验结束后,试车人员须将试验数据上传至服务器端SQL Server数据库,并在X3平台进行数据的整理,最后输出试车报告.X3端和试车客户端均提供对试验数据的性能分析和排放计算功能.
表2 试车管理子系统数据结构
3.2.1 试车试验数据录入 试车客户端采用“卡片式”界面管理数据,数据分为手工录入数据和自动计算数据.由于试车试验要采集大量的性能参数,为了避免人为操作失误,试车客户端自动检查数据是否超出域范围,如超出则报警.
3.2.2 实时数据传输服务 试车客户端与X3服务器间的数据传输分为数据下载和数据上传2个功能.通过在X3运行平台与客户端软件中分别运行Local Procedure(本地程序)和Remote Procedure(远程程序)这2个小程序来实现.
1)数据下载 实时数据传输服务中的数据下载过程如图4所示.(1)当下载时,X3平台首先将选中的要下载的数据保存为XML文件(在具体对SQL Server数据库存取数据时,使用X3平台的 Business.Data.TQuery,Business.Data.TConnection和 UserDataSet组件),并以 Windows消息的方式向本地程序发出“发送文件列表”命令;(2)本地程序通过Winsock向远程程序转发“发送文件列表”命令;(3)远程程序收到“发送文件列表”后,按“发送文件列表”向本地程序发送“索取文件列表”命令,然后进入阻塞式读取状态;(4)本地程序收到来自远程程序的“索取文件列表”命令,立即将早已准备好的XML文件发送出去;(5)远程程序收到XML文件后,将XML文件读取并将数据存入Access数据库.
图4 下载过程描述
2)数据上传 实时数据传输服务中的数据上传过程如图5所示.(1)当上传时,X3平台首先以Windows消息的方式向本地程序发出“索取文件列表”命令;(2)本地程序收到“索取文件列表”命令后,通过Winsock向远程程序转发“索取文件列表”命令,然后进入阻塞式读取状态;(3)远程程序收到“索取文件列表”命令后,通过Midas和ADO技术从数据库读取符合查询条件的数据(具体通过TADOConnection组件、TADOQuery组件、TDataSetProvider组件和TClientDataSet组 件)[2-3],将 其 保 存 为 XML 文件,并通过Winsock向本地程序发送这些XML文件;(4)本地程序收到XML文件后,通知X3平台;(5)X3平台收到通知后,同样基于Midas的本地存取技术(即UserDataSet的LoadFromFile函数),将XML读取并将数据存入SQL Server数据库.
图5 上传过程描述
3.2.3 性能分析功能 在试车试验中,大多只测量25%,50%,75%,90%,100%和110%负荷下的性能数据,测点相对较少,利用这几个点仅能画出折线,很难反映出热力参数的发展趋势,同时曲线间数量级相差较大,在一个坐标系上显示其可观性较差.需要对采样点数据进行线性变换,使其能在一张图上反映所有的性能曲线,然后再作相应的数学变换,直至满足性能分析绘图的要求.在本系统中FLEX机型采用三次样条插值获得插值点,而MCC机型和MEC机型采用最小二乘法逼近[4].将试验数据导入 MATLAB的Curve fitting Tool功能,经验证采用该种数学变换法满足要求.系统中性能分析界面图略.
技术服务支持子系统的数据结构见表4.本子系统的数据组织模式和提供的功能与试车管理子系统大部分相似.不同之处是由于试航人员数量有限且试航地点通常在海上,往往出现试航人员处理完一条船后就直接赶赴下一个试航任务的情况.这样,试航人员需要当场向船东提交试航报告,并将本次试航服务的数据传回本厂.为此,特别设计了离线导入、离线导出、打印试航报告和绘制调速器限制曲线的功能.
表4 技术服务支持子系统数据结构
离线导入是将试航准备资料离线包导入客户端系统,该离线包中的数据是从X3服务端数据库提取出的;离线导出是从试航客户端数据库提取出试验数据并进行打包,该离线包可导入X3服务器端.这些离线包经过加密,只有在本系统的开发平台间进行导入导出.通过Internet或邮件把离线包传回公司或是试航现场,即可以让试航人员快速的展开下面的工作,又可让上级主管及时获知当前试航情况,完成了数据的管理,实现了数据的共享.
试车故障诊断子系统构建了一个柴油机故障诊断专家系统,主要用于试车磨合阶段的故障诊断及指导.专家系统知识库包含从试车试验、试航及一些故障仿真模型中获得的故障数据及解决方案[5-7].其中,故障仿真利用 AVL BOOST 软件对柴油机工作过程建立仿真模型,通过对柴油机典型故障的仿真计算,得到不同故障态的柴油机热力参数变化规律,提取故障仿真的计算结果,为专家知识库提供数据支持.
当知识库中的故障实例和解决方案累积到一定数量后,通过数据挖掘技术完善专家知识库.在进行试车磨合试验时,试验技术人员可以利用各种征兆信息检索知识库,利用知识库中众多专家的知识对这些信息进行分析、比较和推理,最终得出正确的解决方案.
标准管理子系统是把标准的起草、申请制定、报批及发布等过程管理起来,简化和规范了企业制定标准的流程.在标准起草时,本子系统把标准按照封面、前言、正文、附录、参考文献和索引等6个部分分块存于数据库中.其中正文和附录按照章节节点存储并进行树状排列,用户可以增加和删除章节节点.当进行打印时,系统将这6部分按照顺序及规定的格式输出到word文件中,这样不仅简化和统一了标准的制定,还便于企业标准的管理.
系统采用B/S和C/S相结合的模式,利用数据库技术将柴油机台架试验和试航试验数据规则有序地管理起来,不仅实现了柴油机设计数字化、制造网络化和管理信息化,而且为船用柴油机故障库的建立提供了依据.同时系统强大的面向业务的工作流,使得部门间分工协作更加明确,提高了工作效率;信息的共享促进了企业的无纸化进程,避免了“信息孤岛”.对于整合船用柴油机企业资源、提升综合竞争力也具有十分重要的意义.
[1]李文静,郭蕴华,杨建国.船舶柴油机数字化管理系统的开发[J].柴油机,2009,31(4):6-9.
[2]飞思科技产品研发中心.Delphi 7基础编程[M].北京:电子工业出版社,2003.
[3]JONES A,OHLUND J.Network programming for microsoft windows[M].Washington:Microsoft Press,Redmond,1999.
[4]Delphi常用数值算法集[M].北京:科学出版社,2001.
[5]杨建国,周轶尘.船舶柴油机振动监测与故障诊断系统[J].内燃机工程,1997,17(3):45-51.
[6]余永华,杨建国.船舶柴油机数字化监测与诊断系统[J].船海工程,2007,29(2):81-84.
[7]窦金生,汤天浩.基于知识的故障诊断技术及其在船舶上的应用[J].船舶工程,2007,29(4):72-74.