钻井模拟器钻进工艺模拟方法

文档序号:2569881阅读:457来源:国知局
专利名称:钻井模拟器钻进工艺模拟方法
技术领域
本发明涉及一种钻井模拟方法,特别是涉及一种钻井模拟器钻进工艺模拟方法。
背景技术
石油工业是一种技术密集型行业,钻井作业是石油工业拿储量、上产量的重要手段之一。由于石油钻井生产条件的限制和井下情况的复杂性,使石油钻井作业面临极大的风险。为了获得更好生产效率和经济效益,减少人为事故的发生,对钻井现场操作人员和工程技术人员的技术技能培训就显得十分重要。钻井过程的模拟处于钻井过程中的较为重要的一部分,所以钻井模拟器钻进工艺的模拟也是举足轻重。 目前,钻井操作培训主要在生产现场进行,由于各种条件和因素的制约,使培训内容受到极大的限制,培训的系统性、培训效果及培训人员数量等都受到极大的影响。

发明内容
本发明的目的即在于克服现有技术的缺点,提供一种基于计算机仿真技术的钻井模拟器钻进工艺的模拟方法,该方法参照钻井作业现场的实际操作流程,对钻进工艺的工作原理和操作方法进行逼真模拟,增强教学培训的现场感,縮短培训周期、提高培训效果、降低培训成本。 本发明的目的通过以下技术方案来实现钻井模拟器钻进工艺模拟方法,专门针对钻进工艺模拟的控制程序,按照以下步骤实现钻进工艺模拟
(1)读取前端设备的状态参数和操作指令; (2)根据获得的设备状态参数和操作指令类别以及预先建立的钻进工艺模型,计算出实现钻进工艺模拟动画的作业数据; (3)按照设定的数据格式与专门设置的图形处理单元通讯,交换初始化数据和作业数据,图形处理单元据此数据完成钻进工艺的动画展现; (4)按照设定的数据格式与图形处理单元通讯,交换钻进工艺动画状态信息;
(5)重复前述步骤(1) (4)。 钻进工艺模拟控制程序必须持续不断的与前端设备进行通信,以获取前端的设备状态以及获取培训学员的操作过程。这样做有以下几个原因 (1)实时获取前端硬件的设备状态后,经过钻进工艺模拟控制程序处理,可以驱动
图形处理单元产生与硬件设备操作同步的动画过程。比如在图形处理单元中,大钩的上升
和下降过程就是受前端绞车离合器,脚油门,刹把,离合器档位等部件的控制。
(2)实时获取的前端设备状态也是钻进工艺模拟控制程序中模拟数学模型的基础
数据。比如在钻进过程的模拟中,就需要获得钻盘转数、刹把状态,泥浆排量,泥浆密度等参数。 钻进工艺模拟的控制程序所计算出的钻进工艺参数也需要实时传输给前端设备,所以钻进工艺模拟的控制程序和前端设备之间的通信具备双向、高速和稳定的特性。
操作指令类别包括正常钻进及接立柱的操作指令、不同地层可钻性条件下的钻 进操作指令、憋跳下的钻进操作指令、高压地层钻进操作指令和低压地层钻进操作指令。
正常钻进及接立柱的操作的过程为开始本次作业,循环泥浆,轻压跑合,正常钻 进,接立柱,下放一定深度后,结束本次作业。 不同地层可钻性条件下的钻进操作的过程为开始本次作业,循环泥浆,轻压跑 合,在第一种地层钻进1米,在第二种地层钻进1米,在第三种地层钻进1米,提出钻柱,结 束本次作业。 憋跳下的钻进操作的过程为开始本次作业,正常钻进,如果未出现憋跳则正常钻 进,如果出现憋跳则上提钻柱,改变转速、钻压,下放钻进,判断憋跳是否减弱,若憋跳未减 弱则返回上提钻柱,循环至憋跳减弱,然后对憋跳段划眼,结束本次作业。 高压地层钻进操作的过程为开始本次作业,循环泥浆,正常钻进,判断是否出现 溢流,若未出现溢流则正常钻进,否则加大泥浆密度,继续钻进,接立柱,最后结束本次作 业。 低压地层钻进操作的过程为开始本次作业,循环泥浆,正常钻进,判断是否出现 漏失,若未出现漏失则正常钻进,否则加大泥浆密度,继续钻进,接立柱,最后结束本次作 业。 本发明所述的钻进工艺模拟必须建立在严格的数学模型基础上,这样才能使钻进 工艺模拟的各种参数符合实际现场的情况,才能达到良好的培训效果。 本发明所采用的钻进工艺模型包括喷嘴组合模型、钻头水功率模型、比水功率模 型、喷嘴等效比水功率模型、钻速速度模型、流体量模型、钻机起升系统动力学运动学数学 处理模型、刹车鼓摩擦力模型、钻头轴承或牙齿寿命模型、每米钻进成本模型、起下钻速度 判别模型、钻井泥浆密度选择范围模型和钻井液排量模型。模型使用的设备状态参数包括 初始状态参数和动态参数,初始状态参数包括钻头压降Pb、比钻压W、地层统计可钻性kd、 有效钻头比水功率H『实际或设计泥浆密度P 、刹车鼓摩擦力F^传动效率nff、井内最高 地层压力PP和井内最小地层破裂压力Pf ; 动态参数包括刹车鼓摩擦力F^提升速度Vp、某挡稳定起升角速度"。钻头总进 尺F、稠度系数K、、岩屑当量直径ds、井眼扩大系数P、屈服值、、塑性粘度ns、井底地层 压力Pp、井深h、井内易漏层破裂压力Pf、排量Q、喷嘴组合J、钻转速N和机械钻速V。
钻进工艺模型条件的假设 (1)钻井液环空携岩能力Lc > 0. 5 ;环空钻屑浓度Ca < 0. 09 ;环空流态稳定参数 值Z《井眼稳定值Z值。 (2)所用通用钻速方程是建立在地层统计可钻性的基础上的,它反映了不均质地 层可钻性的宏观规律。只要按《钻井手册(甲方)》选出相应的钻头类型,建立准确的地层 可钻性梯度公式,纳入设计的程序,即可得出符合实际的结果。 (3)波动压力的分析与计算是建立在刚性液柱(钻井液与井内管柱为不可压縮) 理论基础上的。
(4)钻井中发生溢流时,单位时间内进入环空的泥浆和气体形成的混气泥浆是均 匀混合的。在这种假设下,我们可以将单位体积的混和泥浆中的气体含量看成是相等的。
(5)发现溢流后,应及时停泵关井。在井内压力平衡前,地层气体仍然会不断地进
4入井内。因此,假设从停泵关井到关井稳定这段时间内,井内形成一段连续的纯气柱;且在
压井过程中,此连续气柱不被破坏。
(6)气体从地层中进入井筒符合达西定律。
(7)若进入井内的溢流为气体,则假设气体溢流在环空内上升时要膨胀,其膨胀过
程符合气体状态方程,且忽略气体滑脱现象。若进入井内的溢流为液体,则假设液体溢流在
上升过程中不发生膨胀和滑脱现象。
(8)电动机的输出功率按恒定值考虑。
(9)假设井内的地温梯度为一常数,则 井底压力=地温梯度X井深+井口温度。 (10)地层破裂压力梯度为一常数,则井内任一点的地层破裂压力为该点井深乘以 地层破裂压力梯度。
(11)通用钻速方程式在假设影响钻速的钻压指数、转速指数、水力参数、钻井液密 度差与地层宏观性等这些单因素是互不影响的独立变量的基础上建立起来的函数关系。
由于本模型主要用于模拟培训,因此,在计算时间、计算精度和和准确度发生冲突 时,原则上以保时间为主,而将过分复杂的数学模型进行了适当简化,但保证定性方面的准 确性。
建立的钻进工艺模型包括
—、喷嘴组合设计模型 喷嘴组合级差多大合适, 一般采用直径比q = (0. 5-0. 8)进行组合
双喷嘴



