搜索
您的当前位置:首页正文

数据库技术在船舶动力装置系统仿真中的应用

来源:易榕旅网
第24卷第4期 2010年8月 江苏科技大学学报(自然科学版) Journal of Jiangsu University of Science and Technology(Natural Science Edition) Vo1.24 No.4 Aug.2010 数据库技术在船舶动力装置系统仿真中的应用 佘建国 ,施维振 ,陈 宁 (1.江苏科技大学机械工程学院,江苏镇江212003) (2.江苏科技大学船舶与海洋工程学院,江苏镇江212003) 摘要:针对如何提高船舶动力装置系统仿真中模型通用性和仿真结果向不同计算机上传输的问题,开发了一种基于 Visual C++6.0,Matlab和SQL Server 2000混合编程的数据管理平台.用该平台管理船舶动力装置系统仿真中的仿真参数 和仿真结果,实现了从数据库读取所需仿真参数进行仿真和仿真结果存入网络数据库服务器.结果表明,该数据管理平台 能够提高模型通用性,实现仿真结果向不同计算机上的传输,满足了公共虚拟平台的要求. 关键词:动力装置;数据管理;船舶;仿真 中图分类号:U664.121 文献标志码:A 文章编号:1673—4807(2010)04—0362—05 Database technology in simulation of marine power plant system She Jianguo ,Shi Weizhen ,Chen Ning (1.School ofMechanical Engineering,Jiangsu University of Science and Technology,Zhenjiang Jiangsu 212003,China) (2.School of Naval Architecture and Ocean Engineering,Jiangsu University of Science and Technology,Zhenjiang Jiangsu 212003,China) Abstract:In order to improve the versatility of simulation model for marine power plant system and transfer the simulation results to different computers,a platform was set up to manage the parameter data and result data of marine power plant system simulation.The platform was based on VC++6.0.Matlab and SQL Server 2000.U- sing this platform got the parameters from database for simulation and wrote the simulation results into database server.The results show that the data management platform can improve the versatility of simulation mode and transfer the simulation results to different computers,which mean it meets the requirements of the public virtual platform. Key words:power plant;management of data;database;ship;simulation 传统的船舶模拟仿真系统通常是将集控、驾控 前人在船舶动力装置系统仿真中做了大量工 模拟仿真与航行模拟仿真相分离,两个仿真系统之 间的操纵数据与仿真结果不能相互利用.本文提出 用船舶动力系统仿真与航行仿真的公共虚拟平台 进行分布式可视化仿真,使得观察者可以从多台计 算机屏幕上更直观地获取船舶航行多通道视景、动 力参数的仪表监控等信息,较好地解决了信息孤岛 问题.该虚拟平台后台用Matlab作为船舶动力装 置系统运行的数学仿真器,仿真结束后将结果数据 存入SQL Server 2000数据库服务器,利用其分布 作,包括建模方法的探索、仿真策略的研究等.如今, 人们把更多的精力放在了如何提高模型通用性以提 高仿真效率的问题上,常见的方法有模块化建模、积 件式建模等¨ J.本文通过分析Visual C++6.0, Matlab和SQL Server 2000数据库之间的接口,提出 一种基于三者 昆合编程的船舶动力装置系统仿真 数据管理平台,在该平台中,预先将不同动力装置 系统的相关参数存入不同数据表内,仿真时根据需 求读取对应表内参数到船舶动力装置系统的Sim— ulink模型中进行动态仿真,以此来改善仿真模型 的通用性,提高仿真效率.SQL Server 2000是Cli- ent/Server模式的大型分布式数据库,本文把仿真 式特性实现数据向局域网内不同计算机传递,前台 再分别利用vega软件和组态软件进行多通道航行 视景和仪表监控的分布式视觉仿真. 收稿13期:2009—12—08 作者简介:余建国(1963一),男,江苏镇江人,副教授,研究方向为机构学和视景仿真技术.E・mail:sjgbgs@slna.colll 第4期 余建国,等:数据库技术在船舶动力装置系统仿真中的应用 1.1.4柴油机的有效扭矩 363 结果数据存人数据库服务器,其他装有数据库客户 端的计算机就能立刻获取该数据,这样就可以利用 分布式数据库自带的通信协议实现数据的传输,避 开繁杂的网络通信编程工作,为后面的分布式可视 有效扭矩表示为Q。=堙 叼。.式中k= (叮T )为一常数;Hu为燃油热值;i为发动机汽 缸数;r为发动机冲程数;g 为每循环喷油量每缸; 化仿真奠定了数据基础. 1 船舶动力装置系统仿真模型的 建立 本文以13 000 DWT散货船为原型进行建模 和仿真,该船搭载一台瓦锡兰6L38型柴油主机,用 直径为4.56 Irl的MAU 4叶螺旋桨,齿轮箱减速比 为4.238.建模仿真的思路是先建立每个部件的数 学模型,再由部件模型组合成设备模型,最后把各 个设备的数学模型有机地联系起来,研究整个动力 装置系统的动态特性…. 1.1增压柴油机准稳态模型 1.1.1涡轮增压器模型 压气机内温升dTo=Ta(竹 几一1)/,q。;压气机 出口温度 = +d ;压气机出口压力:P。= 霄 P ;压气机所需扭矩Q =C。G。dL3o/(1T ).其 中, 为环境温度;竹 为压比;F =(k一1)/k, k=1.4为空气的绝热指数;C。为空气的定压比热 容;G 为压气机空气流量. 涡轮产生的扭矩为 Q,=tit器 厂]警. 式中,'7 为涡轮效率;G 为涡轮流量;k。为涡轮内 气体绝热指数; 为气体常数. 增压器转速 表达式为 ,l。 =Q 一Qo,It 为增压器转子的转动惯量. 1.1.2中冷器模型 中冷器出口温度: = 一8( — );进气 总管压力:Pi=P 一 。Gi . 为中冷器效能系数, 可取0.7—0.9; 。为中冷器压力降系数 J. 1.1.3空气流量模型 对于四冲程柴油机,流过进气阀的空气流量 Gi包括吸气流量和扫气流量两部分.吸气流量通 常表示为Gi =叩 i/(120RTi).叩 为充气系数 (容积效率);R=287 J/(kg・K )为气体常数; 为气缸总排量.扫气流量的计算相对复杂,但若知 道扫气系数 则不需要计算扫气量就可直接得到 空气流量 ,即Gi=咖 G 扫气系数 一般根据 实验数据拟合. 卵 为有效热效率 . 1.1.5轴系动力学 柴油机的转速nd计算式为 ,d (Ind:Q一 。Q 。一M。,, 为柴油机推力轴承到离合器问的半轴 系转动惯量 ;Q 为轴系的摩擦阻力扭矩;M。为 螺旋桨的负荷力矩. 1.1.6调速器模型 电子调速器一般采用PID控制器来表示 “㈤=Kp )+ e㈩df+ 】. , , 分别为PID控制器的比例系数、积分时 间常数和微分时问常数. 1.2减速齿轮模型 柴油机与螺旋桨之间的转速关系为n =tl,pi; 柴油机轴与螺旋桨轴之问的扭矩关系为Q = Q /i.其中11, 为螺旋桨的转速;Q 为折合到螺旋 桨轴上的扭矩. 1.3船桨模型 1.3.1螺旋桨模型 =K,pnp2D ; =g2D5.旷 其中 为螺旋 桨轴上产生的推力;Mp为水阻力矩;K,Kq分别为 推力系数和扭矩系数;可从特定桨型图谱获得r ; P为海水密度;D为螺旋桨直径. 1.3.2船体模型 各种工况下船体阻力R=F。FdF R +R ;船速 r|口) 的计算式为kwm = 一 .其中F ,Fd,F 分 别为载重阻力系数、污底阻力系数、风浪阻力系数; 尺 为标准工况下的船体阻力; 为拖带阻力,如无 拖带则R =0;Z为同时工作螺旋桨数;k 为附水 系数,取值范围为1.05—1.16;m为船体总质量. 1.4组装后的仿真模型 在Matlab/Simulink中把上述数学模型搭建成 各个相应的模块,再把这些模块有机地组装后,得 到图1的动力装置系统仿真框图. 2软件间的接口 2.1 Visual C++6.0的数据库访问技术 Visual C++6.0为数据库提供了许多开发工 具,如ODBC,OLE DB,RDO,DAO等.在这些开发 364 江苏科技大学学报(自然科学版) 第24卷 图1动力装置系统仿真框图 Fig.1 Simulation block diagram of power plant system 工具中,ODBC是最具开放性的、用于关系数据连 接的最成功的标准 J.多数数据库除了包括本机 驱动程序外还包括访问数据库的ODBC驱动程序. SQL Se ̄er 2000与VC++6.0之间的连接方式如 图2.访问是通过MFC中的CDatabase类和 CRecordset类来完成的 . 删户界面系统l—lL—-一ODBC驱动器  管理程序 … .2.3 Visual C++6.0与Matlab/Simulink的接口 操作方法 Matlab引擎是一组函数,通过这组函数,用户 可以在应用程序中实现对Matlab的控制,这相当 于把Matlab当成一个计算引擎来使用.在VC++ 6.0中可调用engOpen(),engEvalString(),engOut— putBuffer(),engPutVariable(),EngClose()等函数 来实现Visual C++和Matlab的连接…. Simulink将模型通过框图形式表达出来,允许 SQL Server2000 数据库 SQL Server 2000 ODBC数据晖驱动 随意修改模块参数,并且支持通过Matlab命令方 式建立Simulink模型、设定系统参数和运行Simu— link模型¨ .可以通过Visual C++6.0与Matlab 图2 VC+4-6.0与SQL Server 2000的连接 Fig.2 Connection between VC++6.0 and SQL Server 2咖lo 的接口来实现对Simulink模型的各种操作. 2。2 Matlab和数据库的连接 3 动力装置系统仿真数据管理平台 开发 3.1数据库和配置数据源 Matlab与数据库的连接,必须使用JDBC/OD— BC Bridge.它作为Matlab的一部分被自动安装,C 语言将JDBC调用转换成ODBC APIS,送到与要访 问的数据库相应的ODBC驱动程序¨ .其实现过 程如图3.Matlab对数据库的操作,是先获得数据 库的句柄,然后通过Matlab函数操作. 在SQL Server 2000数据库里,启动“Enterprise Manager”,建立名为“fangzhen”的数据库,并在其 中建立名为“simulinkl”的数据表,表内存入仿真 所需参数,参数包括:额定转速n0,冲程数tai,汽缸 数ic,气缸直径dc,活塞行程S,中冷器效能系数e, 额定喷油量g,涡轮转子转动惯量Itc,柴油机轴系转 巨 ._1 固—_J 动限量Id,齿轮减速比i,螺旋桨直径D,船体质量 m.存人数据后的数据表simulinkl如图4所示. 图3 Matlab与数据库连接的实现 Fig.3 Connection between Matlab and dabble { l埘 It^^ l e Id I S le lg l^I l土4 Il IH Im ・ ∞ l辅・幅。 {。㈣ 蠕 韩 一 { - 图4存入表simulinkl的仿真参数 Fig.4 Simulation parameters in table simulinkl 第4期 余建国,等:数据库技术在船舶动力装置系统仿真中的应用 3.3使用Visual C++建立用户界面 365 通过Windows中的“开始”按钮进入“管理工 具”,选择“数据源(ODBC)”,进入“ODBC数据源 管理器”,在“用户DSN”面板中列出了系统中MS Data,Excel Files,dBASE Files等用户数据源,本文 使用MFC向导建立一个名为visitdatabase的 SDI应用程序.在step 2中选择DATABASE VIEW WITHOUT FILE SUPPORT选项,并选择visitdata— 用SQL Se ̄er 2000数据库作为数据源,所以点击 “添加”按钮,选择“SQL Se ̄er”再点击“完成”,则 数据源驱动程序安装完成.在弹出的对话框中创建 新的数据源,取名“visitdatabase”,描述为“test”,服 务器选择“SWZ”,用户输入登陆ID和密码,通过 base中的simulinkl作为数据源,其他步骤采用默 认.在主对话框加入按钮控件“启动引擎”、“读取参 数”、“运行仿真”、“结果入库”和“关闭引擎”,成员 函数对应OnStartEngine(),OnGetParameter(),On- RunSimulink(),OnlnsertData()和OnCloseEngine(). SQL Server验证后,选择“fangzhen”数据库作为默 认数据库,配置完成后显示图5对话框,点击“测 试数据源”,若显示测试成功,则数据源配置成功. 图5 ODBC数据源配置预览 Fig.5 Setting of ODBC data source 3.2 Visual C++编译环境的设置 在Visual C++6.0中调用Matlab引擎必须先 包含引擎头文件engine.h,并引入对应的库文件 libmx.1ib,libmex.1ib,libeng.1ib.具体设置如下: 1)通过菜单Tools/Options,打开设置属性页, 进入Directories页面,在目录下拉列表框中选择 Include files,添加engine.h所在的路径:“C:\Pro— gram Files\Matlab7 1\extem\include”(本机Matlab 安装在C:\Program Files目录). 2)选择Library files,添加库文件的路径“C:\ Program Files\Matlab71\extern\lib\win32}microsoft \msvc60”. 3)通过菜单Project/Settings,打开工程设置属 性页,进入Link页面,在Object/Library Modules编 辑框中,添加库文件链接libmx.1ib,libmex.1ib, libeng.1ib. 步骤1),2)只需设置一次,而步骤3)对每个 工程都要单独设定. 编译后运行. 3.4功能的实现 运行程序后依次点击“启动引擎”、“读取参数” 和“运行仿真”,动力装置系统模型就完成了参数的 读取并开始仿真运算.仿真时转速指令在0—10 S内 由500 r/min线性变化到600 r/min,以后保持不变, 仿真时间为600 S,待仿真结束后得到仿真结果曲 线.图6为柴油机转速曲线和船舶航速曲线. a)转速 b)航速 图6柴油机转速和航速曲线 Fig.6 Curves of diesel engine S rev and ship S speed 点击“结果入库”,实现将各项仿真结果(包括 柴油机转速、船速、螺旋桨推力、水阻力矩、螺旋桨 转速、进气温度、空气流量、排气温度等共l2列 12 005行数据)插人到数据库表Table 2中(图7). 366 江苏科技大学学报(自然科学版) 第24卷 图7插入到表“Table 2”中的数据 Fig.7 Data inserted in Table 2 4 结论 1)通过搭建和应用该数据管理平台,实现了 船舶动力装置系统仿真过程中仿真参数从数据库 [4]陆金铭.增压柴油机推进系统仿真研究[J].船舶工 程,2007,29(6):46—49. Lu Jingming.Simulation study Oil propulsion system of SU— percharged diesel engine[J].Sh/p Engineering,2007,29 (6):46—49.(in Chinese) 传人Simulink仿真模型,仿真运算后把仿真结果存 入SQL Server 2000数据库服务器; 2)任何一台装有SQL Server 2000的客户端计 算机连接到该服务器,客户端计算机都能获得动力 装置系统的仿真数据,从而实现把仿真数据传递到 各个计算机,为以后的分布式可视化仿真提供了数 据支持; [5]Ahosole M,Benvenuto G,Figari M,et 1.Dynamiac per— formance simulation of a naval propulsion system[C]∥ Summer Computer Simulation Conference.San Jos∈Cali— fornia USA:[S.n.],2004:243—248. 『6]Zhu Jianyuan.Real—time simulation of two.stroke marine diesel engine[C]∥The 5th Conference on System Simula— tion and Scientiifc Computing.Shanghai:[S.n.],2002 (3/4/5/6):777—781. 3)在工程应用中,同一系列的柴油机、螺旋桨 等设备会有多个型号,但是基本建模原理相同,在 这种情况下,根据不同船上各个设备的型号预先把 参数存人不同的数据库表中,仿真时只需视情况读 取相应表中的参数到仿真模型,从而能有效改善模 型的通用性,提高仿真效率. [7]王国强,董世汤.船舶螺旋桨理论与应用[M].哈尔滨: 哈尔滨工程大学出版社,2005. [8]Wood C.VC++6.0数据库编程大全[M].梁普选,等, 译.北京:电子工业出版社,2000. [9]何毅斌,陈定方,沈元浩,等.Windows工作环境下Ora. cle,VC++和Maflab的联合应用[J].计算机应用, 2001,21(11):99—100. He Yibin,Chen Dingfang,Shen Yuanhao,et a1.Team— 参考文献(References) [1]张维竞.舰船动力装置系统仿真[M].上海:上海交通 大学出版社,2006. work of Oracle,VC++and Matlab in Windows『J].Com— puter Applications,2001,21(11):99—100.(in Chi— nese) [2]张小雪.基于MATLAB的舰船用柴油机性能仿真[D]. 武汉:华中科技大学,2006. [10]孙昆峰.MATLAB和数据库的连接[J].电脑开发与 应用,2001,14(4):1O. [11]黄永安,马路,刘慧敏.MATLAB7.0/Simulink6.0建 [3]陈宁,余纯,佘建国.基于MATLAB,C++,Vega的减遥 鳍控制系统的视觉仿真[J].江苏科技大学学报:自然 科学版,2007,21(6):30—34. Chen Ning,Yu Chun,She Jianguo.Visual simulation of ifn stabilizer control system based on MATLAB,C++and 模仿真开发与高级工程应用[M].北京:清华大学出 版社,2005. Vega[J].Journal of Jiangsu University of Science and Technology:Natural ̄ience Edition,2007,21(6):30— 34.(in Chinese) (责任编辑:童天添) 

因篇幅问题不能全部显示,请点此查看更多更全内容

Top