2. 广州船舶及海洋工程设计研究院,广东 广州 510250
2. Guangzhou Marine Engineering Corporation, Guangzhou 510250, China
喷水推进在船舶推进领域应用日益广泛,但在一些复杂机动操纵时,喷泵易进入气蚀异常工作区,导致推力下降、叶片剥蚀、船体和泵体振动加剧等[1]。如何合理控制喷水推进船的操纵,使在加速、减速、回转、倒车等复杂工况下,有效避免喷泵长时间在空化异常区运行,是需解决的关键问题。国内已有文献对该问题进行了研究,得到了许多有用的结论[2-5],但较少阐述在操纵运动时防止喷泵空化的控制方法。本文将Simulink与MFC(Microsoft Foundation Class)混合编程的方法应用于解决该问题,取得了较好效果。
1 喷水推进船仿真模型以某“四机-四泵”喷水推进船为研究对象,其仿真模型主要分为调速器、柴油机、喷水推进器、船体动力学模型等4部分,如图1所示。由于4套推进器是相同的,故图中只列出1套,其他3套推进器的仿真模型与第1套相似。
以柴油机的设定转速和柴油机反馈的实际转速作为调速器模型输入,通过一个PID控制器输出供油齿杆的位置[6]。PID控制器的数学描述为:
$U(t) = {K_p}[e(t) + \frac{1}{{{T_i}}}\int_{0}^{1} {e(\tau ){\rm{d}}\tau + {T_d}\frac{{{\rm{d}}e(t)}}{{{\rm{d}}t}}} ]\text{。}$ | (1) |
式中:U(t)为柴油机供油齿杆位置;e(t)为柴油机设定转速与实际转速之间的误差。
1.2 柴油机模块通过柴油机外特性数据建模,采用BP神经网络对输入输出进行训练[7-8],以柴油机转速和供油齿杆位置作为输入,以柴油机功率、力矩作为输出。
1.3 喷水推进器模块该模块基于喷泵试验数据建立,采用BP神经网络对输入输出进行训练而得到,以喷泵转速和船体航速作为输入,以喷水推进器产生的推力作为输出。
1.4 船体动力学模块该模块包括船体直航模型和船体回转模型。其中回转运动模型采用MMG分离模型[3],将船体的水动力特性与喷水推进器的推力特性独自表达,相互干扰由干扰系数决定。喷泵喷出水流的反作用力产生使船前进的推力,操纵喷口的喷射角度可改变推力方向,实现船体回转[9],喷水推进器模块将喷泵推力传递给船体动力学模块。
若喷射角为
${X_j} = \rho Q({V_j}\cos \theta - {V_i})\text{,}$ | (2) |
船体所受的纵向力Yj为:
${Y_j} = \rho Q{V_j}\sin \theta \text{,}$ | (3) |
回转力矩Nj为:
${N_j} = {Y_j}{L_{jG}} = {L_{jG}}\rho Q{V_j}\sin \theta \text{。}$ | (4) |
式中:
基于船体水动力和喷泵回转力的分析,建立喷水推进船的回转性模型如下:
$\begin{split} & (m + {\lambda _{11}})u' - (m + {\lambda _{22}})vr = \\ & R{{(V)}_i} + {X_{vv}}{v^2} + {X_{vr}}vr + {X_{rr}}{r^2} + {X_j}\text{,} \\ & (m + {\lambda _{22}})v' + (m + {\lambda _{11}})ur = \\ &{Y_v}v + {Y_r}r + {Y_{{v^2}r}}{v^2}r + {Y_{v{r^2}}}v{r^2} + {Y_{|v|v}}|v|v + {Y_{|r|r}}|r|r + {Y_j} \text{,}\\ & ({I_{zz}} + {\lambda _{66}})r' = \\ & {N_v}v + {N_{{v^2}r}}{v^2}r + {N_{v{r^2}}}v{r^2} + {N_{|v|v}}|v|v + {N_{|r|r}}|r|r + {N_j} \text{。} \end{split}$ | (5) |
式中:m为船质量;
Simulink虽有着强大的仿真功能,但在许多控制程序的设计方面要靠Matlab的用户自定义函数来完成,然而程序设计却并不是Matlab的长处,用MFC对Simulink进行二次开发有助于更好的发挥其仿真的功能。MFC对Simulink作二次开发的方法有很多[10],本研究选用RTW工具生成实时代码的方法实现Simulink仿真程序与MFC的集成,主要步骤如图2所示。
1)在仿真参数中对RTW选项进行相关的配置;
2)设定Simulink模型中需要观测的量(柴油机转速、轴转速和航速),这可以在各条信号线的信号参数设定中配置RTW选项;
3)在RTW中的Generate Code选项中产生模型的C++程序代码;
4)将产生的代码加入到一个空的MFC工程中,在MFC中根据需要编写相应的程序对生成的代码进行驱动和控制,并对计算结果进行实时的监测。
基于RTW(Real Time Workshop)工具,把Simulink模型中的某些变量设置为全局变量,使模型实时代码实现在线参数调整和信号通信,由此可将模型中需要调整、检测的参数或者信号设置为全局变量,主要有柴油机转速、轴转速和航速等,该些变量构成了整个仿真程序中模块间相互交互的桥梁。
模型代码中的Initialize、Terminate和rt_OneStep三个函数分别用于实现模型的初始化、停止和单步运算。在程序设计过程中,Initialize和Terminate函数可以用WM_COMMAND类型的消息驱动;OneStep函数则用WM_TIMER消息驱动。每次在程序中调用一次WM_TIMER消息,计算出一组结果,并且可以在WM_TIMER消息相应函数中对计算结果进行实时的提取。在第4步中有大量的程序设计工作要做,包括人机交互界面的设计、实时仿真数据的提取与显示、运行步长和时间的控制等。
2.2 控制程序的设计在喷水推进系统中,观测轴转速随航速的变化关系是判断喷泵是否空化的一个重要标准。喷泵的工作区域划分为3个区,如图4所示。区域1是正常区,喷泵可在该区长时间稳定工作;区域2和区域3为异常区,喷泵性能会受空化影响而降低,喷泵在其中的工作时间也受限。将3条区域限制线编译到程序中,将程序计算所得到的航速与轴转速的值与3条限制线数据相比较,由此就可以确定出喷泵的运行状态。
WM_TIMER消息响应函数OnTimer的编写是控制程序的主要部分,它可以看作一个定时器,MFC程序每隔特定的时间间隔就会调用该函数。即每隔一定的时间间隔,该函数内部就会进行计算并产生一组计算结果。利用这些结果,可以实时判断,若仿真结果显示喷泵工作在异常工作区,则修改程序设定的初始参数。控制程序的编制步骤如下,控制程序流程如图3所示。
1)在OnTimer函数中调用Initialize进行参数的初始化;
2)设置相关的初始参数并调用rt_OneStep函数进行计算;
3)提取计算结果中的航速和转速值,判断其是否在给定的区域内,如果不是则返回第1步,并在第2步中改变初始参数继续计算,若果计算结果在给定的区域内,转到第4步;
4)继续循环并输出计算结果。
3 喷泵工况计算示例根据上述集成方法与控制策略,编制喷水推进系统仿真计算软件。该软件有多项功能,此处简要介绍回转运动最大舵角(喷泵的喷射角度)计算和直航最大加速速率计算。
3.1 回转运动最大舵角计算该计算模块的功能是根据输入的初始参数来计算对应工况下回转运动允许的最大舵角。
初始参数包括主机转速、工作的喷泵、船体的负荷、回转泵以及工作区域限制。在计算时为了使舵角的调整朝着一个方向变化,一般将舵角初始值设为最大舵角30°,然后通过控制程序进行实时的调整。这里,模块用于计算四机四泵操作的舵角,该处设定船体负荷为标准负荷,回转运动限制在喷泵工作区域的一区。
表1给出了四机四泵运行,四泵回转工况下,主机转速由0.73 Nmax(Nmax为柴油机的额定转速)变化到最高转速Nmax对应的最大舵角,实际上主机最低转速还小于0.73 Nmax,但是图中所给泵的工况限制线并没有覆盖整个工作区,故此处最小转速取为0.73 Nmax,标中V表示柴油机转速为0.73 Nmax时的直航稳定航速。
为了验证计算结果的准确性,在仿真软件中加入了工况曲线显示模块,并把喷泵工作区域限制线编译到工况曲线中,此处仅对上表计算所得到的第一个结果(转速为Nmax、舵角为8°)进行验证,结果如图5所示。图中的数据已经经过等比例变化,可见图中所示的回转运动稳定点正好在第1区和第2区限制线上,这说明计算出的舵角即为把回转运动限制在喷泵工作区域的一区对应的最大舵角。应用该模块还可以计算多种不同初始工况、不同回转泵、不同运行区域下的最大舵角。
该计算模块的功能是根据初始设定的参数计算加速过程中,对应喷泵工作区限制条件下的最大主机加速速率。初始参数包括初始主机转速、目标主机转速、工作的喷泵、船体的负荷以及工作区域限制。在计算时为了使加速速率的调整朝着一个方向变化,一般将加速速率的初始值设为目标转速和初始转速之差,即将初始加速速率设定为最快的速率,然后通过控制程序进行实时的调整。利用该模块对四机四泵工作情况下最大加速速率进行计算,该处设定船体负荷为标准负荷,加速运动限制在喷泵工作区域的一区。
设定初始主机转速为0.73 Nmax,目标转速由0.78 Nmax变化至Nmax,计算结果如表2所示。
同上,仅对表2计算所得到的最后一个结果(初始转速为0.73 Nmax,目标转速为Nmax,加速速率为0.01 Nmax/s)进行工况曲线验证,结果如图6所示。图中的数据已经经过等比例变化,可见加速过程由加速起始点到加速结束点的工况曲线在初始设定的区域即区域一中,而且加速曲线末端紧贴一区和二区分界线。这说明如果加速速率大于此加速速率0.01 Nmax/s,则加速工况曲线必然会越过分界线到达二区。此外,利用该模块还可以计算任意初始转速和目标转速对应的最大加速速率。
本文基于对喷水推进系统组成部件和船体运动学模型的分析,建立了喷水推进系统的Simulink仿真模型,并考虑到MFC在控制程序编制以及在人机交互界面设计方面的优越性,利用Matlab的RTW工具箱将Simulink仿真程序转换为实时C++代码,并与MFC集成开发出了喷水推进系统仿真软件。仿真计算程序可用于在加速、减速、回转、倒车等工况下,制定喷水推进系统合理工作制,避免喷泵进入空化区运行。
主要得到如下结论:
四机四泵全速运行四泵回转时,如要将喷泵控制在一区运行,舵角不能大于8°;四机四泵运行主机转速由0.73 Nmax分别加速至0.92 Nmax和Nmax,如要将喷泵控制在一区运行,加速速率不能大于0.02 Nmax/s和0.01 Nmax/s。
[1] |
黄斌, 王永生. 喷水推进船避免喷泵气蚀的仿真研究[J]. 中国造船, 2010, 51(1): 55-61. DOI:10.3969/j.issn.1000-4882.2010.01.007 |
[2] |
李雁飞, 陈国钧, 张卫东. 喷水推进双体船回转工况下船机泵动态配合仿真分析[J]. 系统仿真学报, 2005, 17(3): 735-738. DOI:10.3969/j.issn.1004-731X.2005.03.061 |
[3] |
李磊, 朱齐丹, 高双, 等. 双泵喷水推进艇的操纵性仿真与分析[J]. 系统仿真学报, 2008, 20(12): 3104-3106. |
[4] |
黄斌, 王永生. MFC与Simulink的集成及其在喷水推进船加速过程控制中的应用[J]. 上海交通大学学报, 2010, 41(9): 1206-1210. |
[5] |
孔庆福, 吴家明, 余光富, 等. 喷水推进型舰船回转工况动态仿真研究[J]. 计算机仿真, 2006, 23(08): 12-16. DOI:10.3969/j.issn.1006-9348.2006.08.004 |
[6] |
王永生. 全柴联合动力装置稳动态特性和工作制研究[D]. 武汉: 华中科技大学, 2005.
|
[7] |
徐青, 杨义顺, 忻元健, 等. 基于仿真的全柴联合动力装置特殊工作制联控曲线研究[J]. 中国舰船研究, 2012, 7(6): 86-89. |
[8] |
胡锦晖, 胡大斌, 何其伟. 某型船舶动力装置建模及仿真[J]. 大连海事大学学报, 2015, 41(2): 17-22. |
[9] |
丁江明, 王永生, 王鹏飞. 喷水推进船转弯过程中的喷泵性能研究[J]. 武汉理工大学学报(交通科学与工程版), 2006, 30(1): 5-8. |
[10] |
RTW技术在轮机模拟器中的应用[J]. 电子设计工程, 2014, 22(14): 34-36.
|