g《
+《
三喷嘴d。
:J,=
《《
:7
《2《
单喷嘴J = de
双等径A
J2 =
义 三等径^ = >/2 = ^

二、钻头水功模型,比水功率模型及喷嘴等效比水功率模型
Nb = PbQ
1
L =
OD2 /4)
,4 + " + ^ 《'=3iVtz z " 式中Nb—钻头水功率,瓦 Pb—钻头压降,千帕 Q—排量,升/秒
5
Nc—钻头比水功率,瓦/毫米2 D—钻头直径,毫米 Nee—喷嘴有效比水功率,瓦/毫米2 J" J2, J3-喷嘴组合,毫米 三、钻速方程模型 f二--承r7 */(^L15)
5.5076a6tf0.01Q26c 式中 a—钻压指数(a = 0. 5366+0. 1993kd) b—转速指数(b = 0. 9250-0. 0375kd) c—地层压力指数(c = 0. 7011-0. 05682kd) d—钻井液密度差系数(d = 0. 97673kd_7. 2703) kd—地层统计可钻性(kd = EH+F(E, F回归系数)) W—比钻压(KN/mm) N—转速(rpm) HH—有效钻头比水功率(kw/mm2) p —实际或设计泥浆密度(g/cm3) V—机械钻速(m/h) 四、管柱在充满流体的井内运动,关泵工况下进入管柱内的流体量模型 开口管柱以速度Vp在井内运动时,管柱单位时间排开的流体一部分进入环空,一
部分进入管柱内,则单位时间钻柱下入井内时排开的流体量为0 二;r(《-《)^/4
r平=(《-《妙/(Z)2 -《)-40 /[一 -《)] (l-i) 式中Vp--管柱运动速度,米/秒 D, d。, di—分别为井眼直径,钻柱外径和钻柱内径,米 V¥ —环空平均流速,米/秒 式(1-1)中的Qi是未知数,可用试算法求解,解法如下 用任一Qi值代入式(l-l),求得环空流速,并由F, =42,/(;^,2)求得管柱内泥浆流速。 用 和、分别计算环空压降L和管柱内压降Pw。只有当L = Pu时,管柱底
部的压力才能平衡,管柱排开的流体才能分成两路流动。否则,会出现压差,泥浆只向一边 流动,与计算前提矛盾。 如果P^^ P^重复上述计算,直到满足上述条件为止。这要经过多次试算才能完 成。 五、钻机起升系统动力学运动学数学处理模型 在起升钻柱以前首先启动柴油机让它空转,挂上柴油机和绞车总离合器以后,全 部转动件处于转动状态。起升操作开始时,柴油机转速较低,首先挂合绞车离合器,过1-2秒钟以后,绞车滚轴才开始转动,滚轴巻缠钢绳,游动系统开始提升大钩载荷。等到离合器 完全挂合后再加速柴油机,使滚筒加速旋转一直达到该挡稳定巻扬的转速。到起升一立根 行程接近完了时即摘开离合器,同时用带刹车将滚筒刹住,起钻完成。 在柴油机运转的情况下,将绞车离合器拨到相应的位置,即可开始起钻、下钻或强 行下入操作。当起钻到一定的位置,将离合器摘到离开位置,同时压下刹把,钻柱即可停止 运动。 滚筒扭矩变化趋势及角速度的变化关系,滚筒轴的启动和加速过程可分为
(1)静止段0A,时间tA = t。 (2)启动段AB,时间^ ;0AB连起来称为离合器挂合段,时间tB = t。+^
(3)同时加速段BC,时间t2 ;0ABC连起来为全部加速段,时间
te = t。+t,t2 根据上述分析,下面我们对滚筒扭矩、绞车拉力及大钩拉力进行讨论。为方便起 见,现将柴油机驱动绞车的扭矩和速度图的加速度段AC加以简化
在0A段,于0点挂合离合器,绞车离合器处于全打滑状态c 基本上随时间t线性增加,当达到A点时,MA = M^所以
离合器的传递扭矩M
=
M









J CM
2M
CM

因为在这一阶段,大钩静止不动,所以大钩拉力为
Tt0A = VFf (0《t《t0)
式中M,—绞车滚筒轴的静阻力扭矩,千牛顿.米; t。 = M,/K" &由气胎离合器特性决定的比例系数; T。一钻柱自重,千牛顿; P。A—OA段快绳拉力,千牛顿;
Ff—井内泥浆产生的浮力,千牛顿。
在AB段,离合器从全打滑状态过渡到半打滑状态,到B点时完全挂合。故 M旭=& (t-t。)+M静


