System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及船舶动力系统仿真,特别涉及一种船舶操纵控制系统联合仿真方法及系统。
技术介绍
1、船舶操纵控制系统一般包括操舵液压、管路移水、控制等子系统,各子系统仿真主要依赖以下工具软件:
2、操舵液压:机械运动仿真adams(舵传动)、液压系统仿真amesim;
3、管路移水:一维流体仿真flowmaster;
4、控制系统:控制逻辑仿真simulink。
5、往往不同子系统负责人负责各自子系统独立仿真研究,现有也有将仿真模型通过fmu格式进行封装并导入到统一平台中,从而开展联合仿真,但fmu模型为黑盒模型,修改麻烦,且脱离原仿真软件平台运行,造成求解不准确、实时性不高等缺陷。
6、因此,现有技术急需一种能提高仿真效率的船舶动力系统仿真方法及系统。
技术实现思路
1、本专利技术要解决的技术问题是针对上述技术方案的不足,提供一种船舶操纵控制系统联合仿真方法及系统,用于提高船舶动力系统的仿真效率。
2、为了实现上述目的,根据本专利技术的一个方面,提供一种船舶操纵控制系统联合仿真方法,包括:
3、步骤s101、以simulink作为主模型分别构建操舵液压子系统、管路移水子系统和控制子系统;
4、步骤s103、为所述主模型、操舵液压子系统、管路移水子系统和控制子系统建立各自独立的dll库,其中所述dll库中包括与dds通信相关的功能的dds库;
5、步骤s105、所述主模型、操舵液压子
6、步骤s107、所述操舵液压子系统、管路移水子系统和控制子系统根据各自的仿真时间步长进行模型求解,并生成需要传输给其他子系统和/或主模型的数据;
7、步骤s109、基于dds协议,所述操舵液压子系统、管路移水子系统和控制子系统将各自数据发布到所述主模型的dds中心,其他订阅了相应数据的子系统及时接收数据,并进行相应的处理。
8、其中,所述步骤101包括:
9、所述操舵液压子系统至少包括以下组件,液压泵、液压阀、液压缸和第一传感器组;
10、所述管路移水子系统至少包括以下组件,管道、阀门、泵和水箱;
11、所述控制子系统包括以下组件,第二传感器组、pid控制器和执行器。
12、其中,所述步骤s103包括:
13、步骤s1031、为每个子系统实现为独立的 dll 库,其中包括与 dds 通信相关的功能的dds库;
14、步骤s1033、在每个 dll 库中,使用 dds 库提供的 api 来创建 dds 发布者和订阅者,以及定义相应的 dds 话题(topic)和数据类型。
15、步骤s1035、在 dll 库中,使用 dds api 将子系统的数据发布到相应的 dds 话题上,或者订阅其他子系统发布的数据;
16、步骤s1037、在主模型中,使用 dds 库提供的 api 创建 dds 发布者和订阅者,以及定义相应的 dds 话题和数据类型;订阅各子系统 dll 库发布的 dds 话题,接收其发布的数据,并使用 dds api 将数据发布到与各个子系统 dll 库关联的 dds 话题上,实现信息的传递和协调。
17、其中,在所述操舵液压子系统中,将液压压力和液压缸位移发布到相应的 dds 话题上,使用 dds api 中的发布函数;
18、在所述管路移水子系统中,订阅所述操舵液压子系统发布的 dds 话题,通过 ddsapi 中的订阅函数获取液压压力的数据,并计算流量以发布到相应的 dds 话题上;
19、在所述控制子系统中,订阅所述操舵液压子系统和所述管路移水子系统发布的dds 话题,通过 dds api 中的订阅函数获取液压压力、液压缸位移和阀门开度,经过控制算法处理后,将控制指令发布到相应的 dds 话题上。
20、其中,在主模型中,使用 dds api 创建 dds 发布者和订阅者,以及定义与 dll库中使用的 dds 话题和数据类型匹配的 dds 话题和数据类型;
21、在主模型中订阅 dll 库中发布的 dds 话题,通过 dds api 中的订阅函数获取相应的数据;
22、在主模型中,使用 dds api 中的发布函数将数据发布到与 dll 库关联的 dds话题上,以便其它子模型或 dll 库获取数据。
23、其中,所述步骤s105包括:
24、确定所述主模型、操舵液压子系统、管路移水子系统和控制子系统的输入和输出信号;
25、根据所述主模型、操舵液压子系统、管路移水子系统和控制子系统的功能和需求,明确定义每个子系统需要交换的数据类型、量纲和数据交换方式。
26、其中,所述数据交换方式包括批量数据交换、事件触发数据交换和数据流式交换。
27、其中,各子模型及主模型输入输出做如下定义:
28、所述操舵液压子系统的输入为控制指令(command)、传感器信号(sensor),输出为液压压力(pressure)、液压缸位移(displacement);
29、所述管路移水子系统的输入为液压压力(pressure)、阀门开度(valve_opening),输出为流量(flow);
30、所述控制子系统的输入为传感器信号(sensor)、参考信号(reference),输出为控制指令(command);
31、主模型的输入接口为command, sensor, reference,输出接口为pressure,displacement, flow。
32、其中,所述主模型中的数据交换和协调通过dds协议的发布-订阅机制实现,各个子模型之间的数据在dds话题上进行传递和共享。
33、根据本专利技术的另一方面,还包括,一种船舶操纵控制系统联合仿真系统,所述系统采用上述的一种船舶操纵控制系统联合仿真方法,该系统包括:
34、操舵液压子系统,其用于仿真操舵液压子系统的工作模型;
35、管路移水子系统,其用于仿真管路移水子系统的工作模型;
36、控制子系统,其用于仿真控制子系统的工作模型;
37、主模型平台,其以simulink作为主模型搭载上述子系统的工作模型,并通过dll库和dds机制进行仿真。
38、根据本专利技术的另一方面,还包括一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行上述的基于集总参数法的船舶动力系统仿真方法。
39、基于上述技术方案,本申请提供的一种船舶操纵控制系统联合仿真方法和系统,具有如下技术效果:
40、本专利技术解决了船舶操纵控制系统跨系统联合仿真实现难的问题,基于dds分布式通信的方式可以在不同客户端实现联合仿真,本文档来自技高网...
【技术保护点】
1.一种船舶操纵控制系统联合仿真方法,其特征在于: 包括以下步骤:
2.根据权利要求1所述的一种船舶操纵控制系统联合仿真方法,其特征在于, 其中所述步骤101包括:
3.根据权利要求1所述的一种船舶操纵控制系统联合仿真方法,其特征在于,所述步骤S103包括:
4.根据权利要求3所述的一种船舶操纵控制系统联合仿真方法,其特征在于,在所述操舵液压子系统中,将液压压力和液压缸位移发布到相应的 DDS 话题上,使用 DDS API 中的发布函数;
5.根据权利要求3所述的一种船舶操纵控制系统联合仿真方法,其特征在于,在主模型中,使用 DDS API 创建 DDS 发布者和订阅者,以及定义与 DLL 库中使用的 DDS 话题和数据类型匹配的 DDS 话题和数据类型;
6.根据权利要求1所述的一种船舶操纵控制系统联合仿真方法,其特征在于,所述步骤S105包括:
7.根据权利要求6所述的一种船舶操纵控制系统联合仿真方法,其特征在于,所述数据交换方式包括批量数据交换、事件触发数据交换和数据流式交换。
8.根据权利
9.根据权利要求1所述的一种船舶操纵控制系统联合仿真方法,其特征在于,所述主模型中的数据交换和协调通过DDS协议的发布-订阅机制实现,各个子模型之间的数据在DDS话题上进行传递和共享。
10.一种船舶操纵控制系统联合仿真系统,所述系统采用权利要求1-9任一项所述的一种船舶操纵控制系统联合仿真方法,该系统包括:
...【技术特征摘要】
1.一种船舶操纵控制系统联合仿真方法,其特征在于: 包括以下步骤:
2.根据权利要求1所述的一种船舶操纵控制系统联合仿真方法,其特征在于, 其中所述步骤101包括:
3.根据权利要求1所述的一种船舶操纵控制系统联合仿真方法,其特征在于,所述步骤s103包括:
4.根据权利要求3所述的一种船舶操纵控制系统联合仿真方法,其特征在于,在所述操舵液压子系统中,将液压压力和液压缸位移发布到相应的 dds 话题上,使用 dds api 中的发布函数;
5.根据权利要求3所述的一种船舶操纵控制系统联合仿真方法,其特征在于,在主模型中,使用 dds api 创建 dds 发布者和订阅者,以及定义与 dll 库中使用的 dds 话题和数据类型匹配的 dds 话题和数据类型;<...
【专利技术属性】
技术研发人员:胡迟,夏凯,施亚光,潘炎,李冠群,宫大鑫,方才华,张容川,
申请(专利权)人:中国船舶集团有限公司第七一九研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。