这一章叙述了在LIS物理和逻辑记录内部WITS格式化数据的封闭问题。仅仅是叙述了为在WITS格式内使用而对LIS进行的扩展或限制。本文没有打算全面描述LIS格式。读者参看参考2有关包括WITS所使用的各种数字表述码格式的LIS的详细内容。
“依从LIS的WITS”,目的是为了在“实时”和批处理方式下传输井场数据所要求的功能,并且借助于限制LIS的灵活性来促进对WITS的开发和执行,因为典型的井场数据通信并不需要这种灵活性。
依从LIS的WITS
下面是在使用WITS时,对LIS的限制和调整。
物理记录
1、最大字节长度为1024字节。
2、物理记录尾部必须存在于所有记录中。
3、由于当文件号和记录号记录在物理记录尾部时,它在WITS中的设置没有实际意义,因此为这些项目保留在尾部的4个字节被一个被称为物理记录尾序号(Physical Record Trailer Sequence Number)的新项目所占据。这是一个分配给连续WITS数据记录的唯一的标识符,并且是一个32位的无符号的整数(具有表征代码129的一个32位无符号整数)。注:它仅适用于WITS数据记录,而对LIS注释记录或会有零的文件号和记录号的LIS数据格式说明记录不适用。
4、一个WITS检验和,类型3(在图2.1中定义的),要求在所有的WITS记录中。
5、物理记录头必须在第18、19、21、22位打开到ON,用来表示这些物理记录尾部属性。
6、物理记录头的23位(在LIS内没有定义)用来表示一个记录是在“实时”(OFF位)状态下被传送或是在晚些时候由一个缓冲器(ON位)传送。
注释:全文中,术语“实时”表示在它的相应的触发时间(即在产生的时间)内传送的记录,而术语“缓冲的”则表示在记录产生之后的一段时间里,从大容量存储器为传输所重新加载的记录。
逻辑记录
1、逻辑记录的最大值为1014字节,指的是一个WITS逻辑记录的组成不能大于一个物理记录。
2、通常不使用的逻辑记录头的第二个字节,它是用来为记录指示触发激励源的。注:这是一个二进制数值,而不是说字节里的ASCII码字符。
使用下列代码
时间 1
深度 2
事件 3
由发送手动触发的 4
由接收方轮询的:10+以上中的一个(如果适用)
例如:一个按时间触发的记录在这个字节里有0000001(10进制1),
而一个由接收方轮询的记录并且深度触发适合,在这个字节里将有00001100( 即10进制的12)。
在第3 级的数据格式说明记录(LIS类型64)
1、不允许输入块13。这意味着仅有一种方式表示深度( 例如:一个数据道) 。
2 、内允许有类型0 ,子类型1 数据说明。所有的API特性曲线代码可以设置为零。
3 、通道可以由一个IEEE4字节单精度浮点数来表示( 表述码= 128) 。
注:这是一个扩展的LIS格式。参见附录G。
数据记录
1 、在一个会话期里数据记录类型号最大是64。
2 、WITS数据记录是由151-230范围内的一个类型字段来定义的。
注:在LIS标准中仅有类型0 定义为数据记录。使用类型151-230作为数据记录对LIS的扩展。
注释记录( LIS类型232)
1、当用作WITS对话命令记录时,最大字节长为256字节。
WITS级别
为了简化执行,定义了WITS的四个级,每一级都比前一级更复杂、更具综合性。
规范的每一级都具有前一级的特性。
WITS零级
它也被称为“井场内部传输”格式,因为它主要是供在井场上的服务公司之间进行数据交换用的。它使用一个简单的带数据项的ASCII码格式,数据项是由其所在预定义数据记录内的位置标记的。这种特殊方法的目的在于用联机(“实时”)方式,而不是批处理方式传输数据,但它可以适用于相当简单的批传输方法,传输双方必须就通信参数、传输频率均达成一致意见。接收方希望数据在预先定义的记录中一定的形式表示出来(如:平均的),而不是希望或要求的任何方式处理数据。然而如果双方预先达成了一致意见,传输的数据可以基本上是原始的,然后再由接收方平均。
零级传输会话由一组数据集组成,数据集表示一组相关的数据项。例如,来自相同时间间距的几个注水泥数据项。一个数据集可以仅由一项组成,也可以括很多项。事实上,连续的数据集可以包含不同的项目号。一个数据集以一对表示AND(&&)的字符(HEX26)开始,跟着是一个回车及换行(HEXOD,OA)。一个数据集以一对惊叹号(!!)(HEX21)和一个回车及换行结束。
数据项由一个回车及换行分开。
对数据集内容的限制是:
1、一个数据集不能包含多个记录类型的数据项。
2、一个数据项不能在一个数据集内重复。
3、除非有特殊要求,带有-9999.0空值的数据项不需要送出,而当一个数据项带有-8888.0空值(坏传感器读数)时,它应该被送出。
每个数据项对应于一个预定义数据记录变量。每项都由一个“标识符”(IDENTIFIER)部分和一个“值”(VALVE)部分组成。
标识符由4个字符组成:
字符1和2标识预定义的记录
字符3和4标识那个记录里的项
例如:电阻率1测量深度(DR 1M)是预定义的记录8
(MWD--地层评价)的13项
IDENFIER=0813
数据项的值部分既可以是一个文本字符串也可以是表示一个数的ASCII码。
如果是文本串,它一定不能长于在预先定义的记录内规定的长度,但它可以短些,可包括空格,特殊字符等等,但不能出现&&或!!。
如果是数字,它可以长达16个字符,但至少要带一个数字,如果带有负号,负号必须是第一个字符。不能以空格或零开头。
如果有一个小数点,它可以放在回车和换行结束前的任何位置。
举例:
承包商 格林钻井公司(GREEN DRILLING)
标识符 1981
值 GREEN DRILLING
数据项 1981 GREEN DRILLING <CR><LF>
电阻率1测量深度 3561.35英尺
标识符 0813
值 3561.35
数据项 08133561.35<CR><LF>
会话传输举例
下列会话传输举例由包含4个数据项的数据集组成(电阻率1测量深度,电阻率1读数,伽玛曲线1测量深度,伽玛曲线1读数):
&&<CR><LF>
08133561.35<CR><LF>
0815.97<CR><LF> 数据集1
08213565.13<CR><LF>
082387.1<CR><LF>
!!<CR><LF>
&&<CR><LF>
08133561.61<CR><LF>
0815.02<CR><LF> 数据集2
08213565,39<CR><LF>
0823100.4<CR><LF>
!!<CR><LF>
等等
WITS1级
在这一级使用二进制传输为尽可能地把大量的数据从发送端传到接收端提供了一个更有效的传输方式。传输是单方向的。
在这一级,只有WITS预定义数据记录有效(逻辑记录类型151-175)。为了满足有限修改,这一级在于预先定义的数据。记录内使用了“备用通道”。额外参数的定义必须是预先进行的。然而应注意到,预定义的记录23包含的字符,允许对该文件进行多达10个这种类型的修改。
参看图2.2关于一个WITS1级通讯的图解表示
WITS2级
这一级是建立在1级之上的,它采用了允许接收方控制的双向对话命令的能力,其中包括传输记录的类型和记录发送时的间隔。记录内容包含有限的带用备注修改的预定义数据记录。数据记录的缓冲在这一级是可选择的。可得到缓冲的那级用符号2B表示而不是2。
在这一级有效的LIS记录类型是数据记录和注释记录(逻辑记录类型232)。
参看图2.3关于一个2级通讯的图解表示。
WITS3级
在这一级,除WITS预定义数据记录和会话期对话命令的能力外,客户数据记录可以在依从WITS的LIS范围内定义同时可利用来自WITS数据词典的数据项或由双方依据预先商定的来定义。接收端能够处理数据格式说明记录,并相应地读出后来的数据记录。修改的记录只能是类型50-80(LIS 逻辑记录类型200-230)。因此,这一级就提供了一个尽管可能很复杂,但却很灵活的传输能力。数据记录的缓冲在这一级是强制的。
在这一级,有效的LIS记录类型是数据记录、注释记录和数据格式说明记录。