说明书一种海洋立管横向振动PD控制模拟方法
技术领域
本发明属于海洋输油立管安全生产领域,具体涉及一种海洋立管横向振动 PD控制模拟方法。
背景技术
海洋输油管道是海上油气集输的主要形式,具有连续、快捷、输送量大、 受气候影响小等优点。它连接着海洋油气田开发的上游和下游,是整个海洋油 气田开发中的生命线工程。目前海洋油气开发(特别是深水和超深水油气资源 勘探开发)已经成为世界油气开采的重点领域。海洋油气资源的安全生产对于 我国打造可持续能源和资源面积,维护国家经济安全具有重要意义。由于近海 油气生产的特点,海洋输油管道多采用裸露敷设,掩埋管线的海床受海水不断 冲刷,海底管线经常出现悬空。输油管道悬空段在海水涡旋激励的作用下,易 产生周期性振动。其中由振动引起的立管疲劳破坏是影响海洋输油安全的重要 原因,由此引起的原油泄漏,既给近海油气生产带来重大的经济损失,也给近 海海域的生态环境带来灾难性的破坏。对海洋石油资源进行开发利用,无论是 从实现节能减排目标,还是从能源需求、能源安全以及能源长远战略目标储备 上考量,都具有重要意义。
国内对海洋输油管道振动问题的研究还相对较少,主要集中在输油管道稳 定性分析、涡激振动分析等理论分析方面,尚无针对管道振动进行问题建模及 安全控制设计等方面的深入研究。
发明内容
为了克服现有技术存在的缺点与不足,本发明提供一种海洋立管横向振动 PD控制模拟方法。
本发明采用如下技术方案:
一种海洋立管横向振动PD控制模拟方法,包括如下步骤:
S1利用差分离散化方法,对PDEs方程进行离散化处理;
S2离散处理S1得到的数据,时间离散点每次运算7个,此离散迭代方法 记为F7;
S3在PC机上建立Matlab GUI界面,将第n次运算的7个差分运算结果用 plot函数画出,显示在界面窗口,同时将每次运算的7个差分运算结果由串口传 送到控制模块;
S4控制模块接收串口传输的数据,对数据进行标识符识别分类后,并判断 数据格式是否正确,若正确,则提取这组数据中的w(L/2,t)、w(L,t)储存,否则返 回数据,重新标识符分类,w(L/2,t)、w(L,t)分别指在t时刻海洋立管中部L/2位 移处和末端L位移处的振动偏移量,L为海洋立管的长度;
S5根据计算海洋立管中部横向振动速度及海洋立管末端横向振动速度设计 PD边界控制算法;
S6将PD控制算法转为电信号通过串口发回到PC机,PC机判断是否有信号, 若判断为有,加入控制信号,重复S1-S5,若判断为无,则进行n+1次的7个差 分运算即重复S3-S5,n为自然数,初始值为1。
所述PD边界控制算法如下:
其中:ht=T/nt为将仿真时间T进行nt,nt∈Z等分后每段的步长,k1,k2>0 是调试后选择的最优控制增益,w′(L,t′)分别是海洋立管振动的横向位移 函数w(x,t)在位置L处和时间t′=bht,b=1,2,3,…时关于位移x和时间t一阶偏导 数。
S2离散处理S1得到的数据,时间离散点每次运算7个,此离散迭代方法 记为F7;
S2.1初始化各个参数,建立4个矩阵,即2个临时储存矩阵Df,D1w和2个 存储矩阵DF,D1W;
S2.2当t=7n时,n初始值为1,的运算的结果存入Df,利用Df中的数值离 散计算w(x,t),得到D1w,同时将这2个矩阵里的值分别存入2个存储矩阵;
S2.3再由D1w算出柔性机械臂L处的值w(L,t)放入新建的D2w,此时得到了 整个柔性机械臂0到L处的状态,然后由函数plot画图在显示窗口显示;
S2.4将运算好的临时储存矩阵数据存入存储矩阵,将临时矩阵清零,然后 当判断到t=(n+1)×7时再继续以上3个步骤;
S2.5当判定t=Timeout时结束循环。
所述控制模块位于ARM板上。
所述Matlab GUI界面设置暂停按钮及流速输入窗口。
本发明的有益效果:
(1)本系统能实时模拟立管振动,在立管振动显示GUI界面设置了暂停 按钮,能够更方便观察立管振动的实时数据。且根据实际内流情况,可在GUI 界面上选择不同内流流速,以观察不同内流流速对立管振动的影响。
(2)实现了控制模块与立管振动显示模块的通信。串口数据能较快传送 到控制模块,同时保证较低的数据错误率。立管振动显示模块能及时接受控制 模块发出的控制信号并快速对控制信号响应。
附图说明
图1是本发明的工作流程图;
图2是本发明中Matlab GUI界面示意图。
具体实施方式
下面结合实施例及附图,对本发明作进一步地详细说明,但本发明的实施 方式不限于此。
实施例
如图1所示,一种海洋立管横向振动PD控制模拟方法,包括如下步骤:
S1利用差分离散化方法,对PDEs方程进行离散化处理,分为对海流干扰 f(x,t)的离散运算和立管数学方程式的离散运算,具体包括以下步骤:
S1.1对可导函数f(x),以步长h=Δx=(b-a)/N将x轴上的任意区间[a,b] (a,b∈R)等间距分割为N等分,所述N∈Z,N>0,在区间[a,b]上第i个格 点xi处(i=1,2,3,...,N)构造向后差值的泰勒展开式写为:
式中f(xi-h),f(xi+h)和f(xi)分别为在函数f(x)在位置xi-h,xi+h和xi处 的值,f′(xi),f″(xi),f″′(xi)为函数f(x)在位置xi处一阶、二阶和三阶导数值;
将上式合并,忽略h的平方和更高阶项得到一阶向后差分方程:
则对于具有两个参数的可导函数在{(x,t)|x∈[0,L],t∈[0,T],T>0}范 围内(L为海洋立管长度,T为仿真时间),将x和t分别等分为nx和nt份 (nx,nt∈Z),每份的步长分别为hx=L/nx和ht=T/nt,由上面式(3)容易得到的差分离散化分别为:
离散化后x=d1hx,t=d2ht,d1=1,2,…,nx,d2=1,2,…,nt,
式中分别为函数关于位移x和时间t的导数;
S1.2参照S1.1的向后差分法的步骤,根据式(4)可直接得到w′(x,t)和
式中w′(x,t),分别为海洋立管振动偏移量函数w(x,t)关于位移x和时 间t的导数;
S1.3将(5)带入海洋立管数学模型到海洋立管振动模型的差分方程组,利用 Matlab进行数值计算。
S2离散处理S1得到的数据,时间离散点每次运算7个,此离散迭代方法 记为F7;
S2.1初始化各个参数,建立4个矩阵,即2个临时储存矩阵Df,D1w和2个 存储矩阵DF,D1W
S2.2当t=7n时,n初始值为1,的运算的结果存入Df,利用Df中的数值离 散计算w(x,t),得到D1w,同时将这2个矩阵里的值分别存入2个存储矩阵;
S2.3再由D1w算出柔性机械臂L处的值w(L,t)放入新建的D2w,此时得到了 整个柔性机械臂0到L处的状态,然后由函数plot画图在显示窗口显示;
S2.4将运算好的临时储存矩阵数据存入存储矩阵,将临时矩阵清零,然后 当判断到t=(n+1)×7时再继续以上3个步骤,n为自然数。
S2.5当判定t=Timeout时结束循环。
S3在PC机上运用Matlab GUI编程模拟立管振动界面,将n次运算的7个 差分运算结果用plot函数画出,显示在界面窗口,同时将每次运算的7个差分 运算结果由串口传送到控制模块;如图2所示,GUI界面设置暂停按钮,也可 以在界面选择不同流速,观察对立管振动的影响。
PC机上的数据发送给控制模块,首先初始化串口,在一次F7运算后将所储 存的数据打包确保控制模块数据与立管显示同步;执行数据发送命令,发送立 管中部和顶端处的值w(500,t),w(1000,t)到ARM开发板;
S4控制模块接收串口传输的数据,对数据进行标识符识别分类后,并判断 数据格式是否正确,若正确,则提取这组数据中的w(L/2,t)、w(L,t)储存,否则返 回数据,重新标识符分类,w(L/2,t)、w(L,t)分别指在t时刻海洋立管中部L/2位 移处和末端L位移处的振动偏移量,L为海洋立管的长度,本实施例中的L取值 为1000米;
S5根据计算海洋立管中部横向振动速度及海洋立管末端横向振动速度设计 PD边界控制算法;
S6将PD控制算法转为电信号通过串口发回到PC机,PC机判断是否有信号, 若判断为有,加入控制信号,得到新的立管振动数据,重复S1-S5,若判断为无, 则进行n+1次的7个差分运算即重复S3-S5,将打包好的数据发送ARM开发板, 如此循环。n为自然数,初始值为1。
本发明实现了其数学模型解析和立管实时动态显示以及控制算法作用于立 管系统后的控制效果。
本发明模型解析部分主要利用差分离散方法,对偏微分方程进行离散化处 理,然后动态模拟立管振动;通过现有计算机和传感器技术采集立管振动的数 据:利用模型解析和PD边界控制的优势,直接从立管顶端获取相关数据,通过 串口通讯传输保证与控制模块之间数据通信;利用ARM开发板在Android系统 上实现立管模型数据监视和控制信号的发送。
本发明具体的实施过程如下:
1.连接
步骤1连接PC机的USB接口与ARM开发板的miniUSB口
步骤2连接COM口,ARM开发板上连接COM2,接转换线连PC机的USB 接口
步骤3连接ARM开发板的电源。
注意:打开电源,查看所占用的电脑COM口与程序里的COM口地址是否 一致。
查看所占用的电脑COM口:我的电脑右键→管理→设备管理器→COM口, 即可查看占用的是哪个COM口,对应程序里的COM口即可。
2.具体操作方式
步骤1启动Matlab,打开立管M文件,run;
步骤2进入立管仿真界面,选择海流流速如2m/s;
步骤3点击立管仿真界面开始按钮,模拟立管振动;
步骤4在ARM开发板上点击“liguanyiwei”图标,启动控制模块;
步骤5点击控制模块连接按钮。
加入控制信号:
步骤1启动立管仿真界面后,在立管顶端,靠近横坐0点时,点击接受控 制信号按钮;
步骤2选择控制模块上相应的控制算法;
步骤3点击控制模块上发送控制按钮;
步骤4点击立管仿真系统禁止控制按钮;
步骤5如要撤销控制作用,直接选择无控制,按上述步骤即可
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受所述实 施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、 替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。