r 二
.Q (t0《t《tB)

式中J2-从动件换算到滚筒轴上的折合惯量,千牛顿米秒
7i静1 V"21^(71、1.
"c—某挡稳定起升角速度,l/秒
Z—有效绳数 Gtt —大钩、游车、吊环、吊卡等游动件重量,千牛顿 n.游一游动系统效率 在BC段中,主动角速度"工较低,应及时在B点将柴油机加速,使全部起升系统部 件加速。当加速时,从动件全部质量要求以最大加速度aK运行,在K点滚筒轴上产生了最 大的惯性力矩M,,离合器传递的扭矩M达到最大值。即 "
<formula>formula see original document page 8</formula>0114] BK段扭矩为MBK = & (t-t。)十M静
0115] 大钩拉力为TtBK = 2ZMBK n游/D筒-G游
0116] tK = (MK-M静)/Vt。
0117] 在KC段,由于aK减小,M惯减小。当达到匀速段起点C时,aK
<formula>formula see original document page 8</formula>0119] 0120]
0121]
0122]
米.秒 0123] 0124]
大钩拉力为TtKC = 2ZMKC n游/D筒-G游(tK《t《tc)
国外有人推荐起升加速度时间计算为
M ,
式中Jf-传动装置全部转动部分和运动的钻柱折合到滚筒轴的惯性矩,千牛顿
M3-大钩负荷在滚筒上产生的扭矩,千牛顿米
Y .—取决于绞车主离合器被动部分在加速和停止运动的最后阶段转速比系数 钻井绞车可取Y n = 1. 85)
0125] 在匀速CD段,设提升速度为Vp,动力机输入功率为Nd,由能』 Nd= (VG游)Vn
:守恒 <formula>formula see original document page 8</formula>
0128] 0129] 0130] 0131] 0132] 0133] 0134]

