舰船科学技术  2020, Vol. 42 Issue (10): 58-61    DOI: 10.3404/j.issn.1672-7649.2020.10.012   PDF    
喷水推进系统操纵优化仿真
常书平1, 李昆鹏1, 姚丁元1, 罗东宏2     
1. 中国人民解放军63983部队,江苏 无锡 214035;
2. 广州船舶及海洋工程设计研究院,广东 广州 510250
摘要: 围绕喷水推进系统在复杂操纵时的安全可靠运行问题,基于Simulink与MFC集成的方法开发了一套仿真程序,它可计算制定出在加速、减速、回转、倒车等动态工况下喷泵的合理工作制。仿真结果具有较大参考价值,如四机四泵全速航行、四泵回转时,若要将喷泵控制在一区运行,舵角需小于8°;四机四泵运行,主机转速由0.73 Nmax分别加速至0.92 Nmax和Nmax,若要将喷泵控制在一区运行,加速率不能大于0.02 Nmax/s和0.01 Nmax/s。
关键词: 仿真     喷水推进     操纵     混合编程    
The optimizing simulation of manoeuvring of waterjet propulsion system
CHANG Shu-ping1, LI Kun-peng1, YAO Ding-yuan1, LUO Dong-hong2     
1. No. 63983 Unit of the PLA, Wuxi 214035, China;
2. Guangzhou Marine Engineering Corporation, Guangzhou 510250, China
Abstract: In order to solve the problem that the waterjet pump always works in the restricting region under the manoeuvring situations, a simulation programme is established based on the integrating of Simulink with MFC. The simulation programme could be used to set the working state of the waterjet propulsion, such as accelerating, decelerating, turning, reversing. The results of the simulation are of great value. For example, when four pumps working, four pumps turning, in order to restrict the pump working in the Zone One, the maximum turning angle of the pump should be lower than 8 degree; When four pumps working, the main engine speed increasing from 0.73 Nmax to 0.92 Nmax and Nmax, in order to restrict the pump working in the Zone One, the maximum accelerating speed should be lower than 0.02 Nmax/s and 0.01 Nmax/s.
Key words: simulation     waterjet propulsion     manoeuvring     combined programming    
0 引 言

喷水推进在船舶推进领域应用日益广泛,但在一些复杂机动操纵时,喷泵易进入气蚀异常工作区,导致推力下降、叶片剥蚀、船体和泵体振动加剧等[1]。如何合理控制喷水推进船的操纵,使在加速、减速、回转、倒车等复杂工况下,有效避免喷泵长时间在空化异常区运行,是需解决的关键问题。国内已有文献对该问题进行了研究,得到了许多有用的结论[2-5],但较少阐述在操纵运动时防止喷泵空化的控制方法。本文将Simulink与MFC(Microsoft Foundation Class)混合编程的方法应用于解决该问题,取得了较好效果。

1 喷水推进船仿真模型

以某“四机-四泵”喷水推进船为研究对象,其仿真模型主要分为调速器、柴油机、喷水推进器、船体动力学模型等4部分,如图1所示。由于4套推进器是相同的,故图中只列出1套,其他3套推进器的仿真模型与第1套相似。

图 1 喷水推进系统模型第1层 Fig. 1 The first layer of waterjet propulsion
1.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)

式中:Ut)为柴油机供油齿杆位置;et)为柴油机设定转速与实际转速之间的误差。

1.2 柴油机模块

通过柴油机外特性数据建模,采用BP神经网络对输入输出进行训练[7-8],以柴油机转速和供油齿杆位置作为输入,以柴油机功率、力矩作为输出。

1.3 喷水推进器模块

该模块基于喷泵试验数据建立,采用BP神经网络对输入输出进行训练而得到,以喷泵转速和船体航速作为输入,以喷水推进器产生的推力作为输出。

1.4 船体动力学模块

该模块包括船体直航模型和船体回转模型。其中回转运动模型采用MMG分离模型[3],将船体的水动力特性与喷水推进器的推力特性独自表达,相互干扰由干扰系数决定。喷泵喷出水流的反作用力产生使船前进的推力,操纵喷口的喷射角度可改变推力方向,实现船体回转[9],喷水推进器模块将喷泵推力传递给船体动力学模块。

若喷射角为 $\theta $ ,则船体所受的纵向力Xj为:

${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)

式中: $\rho $ 为水密度;Q为水体积流量; ${L_{jG}}$ 为作用点到船重心的纵向距离。