式中Vp—提升速度,米 Nd-输入功率,千瓦
n —绞车及游动系统总效率
六、刹车鼓摩擦力模型
在钻进工艺模拟过程中,为了使刹车形象逼真,故对刹车进行一定的分析 刹带两端的拉力
以单杠杆刹车为例,设刹带两端的总拉力(两条带上拉力之和)为t,固定端总拉力为T,当这一柔性刹带抱住刹车鼓一个a角而摩擦时,则有下列关系
T = e"at 式中ii 一刹车块与刹车鼓之间的摩擦系数,一般取O. 35-0. 45(有的特种材料的 摩擦片其P可高达0.5) a —刹车围抱角,一般为1.5ji (270° )有的刹带可围抱330°
在整个刹带的弧长上,刹带拉力由T递减为t,其差值为摩擦力或制动力Fffl : Fffl= T-t = t(e"-l) .../=_51_或7^5^
刹车杠杆受力分析
刹车杠杆指刹把、曲拐轴、曲拐连杆等机构,其作用是将刹把上的操作力放大若干 倍以满足刹住重载时刹带活动端总拉力t的需要。设刹把力为p(铅直方向),刹把长度为
l,曲拐臂长为r,则


Pcos aln杆tsin(a+P)r




/ cosax77杆 尸=尸制rsin("+历
式中P-刹把力,千牛顿
F^—刹车鼓摩擦力,千牛顿
n杆一传动效率,一般取n杆=o. 9_i. oo
r, l一曲拐臂长及刹把长度,米
七、钻头轴承或牙齿寿命模型
当地层研磨系数Af《4时,由轴承决定钻头使用时间Tr— 7
7V*(D6*『/9.8)S 式中Bf—轴承磨值 Db—钻头直径(mm) B—轴承工作系数, 一般S = 1. 5,由现场资料确定不同类型钻头的B值。 当Af > 4时,由牙齿决定钻头使用寿命T
4*翠+4-35*10 W) 2 〃 式中P—《钻井手册》第821页中表7-36中查得(对镶齿钻头P = 0. 5)
P。一临界比钻压(KN/mm) P。 = D2/ (D^Dj
Dp D2-由《钻井手册(甲方)》第821页中表7-37查得
9:0161: :oi62: :oi63:
:oi64:
:oi65: :oi66: :oi67: :oi68: :oi69: :0170: :oi7i: :oi72: :oi73: :0174: :oi75: :oi76: :oi77: :oi78: :oi79: :0180: :0181: :oi82: :oi83: :oi84: :oi85: :oi86: :oi87: :oi88: :oi89:<formula>formula see original document page 10</formula>
Hf—牙齿实际磨损值,为磨损时Hf = O,磨秃时Hf = 1 Q—《钻井手册》表7-36中所列的值(镶齿钻头Q = 2)
八、 每米钻进成本模型
e=G+G(r+rr) — f
式中Cb—钻头费(元/只)
Cr—钻机作业费(元/hr)
TT—起下钻循环钻井液和接单根时间(TT = 0. 004H+4) (hr) F—钻头总进尺(F = V*T) (m)
九、 起下钻速度判别模型 井涌判别条件
为使起钻过程中地层流体不进入井内,必须有 9. 8 P H-Psw > PP
若上式满足条件,则起钻速度合适;若上式不满足,则起钻速度过大。 井漏判别条件
为了下钻不至于压漏井内地层,应满足以下条件 9. 8 P H+Psw《Pf
若上式成立,则下钻速度合适;若上式不满足,则下钻速度过大。 式中H—最高压力或最小破裂压力地层所在井深 米 Pp—井内最高地层压力 千帕 Pf-井内最小地层破裂压力 千帕 十、钻井泥浆密度选择范围模型
1、 平衡地层压力所需的最小钻井泥浆密度 Pmin = PP/(9. 8H)
2、 不压漏地层确定的最大钻井泥浆密度 Pmax = Pf/(9. 8h)
式中Pp—井底地层压力 千帕 H—井深 米
Pf—井内易漏层破裂压力 千帕 h—易漏层所在井深 米
为提高钻井速度,降低钻井成本,保护产层,达到快速安全钻井的目的,钻井泥浆
密度应在选择范围之内尽可能接近最小泥浆密度'
<formula>formula see original document page 10</formula>十一、钻井液排量 由井壁稳定条件确定最大允许排3
<formula>formula see original document page 10</formula>[,4]幂律模式5 二o腦[ ]
<formula>formula see original document page 11</formula>
由井底净化和携带岩屑确定最小排量 幂律流体
<formula>formula see original document page 11</formula>
宾汉流体,—1/3 1/3
...Q誦=*(D2 — A".K画隱*10" (Vcmin = Va, Q迈in = Qa) 式中K一稠度系数 帕/秒11 n—流性指数 4—岩屑当量直径 毫米 |3 —井眼扩大系数,取1. 1-1. 2 D—井眼直径 毫米 di—钻具外径 毫米 V—环空流速 米/秒 p —钻井液密度,克/厘米3 t 。一屈服值,帕 ns—塑性粘度,帕.秒 Q—排量,升/秒 在保证井壁稳定和井底净化条件约束下,排量选择范围 Q隨^Q^Qmin 所选机泵排量应尽量接近(L,,以防止钻进工艺中满足上述条件的排量Q超过泵
的额定排量Qr。 钻进工艺模拟控制程序与图形处理单元的通信通过广泛使用TCP/IP协议进行。 钻进工艺模拟控制程序将通过数据处理得到的与图形有关的数据发向图形处理单元,这些 数据包括起下钻速度、转盘转速、控制图形各种动作的信号;压井中的钻井液颜色、气柱 长度等。这样就能够把钻进工艺流程中的各种动作以及钻井现场各种设备的状态、空间位 置等控制信号和数据准确的发给图形单元,使图形能迅速、准确地反映前端操作者的各种 动作。钻进工艺模拟控制程序与图形处理单元通信的数据格式如下
(1)钻进工艺模拟控制程序发送给图形处理单元的初始化及作业数据格式
{




struct
unsigned short state ;〃0 :表示初始数据,l :表示作业数据 unsigned short dl ;//表示动作指令
float d2 ;〃在初始状态下表示吊环下平面离钻台平面高度,在作业
状态下表示物体上下的速度(单位m/s,可正可负) float d3 ;〃在初始状态下表示井深,在作业状态下表示顶驱旋转速
度(单位r/min,可正可负) unsigned short d4 ;〃在初始状态下表示井下钻杆数量(单位根),
在作业状态下表示吊环前/后倾斜角度(单位度,可正可负) unsigned short d5 ;〃在初始状态下表示大钩下挂钻杆数量(注意
如果d5有值,则d4的值没有意义),在作业状态下表示吊环旋转角度(单位度,可正可负)unsigned short d6 ^〃在初始状态下表示立杆盒钻杆数量(单位:
柱)unsigned short d7 ^//'在初始状态下表示井下钻挺数量(单位根)unsigned short d8 ^〃在初始状态下表示立杆盒钻挺数量(单位:
柱)unsigned short d9 ^//'在初始状态下表示本次作业是否为压井作业unsigned short dlO ^/7在初始状态下表示钻杆上是否有3根打捞线}data ;struct{floatJS ;〃井深floatgaslengthl ;〃溢流气体长度
floatgasheightl ;〃溢流气体底部距井底高度
floatgaslength2 ;〃在现有的作业中无用,保留
floatgasheight2 ;〃在现有的作业中无用,保留
floathkkillmudlength〃环空内压井泥浆长度floathkkillmudheight〃环空内压井泥浆距井底高度floathkovermudlength〃环空内重泥浆长度floathkovermudhe i ght〃环空内重泥浆距井底高度floatzzkillmudlength〃钻柱内压井泥浆长度floatzzkillmudheight〃钻柱内压井泥浆距井口高度floatzzovermudlength〃钻柱内重泥浆长度floatzzovermudheight〃钻柱内重泥浆距井口高度unsigned short JingKongFlag ;〃在初始状态下表示本次作业是否为压井作业皿digned short fireflag ;〃点火+示志}jk
12
}; (2)图形处理单元发送给钻进工艺模拟控制程序的数据格式 union JSRevTUData {structfloat dl;〃大钩高度float d2;〃大钩速度unsignedshort d3 ^//每个动作绘制完成标记unsignedshort d4 ^//半封状态,0表示关,1表示中间状态,2表示开unsignedshort d5 ^//全封状态,0表示关,1表示中间状态,2表示开unsignedshort d6 ;//环形状态,0表示关,1表示中间状态,2表示开unsignedshort d7 ^//小鼠洞是否有杆,O表示无杆,1表示有杆unsignedshort d8 ;//吊环下挂物体是否在钻台平面下,o表示在下面,
1表示在上面}data ; }; 由于系统规模较大,设计复杂,图形绘制程序的设计是基于面向对象的。鉴于在钻 进工艺模拟中涉及到的物体较多,并且各个物体在不同的方面有不同的特性,因此在设计 之前,应确定设计类的准则。对本发明而言,这里关心的是用物体如何展现工艺流程,所以 类的设计应该围绕物体的动画功能需要来进行,而所涉及到的图形处理单元包括图形绘制 程序和视景仿真控制程序。 其中,图形绘制程序主要包括设备类图形绘制、粒子类图形绘制、管理类图形绘制 和工艺动画绘制,视景仿真控制程序主要包括场景初始化、工艺动画控制、碰撞处理和特效 渲染。类的设计包括
(1)设备类 钻进工艺模拟中涉及到动画的物体具有一些相同的特点,例如每个物体都具有 场景坐标、旋转角度等特点,就将各个类中的相同属性和方法抽象出来集成为类Device。 类Device是一个父类,它向子类提供了一些公共属性和方法。就属性而言,类Device的 属性中除了场景坐标、旋转角度、上升速度之外、还应有ID, Device, pre0bject、 Device. sub0bject等属性。其中ID是用来标志物体类型,由于钻井模拟中动画涉及的物体类型 较多,利用ID可以方便查找物体的类型。而属性Device, pre0bject、 Device. subObject 可以为查找某物体的前后物体带来便利。另外,类Device还应该具有公共方法,钻井中 的物体都具有旋转、移动等动作,因此方法中必定有移动方法MoveDevice()和旋转方法 RotateDevice()。鉴于所有物体都要以三维图形在计算机上显示出来,因此还应有物体的 绘制方法,即Draw()。
(2)粒子类 钻进工艺模拟中模拟微观事物具有多样性,因此设计了粒子类,在系统设计中把 粒子系统抽象为一个类,命名为Particle。与Device相同Particle是为完成粒子模拟功能中所设计的父类。父类Particle的属性有粒子分别在XYZ坐标轴上的位置以及坐标轴 上的位置增量,还有粒子生命状态。而Particle的子类有Fire类、Gas类和Blowout类。 Fire类主要用于火焰燃烧效果的模拟;Gas类主要用于正常钻进过程中钻到气层时,气体 溢出的模拟;Blowout类主要用于发生井喷时,井口泥浆喷涌的效果模拟。
(3) Shader管理类 Shader的使用是通过调用OpenGL API中的函数,这个函数让Shader的应用可 以直接与OpenGL驱动相连接,它是存储一个OpenGL着色片段不可缺少的数据结构。这 些数据结构被称为着色对象(Shader Object)。在一个着色对象创建好后,应用程序通过 调用glShaderSourceARB把着色代码提供给着色对象。为了有效的使用和管理编写好的 Shader,在设计过程中专门设计了 GLShader类。这个类主要用来设定Shader对象,读入编 写好的Vertex文件和Fragment文件,读入参数类型和参数值,读入纹理信息,Shader的使 用和删除等。GLShader类的设计能使Shader的使用更为有效,提高了 Shader使用的灵活 性和可重用性。 视景仿真控制程序主要完成以下工作
(1)场景初始化 —个新的作业开始前,图形处理单元在接收到钻井模拟器钻进工艺模拟控制程序 发出的作业指令后初始化当前场景,例如钻井平台上各操作部件当前的数量、状态以及位置。 (2)工艺动画控制 将与钻进模拟器钻进工艺控制程序相互通信得到的参数及数据进行处理,体现出 钻台上各种控制系统的运动参数、具体动作、视图选择(包括上视角、井下视角、防喷器视 角、多视图显示等)等。
(3)碰撞处理 在三维图形的运动仿真过程中是不允许有"穿墙而过"的状况发生的,因此要对运
动物体作碰撞检测的处理。为了遵循模型运动的真实感,视景仿真控制程序包括碰撞的检
测与处理部分。
(4)特效渲染 实现对火焰、气泡、液体喷涌效果的模拟,使用GLSL实现电影级的光照效果,可以
分别模拟白天,夜晚,探照灯等光照模式,大大地提高了图形效果和真实感。 本发明的有益效果是提供了钻井模拟器钻进工艺的模拟方法,即参照钻井作业
现场的实际操作流程,对钻进工艺的工作原理和操作方法进行逼真模拟,增强了教学培训
的现场感,縮短了培训周期、提高了培训效果、降低了培训成本。


图1钻井模拟器的组成结构图 图2钻进工艺模拟控制程序组成框图 图3钻进工艺模拟程序流程图 图4钻进工艺模拟控制程序与前端设备通信框图 图5正常钻进及接立柱流程图
14
图6不同地层可钻性条件下的钻进流程图 图7憋跳下的钻进流程图 图8高压地层钻进流程图 图9低压地层钻进流程图 图10图形处理单元的组成框图 图11设备类及其部分子类的结构 图12粒子类及其部分子类的结构 图13Shader在0PENGL中的执行过程 图14设备类、粒子类和Shader管理类之间的调用关系
具体实施例方式
下面通过实施例进一步描述本发明的技术方案,本发明不限于所述实施例。
为了实施本发明所述的技术方案,构建了一个钻井模拟系统,如图l,它包括主控 计算机、图形处理计算机、前端设备和投影系统,主控计算机和图形处理计算机通过TCP/IP 互联,前端设备与主控计算机通过Siemens PPI协议互联,图形处理计算机连接投影系统, 主控计算机上运行钻进工艺模拟控制程序,图形处理计算机运行图形处理程序(即为图形 处理单元),前端设备包括节流管汇、高压管汇、防喷器控制台、阻流器控制台、远程控制台 和司钻控制台,投影系统包括两台投影仪和一个大尺寸屏幕。 如图2是钻进工艺模拟控制程序的组成,钻进工艺模拟控制程序包括与前端硬件 设备及图形处理单元通信的通信模块和钻进工艺模拟模块,与前端硬件设备通信是为了实 时获得硬件设备状态,比如在钻进工艺的模拟中,就需要获得钻盘转数、刹把状态,泥浆排 量,泥浆密度等参数,然后在内部通过相关数学模型,模拟钻进工艺过程,钻进工艺模拟包 括正常钻进及接立柱模拟、不同地层可钻性条件下的钻进模拟、憋跳下的钻进模拟、高压地 层钻进模拟和低压地层钻进模拟。钻进工艺模拟控制程序通过TCP/IP协议向图形处理单 元发送控制命令,驱动图形处理单元产生与硬件设备操作同步的动画过程,并将信号反馈 给前端硬件,使前端仪表参数的显示符合现场情况。 如图3,钻井模拟器钻进工艺模拟方法,钻进工艺模拟控制程序,按照以下步骤实 现钻进工艺模拟 (1)读取前端设备的状态参数和操作指令; (2)根据获得的设备状态参数和操作指令类别以及预先建立的钻进工艺模型,计 算出实现钻进工艺模拟动画的作业数据; (3)按照设定的数据格式与专门设置的图形处理单元通讯,交换初始化数据和作
业数据,图形处理单元据此数据完成钻进工艺的动画展现; (4)按照设定的数据格式与图形处理单元通讯,交换动画状态信息; (5)重复前述步骤(1) (4)。 由于前端设备采用PLC进行控制和处理,因此在系统中采用通用的0PC技术实现 通信过程。 钻井模拟系统中,0PC服务器使用西门子公司提供的S7-200 OPC Server。并且在 西门子公司提供的PC Access软件中建立OPC服务器和需要访问的PLC硬件系统存储单元
15的映射关系。 在钻进工艺模拟的控制程序中实现OPC客户端功能。利用支持0++ Builder的 I0C0MP组件能够轻松建立客户端和服务器的通信过程。 如图4是钻进工艺模拟控制程序与前端设备通信框图。该通信框图包括0PC客 户机,OPC服务器和PLC系统,其中OPC客户机通过OPC接口与OPC服务器连接,OPC服务器 通过PPI电缆与PLC系统连接和通讯。 操作指令类别主要包括正常钻进及接立柱的操作指令、不同地层可钻性条件下 的钻进操作指令、憋跳下的钻进操作指令、高压地层钻进操作指令和低压地层钻进操作指 令。 如图5是正常钻进及接立柱流程图,其工作流程大致可描述为开始本次作业,循 环泥浆,轻压跑合,正常钻井,接立柱,下放一定深度后,结束本次作业。 如图6是不同地层可钻性条件下的钻进流程图,其工作流程大致可描述为开始 本次作业,循环泥浆,轻压跑合,在第一种地层钻进1米,在第二种地层钻进1米,在第三种 地层钻进1米,提出钻柱,结束本次作业。 如图7是憋跳下的钻进流程图,其工作流程大致可描述为开始本次作业,正常钻 进,如果未出现憋跳则正常钻进,如果出现憋跳则上提钻柱,改变转速、钻压,下放钻进,判 断憋跳是否减弱,若憋跳未减弱则返回上提钻柱,循环至憋跳减弱,然后对憋跳段划眼,结 束本次作业。 如图8是高压地层钻进流程图,其工作流程大致可描述为开始本次作业,循环 泥浆,正常钻进,判断是否出现溢流,若未出现溢流则正常钻进,否则加大泥浆密度,继续钻 进,接立柱,最后结束本次作业。 如图9是低压地层钻进流程图,其工作流程大致可描述为开始本次作业,循环 泥浆,正常钻进,判断是否出现漏失,若未出现漏失则正常钻进,否则加大泥浆密度,继续钻 进,接立柱,最后结束本次作业。 本发明所述的钻进工艺模拟必须建立在严格的数学模型基础上,这样才能使钻进 工艺模拟的各种参数符合实际现场的情况,才能达到良好的培训效果。 本发明所采用的钻进工艺模型包括喷嘴组合模型、钻头水功率模型、比水功率模 型、喷嘴等效比水功率模型、钻速速度模型、流体量模型、钻机起升系统动力学运动学数学 处理模型、刹车鼓摩擦力模型、钻头轴承或牙齿寿命模型、每米钻进成本模型、起下钻速度 判别模型、钻井泥浆密度选择范围模型和钻井液排量模型。模型使用的设备状态参数包括 初始状态参数和动态参数。 初始状态参数包括钻头压降Pb、比钻压W、地层统计可钻性kd、有效钻头比水功率
H『实际或设计泥浆密度P 、刹车鼓摩擦力F^、传动效率n杆、井内最高地层压力Pp和井内 最小地层破裂压力Pf。
动态参数包括刹车鼓摩擦力F^提升速度Vp、某挡稳定起升角速度"。钻头总进 尺F、稠度系数K、、岩屑当量直径ds、井眼扩大系数P、屈服值、、塑性粘度ns、井底地层 压力Pp、井深h、井内易漏层破裂压力Pf、排量Q、喷嘴组合J、钻转速N和机械钻速V。
如图10是图形处理单元的组成框图,它包括一个全三维实体模型库、图形绘制程 序和视景仿真控制程序。
16
建立一个完美的模型,是钻井模拟系统真实感体现最为重要的元素,钻井模拟系 统中虚拟环境的实现过程基本分为三步第一步是几何建模,主要包括用多边形或三角形 构成对象的立体外形;第二步是物理建模,主要包括对几何建模的结果进行纹理、颜色、光 照等处理;第三步是具体程序控制,主要通过运动建模的方法实现虚拟环境下的物体运动 模拟。前两步是虚拟场景的构建过程,第三步则是运动建模。 几何建模是开发虚拟现实系统中最基本、最重要的工作之一。虚拟环境中的几何 模型是物体几何信息的表示,涉及表示几何信息的数据结构、相关的构造与操纵该数据结 构的算法。虚拟环境中的每个物体包含形状和外观两个方面。物体的形状由构造物体的各 个多边形、三角形和顶点来确定,物体的外观则由表面纹理、颜色、光照系数等来决定。因 此,用于存储虚拟环境中几何模型的模型文件应该能够提供以上信息,同时还要满足虚拟 建模技术的三个常用指标交互显示能力、交互式操纵能力、易于构造的能力对虚拟对象模 型的要求。 几何建模技术分为体素和结构两个方面。体素用来构造物体的原子单位,体素的 选取决定了建模系统所能构造的对象范围。结构用来决定体素如何组成新的对象。
物理建模指的是虚拟对象的质量、重量、惯性、表面纹理、硬度、变形模式等特征的 建模,这些特征与几何建模和行为法则相融合,形成一个更具真实感的虚拟环境。物理建模 是虚拟现实系统中比较高层次的建模,它需要物理学与计算机图形学配合,涉及到力的反 馈问题,主要是重量建模、表面形变和软硬度等物体属性的体现。 在虚拟环境中,物体的特性还涉及到位置改变、碰撞、捕获、縮放和表面变形等,仅 仅建立静态三位几何体对虚拟现实系统是不够的。 对象位置包括对象的移动、旋转和縮放。在虚拟现实系统中,不仅要涉及到绝对的 坐标系统,还要涉及到每个对象相对的坐标系统。碰撞检测是VR技术的重要技术,它在运 动建模中经常使用,例如虚拟环境中,人不能穿墙而过。碰撞检测技术是虚拟环境中对象与 对象之间碰撞的一种识别技术。为了节省系统开销,在钻井模拟系统系统中采用矩形边界 检测方法。 本实施例中用三维建模工具3ds max建立所有设备的模型,将3ds max所绘制 的模型导入到实时3D环境虚拟实境编辑软件Virtools中,根据设备的物理特性配置 Virtools中模型的所有特性,使用Virtools控制模型的运动和显示,在初始状态下可以实 现全场景的漫游,搭建Cave环境实现全三维仿真。 图形绘制程序的设计是面向对象的,本发明将钻进工艺模拟中涉及到的对象分为 三类设备类图、粒子类和shader管理类。 系统中涉及到动画的物体具有一些相同的特点,例如每个物体都具有场景坐标、 旋转角度等特点,于是就可以将各个类中的相同属性和方法抽象出来集成为类Device。 类Device是一个父类,它向子类提供了一些公共属性和方法。就属性而言,类Device的 属性中除了场景坐标、旋转角度、上升速度之外、还应有ID, Device. preObject、 Device. sub0bject等属性。其中ID是用来标志物体类型,由于钻井模拟系统中图形程序中动画涉 及的物体类型较多,利用ID可以方便查找物体的类型。而属性Device. pre0bject、Device. subObject可以为查找某物体的前后物体带来便利。另外,类Device还应该具有公共方法, 起钻中的物体都具有旋转、移动等动作,因此方法中必定有移动方法MoveDevice()和旋转方法RotateDevice()。鉴于所有物体都要以三维图形在计算机上显示出来,因此还应有物 体的绘制方法,即Draw()。根据分析,从父类派生下来的是大钩、液压大钳等子类,它们不仅 继承了父类的公有属性和方法,还具有自己的属性和方法。例如大钩就有SetState()这个 方法以设置大钩当前的状态。 图11是钻进工艺过程中涉及到的设备类及其部分子类。 由于系统模拟微观事物的多样性,粒子系统的使用在整个系统中也有较高的重用 性,因此设计了粒子类。 图12展示了粒子类及其子类。在系统设计中把粒子系统抽象为一个类,命名为 Particle。与Device相同Particle是为完成粒子模拟功能中所设计的父类。父类Particle 的属性有粒子分别在XYZ坐标轴上的位置以及坐标轴上的位置增量,还有粒子生命状态。 而Particle的子类有Fire类、Gas类和Blowout类。Fire类主要用于火焰燃烧效果的模 拟;Gas类主要用于正常钻进过程中钻到气层时,气体溢出的模拟;Blowout类主要用于发 生井喷时,井口泥浆喷涌的效果模拟。这些子类还分别有自己的属性,例如粒子大小、大小 增量、颜色分量R/G/B等。 Particle类的方法主要是Init() 、 Draw(),用于对粒子的初始化和绘制,而子类 中引入了继承结构中的多态性概念。由于Fire、 Gas、 Blowout粒子系统采用的数学模型不 同,所以各自的绘制方法都不尽相同,每个子类都有自己的初始化状态和绘制方法。除了共 有的Init () 、 Draw()方法,每个子类有自己的私有方法,例如Fire类就有计算尾焰、向量 计算等方法。 OpenGL是目前跨平台最广泛的三维图形引擎,它在真实感图形制作上的优秀性能
使之成为诸大公司的图形标准,所以OpenGL成为新一代的三维图形工业标准。 图13说明了 Shader在0penGL中的执行过程,Shader的使用是通过调用
OpenGLAPI中的函数。0penGL提供了一个新的函数glCreateShaderOb jeetARB,这个函数让
Shader的应用可以直接与0penGL驱动相连接,它是存储一个0penGL着色片段不可缺少的
数据结构。这些数据结构被称为着色对象(ShaderObject)。在一个着色对象创建好后,应
用程序通过调用glShaderSourceARB把着色代码提供给着色对象。 为了有效的使用和管理编写好的Shader,在设计过程中专门设计了 GLShader类。 这个类主要用来设定Shader对象,读入编写好的Vertex文件和Fragment文件,读入参数 类型和参数值,读入纹理信息,Shader的使用和删除等。GLShader类的设计能使Shader的 使用更为有效,提高了 Shader使用的灵活性和可重用性。 由于父类Device和Particle所有的属性和方法都是公有的,因此子类可以调用 父类的所有方法。鉴于子类较多,这里只给出父类间的调用关系,如图14所示。面向对象 的设计方法非常灵活,系统可以根据需要方便的添加新的类、属性和方法,对程序的扩展是 非常有利的。 视景仿真控制程序主要负责与钻进工艺模拟控制程序的通讯,获取实时动画的指 令和数据,对图形绘制程序发出作业指令完成实时动画的绘制,由于在三维图形的运动仿 真过程中是不允许有"穿墙而过"的状况发生的,所以视景仿真控制程序要对运动物体作 碰撞检测与处理,为了提高图形效果和真实感,采用渲染特效,模拟火焰、气泡、液体喷涌效 果,还使用GLSL实现电影级的光照效果,可以分别模拟白天,夜晚,探照灯等光照模式。
18
在作业开始后,由钻进工艺模拟控制程序发出指令让视角固定,也可以通过钻进 工艺模拟控制程序发出指令让图形分成三个部分进行分屏显示,钻进工艺模拟控制程序接 收来自前端操作者发出的各种指令及参数信息,并行数据处理。然后通过TCP/IP协议将数 据处理后得到的与图形有关的数据发向图形处理单元,这些数据包括起下钻速度、转盘转 速、控制图形各种动作的信号;压井中的钻井液颜色、气柱长度等,图形处理单元得到数据 后,做出具体反映,体现出钻台上各种控制系统的运动参数、具体动作、视图选择(包括上 视角、井下视角、防喷器视角、多视图显示等)等,并将一些设备状态参数和图形绘制完成 标记反馈回钻进工艺模拟控制程序。
图形处理单元与钻进工艺模拟控制程序之间通信的数据格式如下
钻进工艺模拟控制程序发送给图形处理单元的初始化及作业数据格式
union JSSendTUData { unsigned char buff[100]; struct { unsigned short state ;〃0 :表示初始数据,1 :表示作业数据 unsigned short dl ;〃表示云力作指令 float d2 ;〃在初始状态下表示吊环下平面离钻台平面高度,在作业状 态下表示物体上下的速度(单位m/s,可正可负) float d3 ;〃在初始状态下表示井深,在作业状态下表示顶驱旋转速度 (单位r/min,可正可负) unsigned short d4 ;〃在初始状态下表示井下钻杆数量(单位根),在 作业状态下表示吊环前/后倾斜角度(单位度,可正可负) unsigned short d5 ;〃在初始状态下表示大钩下挂钻杆数量(注意如 果d5有值,则d4的值没有意义),在作业状态下表示吊环旋转角度(单位度,可正可负) unsigned short d6 ;〃在初始状态下表示立杆盒钻杆数量(单位柱) unsigned short d7 ;〃在初始状态下表示井下钻挺数量(单位根) unsigned short d8 ;〃在初始状态下表示立杆盒钻挺数量(单位柱) unsigned short d9 ;〃在初始状态下表示本次作业是否为压井作业 unsigned short d10 ;〃在初始状态下表示钻杆上是否有3根打捞线 } data ; struct { float js ;//井f果 float gaslengthl ;〃溢流气体长度 float gasheightl ;〃溢流气体底部距井底高度 float gaslength2 ;〃在现有的作业中无用,保留 float gasheight2 ;〃在现有的作业中无用,保留 float hkkillmudlength ;〃环空内压井泥桨长度
19
float hkkillmudheight ;〃环空内压井泥浆距井底高度 float hkove丽dlength ;〃环空内重泥桨长度 float hkovermudheight ;〃环空内重泥桨距井底高度 float zzkillmudlength ;〃钻柱内压井泥浆长度 float zzkillmudheight ;〃钻柱内压井泥浆距井口高度 float zzovermudlength ;//钻柱内重泥奖长度 float zzovermudheight ;〃钻柱内重泥桨距井口高度 unsigned short JingKongFlag ;〃在初始状态下表示本次作业是否为
压井作业 皿digned short fireflag ;//点火标志
} jk ;
}; 图形处理单元发送给钻进工艺模拟控制程序的状态信息数据格式 union JSRevTUData {unsigned char buff[20] 5structfloat dl ;〃大钩高度float d2 ;〃大钩速度unsigned short d3 〃/每个动作绘制完成标记unsigned short d4 〃/半封状态,O表示关,l表示中间状态,2表示开unsigned short d5 〃/全封状态,0表示关,1表示中间状态,2表示开unsigned short d6 〃/环形状态,O表示关,l表示中间状态,2表示开unsigned short d7 〃/小鼠洞是否有杆,O表示无杆,1表示有杆unsigned short d8 ;//吊环下挂物体是否在钻台平面下,o表示在下面,
1表示在上面}data 5 }; 这样就把钻进工艺流程中的各种动作以及钻井现场各种设备的状态、空间位置等 控制信号和数据准确的发给图处理单元,使图形能迅速、准确地反映前端操作者的各种动 作,完成全三维实时钻进工艺的模拟。
权利要求
钻井模拟器钻进工艺模拟方法,其特征是专门针对钻进工艺模拟的控制程序,按照以下步骤实现钻进工艺模拟(1)读取前端设备的状态参数和操作指令;(2)根据获得的设备状态参数和操作指令类别以及预先建立的钻进工艺模型,计算出实现钻进工艺模拟动画的作业数据;(3)按照设定的数据格式与专门设置的图形处理单元通讯,交换初始化数据和作业数据,图形处理单元据此数据完成钻进工艺动画的展现;(4)按照设定的数据格式与图形处理单元通讯,交换钻进工艺动画状态信息;(5)重复前述步骤(1)~(4)。
2. 根据权利要求1所述的钻井模拟器钻进工艺模拟方法,其特征是所述的设备状态 参数包括初始状态参数和动态参数,其中,初始状态参数包括钻头压降Pb、比钻压W、地层统 计可钻性kd、有效钻头比水功率H『实际或设计泥浆密度P 、刹车鼓摩擦力F^、传动效率n杆、井内最高地层压力PP和井内最小地层破裂压力Pf ;动态参数包括刹车鼓摩擦力F^提升速度Vp、某挡稳定起升角速度co。钻头总进尺 F、稠度系数K、、岩屑当量直径ds、井眼扩大系数13 、屈服值t。、塑性粘度ns、井底地层压力 Pp、井深h、井内易漏层破裂压力Pt、排量q、喷嘴组合J、钻转速N和机械钻速V。
3. 根据权利要求1所述的钻井模拟器钻进工艺模拟方法,其特征是所述的操作指令 包括正常钻进及接立柱操作指令、不同地层可钻性条件下的钻进指令、憋跳下的钻进指令、 高压地层钻进指令和低压地层钻进指令。
4. 根据权利要求1所述的钻井模拟器钻进工艺模拟方法,其特征是所述钻进工艺模 型包括喷嘴组合模型、钻头水功率模型、比水功率模型、喷嘴等效比水功率模型、钻速速度 模型、流体量模型、钻机起升系统动力学运动学数学处理模型、刹车鼓摩擦力模型、钻头轴 承或牙齿寿命模型、每米钻进成本模型、起下钻速度判别模型、钻井泥浆密度选择范围模型 和钻井液排量模型。
5. 根据权利要求1所述的钻井模拟器钻进工艺模拟方法,其特征是所述的数据格式 包括初始化数据格式、作业数据格式和动画状态信息格式。
6. 根据权利要求1所述的钻井模拟器钻进工艺模拟方法,其特征是所述的图形处理 单元包括图形绘制程序和视景仿真控制程序,其中,图形绘制程序包括设备类图形绘制、粒 子类图形绘制、管理类图形绘制和工艺动画绘制,视景仿真控制程序包括工艺动画控制、碰 撞处理、特效渲染和参数显示。
全文摘要
本发明公开的一种钻井模拟器钻进工艺模拟方法,它包括以下步骤1)读取前端设备的状态参数和操作指令;2)根据设备状态参数和操作指令类别及预先建立的钻进工艺模型计算出实现钻进工艺模拟动画的作业数据;3)按照设定的数据格式与专门设置的图形处理单元通讯,交换初始化数据和作业数据;4)图形处理单元据交换的数据完成钻进工艺的动画展现;5)按照设定的数据格式与图形处理单元通讯,交换动画状态信息。本发明基于计算机仿真技术并参照钻井作业现场的实际操作流程,对钻进工艺的原理和操作方法进行逼真模拟,用于钻井现场操作人员和在校学生的技术技能培训,增强了教学培训的现场感,缩短了培训周期,提高了培训效果,降低了培训成本。
文档编号G09B25/00GK101719331SQ20091021664
公开日2010年6月2日 申请日期2009年12月8日 优先权日2009年12月8日
发明者梅大成, 梅雪, 胡卫东, 赵刚, 郑巧, 陈利学, 龚捷 申请人:西南石油大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1