基于船体水动力和喷泵回转力的分析,建立喷水推进船的回转性模型如下:

$\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为船质量; $R{(V)_i}$ 为直航阻力; ${I_{zz}}$ 为船对Z轴的转动惯量; ${X_{vv}}$ ${X_{vr}}$ ${X_{rr}}$ 为纵向水动力系数; ${Y_v}$ ${Y_r}$ ${Y_{{v^2}r}}$ ${Y_{v{r^2}}}$ ${Y_{|v|v}}$ ${Y_{|r|r}}$ 为横向水动力系数; ${N_v}$ ${N_{{v^2}r}}$ ${N_{v{r^2}}}$ ${N_{|v|v}}$ ${N_{|r|r}}$ 为回转水动力系数。

2 喷水推进仿真系统控制程序 2.1 MFC与Simulink集成方法

Simulink虽有着强大的仿真功能,但在许多控制程序的设计方面要靠Matlab的用户自定义函数来完成,然而程序设计却并不是Matlab的长处,用MFC对Simulink进行二次开发有助于更好的发挥其仿真的功能。MFC对Simulink作二次开发的方法有很多[10],本研究选用RTW工具生成实时代码的方法实现Simulink仿真程序与MFC的集成,主要步骤如图2所示。

图 2 Simulink与MFC集成的主要步骤 Fig. 2 The approach of Simulink and MFC integration

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条限制线数据相比较,由此就可以确定出喷泵的运行状态。

图 4 喷泵工作区域图 Fig. 4 Working area of waterjet propulsion system

WM_TIMER消息响应函数OnTimer的编写是控制程序的主要部分,它可以看作一个定时器,MFC程序每隔特定的时间间隔就会调用该函数。即每隔一定的时间间隔,该函数内部就会进行计算并产生一组计算结果。利用这些结果,可以实时判断,若仿真结果显示喷泵工作在异常工作区,则修改程序设定的初始参数。控制程序的编制步骤如下,控制程序流程如图3所示。

图 3 OnTimer函数内部的控制流程 Fig. 3 The control process of OnTimer function

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时的直航稳定航速。

表 1 四泵回转条件下最大舵角计算结果 Tab.1 The maximal rudder angle of 4-waterjets turning process

为了验证计算结果的准确性,在仿真软件中加入了工况曲线显示模块,并把喷泵工作区域限制线编译到工况曲线中,此处仅对上表计算所得到的第一个结果(转速为Nmax、舵角为8°)进行验证,结果如图5所示。图中的数据已经经过等比例变化,可见图中所示的回转运动稳定点正好在第1区和第2区限制线上,这说明计算出的舵角即为把回转运动限制在喷泵工作区域的一区对应的最大舵角。应用该模块还可以计算多种不同初始工况、不同回转泵、不同运行区域下的最大舵角。

图 5 回转运动工况 Fig. 5 Results of turning process
3.2 直航最大加速速率计算

该计算模块的功能是根据初始设定的参数计算加速过程中,对应喷泵工作区限制条件下的最大主机加速速率。初始参数包括初始主机转速、目标主机转速、工作的喷泵、船体的负荷以及工作区域限制。在计算时为了使加速速率的调整朝着一个方向变化,一般将加速速率的初始值设为目标转速和初始转速之差,即将初始加速速率设定为最快的速率,然后通过控制程序进行实时的调整。利用该模块对四机四泵工作情况下最大加速速率进行计算,该处设定船体负荷为标准负荷,加速运动限制在喷泵工作区域的一区。

设定初始主机转速为0.73 Nmax,目标转速由0.78 Nmax变化至Nmax,计算结果如表2所示。

表 2 直航加速条件最大加速速率计算结果 Tab.2 The maximal acceleration of 4-waterjets accelerating process

同上,仅对表2计算所得到的最后一个结果(初始转速为0.73 Nmax,目标转速为Nmax,加速速率为0.01 Nmax/s)进行工况曲线验证,结果如图6所示。图中的数据已经经过等比例变化,可见加速过程由加速起始点到加速结束点的工况曲线在初始设定的区域即区域一中,而且加速曲线末端紧贴一区和二区分界线。这说明如果加速速率大于此加速速率0.01 Nmax/s,则加速工况曲线必然会越过分界线到达二区。此外,利用该模块还可以计算任意初始转速和目标转速对应的最大加速速率。

图 6 加速运动工况 Fig. 6 Results of accelerating process
4 结 语

本文基于对喷水推进系统组成部件和船体运动学模型的分析,建立了喷水推进系统的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.