1、 超声波测试数据接口说明 一、系统组成 GPS 定位信息 服务器 无线网络 超声仪 (武汉岩海公司 ) 手机 APP (武汉岩海公司 ) 数据接收程序 (武汉岩海公司 ) 超声仪 (XXXX研究所 ) 无线传输仪 (XXXX研究所 ) 数据接收程序 (XXXX研究所 ) 接口数据库 超声仪 (XXXX公司 ) 手机 APP (XXXX公司 ) 数据接收程序 (XXXX公司 ) 超声仪 (XXXX研究院 ) 数据接收程序 (XXXX研究院 ) 桩基检测管理系统数据库 监督管理人员 检测单位人员 Web服务 说明: 1.超声仪和传输装置均位于测试现场,相互之间使用电缆或无线直接连接; 2.现场的检
2、测数据由超声仪、无线传输仪或手机通过 GPRS、 CDMA或 3G网络上传至服务器; 3.由设备生产商自行开发针对各自测试仪器的数据接收程序,统一部署在质监站的服务器上。各设 备生产商需确保数据由现场直接上传至质监站的服务器,中间不得经过设备生产商或检测单位自 己的数据服务器,各设备生产商必须保证数据的真实性和完整性; 4.监督管理人员和检测单位人员通过 Web服务访问数据,不能直接访问数据库服务。 二、接口数据库 服务器运行 Windows Server 2003或更高版本操作系统,数据库选用 Microsoft SQL Server 2005 或更高版本。每个设备生产商在数据库服务器建立自
3、己的登录名、用户名和数据库 (如果有必要 ),考 虑到服务器的安全因素,各登录名的服务器角色只能是 public,用户名也只能在各生产商自己的数 据库里拥有 db_owner角色身份,该用户并不拥有直接读写接口数据库中数据表的权限,对于接口数 据库的访问只能通过接口库提供的存储过程来实现。 在各设备生产商需将各自建立的登录名上报备案后,数据库管理员将给该登录名分配执行接口 数据库存储过程的权限。设备生产商的数据接收程序使用该登录名登录数据库,并运行接口数据库 提供的存储过程写入测试数据和信息。 需要写入数据库的信息分为两类:测试基本信息、测试详细数据。这两类信息仅提供插入记录 的操作。 数据库
4、服务器实例名称、数据库名称以具体的服务器安装环境为准。 三、存储过程 文档中的约定: 约定 斜体 用于 存储过程的参数。 粗体 存储过程名称、数据类型名以及必须按所显示的原样键入的文本。 可选语法项。不要键入方括号。 (方括号 ) 1.插入超声波测试数据的基本信息 Sb_spInsertBasicInfo 语法: Sb_spInsertBasicInfo MachineId = Machijklm , SerialNo = nkoiapqr , PileNo = sipkqr , TestTime = TestTime , PileLength = PileLength , PileDiame
5、ter = sipkDiamktko , ConcreteStrength = Crjcoktkntokjgth , TubeCount = TubeCount , SectionCount = SectionCount , Step = Step , Angle = Angle , GpsIsValid = GpsIsValid , GpsLongitude = GpsLongitude , GpsLatitude = GpsLatitude , ShangGangZheng = nhajgGajgZhkjg , BasicInfoId = BasicInfoId OUTPUT 参数: Ma
6、chineId = Machijklm 超声仪的编号,设备生产商必须要保证该编号的唯一性,不得出现两台设备的编号相同的情 况。 Machijklm的数据类型为 nvarchar(16),无默认值。 SerialNo = nkoiapqr 检测流水号,该流水号是在检测单位申报检测项目后,经监督部门审核通过并发放下来的流水 号,流水号和桩号一起唯一确定一根的被检桩。 nkoiapqr的数据类型为 nvarchar(24),无默认值。 PileNo = sipkqr 桩号,桩号对应于现场检测的实际桩号,桩号和流水号一起唯一确定一根的被检桩。 sipkpqr的 数据类型为 nvarchar(16),无
7、默认值。 TestTime = TestTime 该桩的检测时间。 TestTime的数据类型为 datetime,无默认值。 PileLength = PileLength 桩长,单位为米 (m)。 PileLength的数据类型为 real,默认值为 NULL。 PileDiameter = sipkDiamktko 桩径。 sipkDiamktko的数据类型为 nvarchar(16),默认值为 NULL。建议使用格式 “ 400” 或 “ 400400” 。 ConcreteStrength = Crjcoktkntokjgth 混凝土强度。 Crjcoktkntokjgth的数据类型
8、为 nvarchar(8),默认值为 NULL。建议使用格式 “ C30” 或 “ C35” 。 TubeCount = TubeCount 声测管数量。 TubeCount的数据类型为 tinyint,无默认值。 SectionCount = SectionCount 检测的剖面数量。 SectionCount的数据类型为 tinyint,无默认值。 Step = Step 测试步距,单位为毫米 (mm)。 Step的数据类型为 smallint,无默认值。 Angle = Angle 1号声测管的北偏角,单位为度 ( )。 Angle的数据类型为 smallint,无默认值。 GpsIsV
9、alid = GpsIsValid Gps定位信息是否有效,为 0时表示 Gps定位信息无效,随后的 GpsLongitude和 GpsLatitude参 数会被忽略,其他值表示 Gps信息有效。 GpsIsValid的数据类型为 tinyInt,默认值为 0。 GpsLongitude = GpsLongitude Gps定位信息中的经度,单位为度,为正值时表示东经,为负值时表示西经,该值在 GpsIsValid 不为 0时有效。 GpsLongitude的数据类型为 float,默认值为 0。 GpsLatitude = GpsLatitude Gps定位信息中的纬度,单位为度,为正值时表
10、示北纬,为负值时表示南纬,该值在 GpsIsValid 不为 0时有效。 GpsLatitude的数据类型为 float,默认值为 0。 ShangGangZheng = nhajgGajgZhkjg 现场检测人员上岗证编号。 nhajgGajgZhkjg的数据类型为 nvarchar(16),默认值为 NULL。 BasicInfoId = BasicInfoId OUTPUT 信息插入成功后,该条信息在数据表中的唯一标识。如果插入不成功,该值被设置为 NULL。 BasicInfoId为 输出变量 ,数据类型为 int,无默认值。 返回代码值: 0:成功; 其他值:由 Microsoft
11、SQL Server定义的错误号。 2.插入超声波测试的剖面数据 Sb_spInsertSectionData 语法: Sb_spInsertSectionData BasicInfoId = BasicInfoId , SectionName = nkctirjqamk , TestMode = TestMode , TubeDistance = TubeDistance , Step = Step , ZeroTime = ZeroTime , SampleInterval = SampleInterval , SampleLength = SampleLength , NodesCoun
12、t = NodesCount , DataVersion = DataVersion , SectionData = SectionData 参数: BasicInfoId = BasicInfoId 本通道数据对应的基本信息的标识,该标识由存储过程 Sb_spInsertBasicInfo输出。 BasicInfoId 的数据类型为 int,无默认值。 SectionName = nkctirjqamk 剖面名称。 SignalType的数据类型为 nvarchar(16),无默认值。 TestMode = TestMode 测试方式, 0表示水平同步, 1表示斜同步, 2表示扇形测试,其他
13、值无意义。 TestMode的数 据类型为 tinyint,默认值为 0。 TubeDistance = TubeDistance 声测管间距,单位为毫米 (mm)。 TubeDistance的数据类型为 smallint,无默认值。 Step = Step 测试步距,单位为毫米 (mm)。 Step的数据类型为 smallint,无默认值。 ZeroTime = ZeroTime 系统零声时,单位为微秒 (us)。 ZeroTime的数据类型为 real,默认值为 0。 SampleInterval = SampleInterval 测点采样间隔,单位为微秒 (us)。 SampleInte
14、rval的数据类型为 real,无默认值。 SampleLength = SampleLength 测点采样长度。 SampleLength的数据类型为 smallint,无默认值。 NodesCount = NodesCount 测点数量。 NodesCount的数据类型为 smallint,无默认值。 DataVersion = DataVersion 测点数据的存储格式的版本。 DataVersion的数据类型为 tinyint,默认值为 1。 SectionData = SectionData 剖面的所有测点数据。 SectionData的数据类型为 varbinary(max),无默
15、认值。 返回代码值: 0:成功; 50001:试图引用不存在的或非本设备商创建的 BasicInfoId; 其他值:由 Microsoft SQL Server定义的错误号。 注释: 对应于一根桩,通常会埋多根声测管,从而会检测到多个剖面的数据,每个剖面依据测试步距 会有多个测点数据。在写入数据库时,应先调用存储过程 Sb_spInsertBasicInfo插入该桩的基本信息, 并获得该桩的 BasicInfoId,然后使用获得的 BasicInfoId多次调用存储过程 Sb_spInsertSectionData来 插入所有的剖面测试数据, 有几个剖面数据就需要调用几次 。 SectionD
16、ata里的数据是一个结构,目前结构格式版本为 1,定义如下 (以 c#语言为例 ): / /表示单个测点的数据。 / class NodeData / /测点深度,单位毫米 (mm)。 / public int Depth; / /采样开始后忽略的记录时间 (us)。 / public float EllipsisTime; / /采样增益。 / public float Gain; / /首波时间,单位微秒 (us)。 / public float FirstPeakTime; / /首波波幅,单位分贝 (db)。 / public float FirstPeakValue; / /接收频率,单位赫兹 (Hz)。 / public float Frequency; / /测点数据, 8位精度,取值范围 -128 127。 /数组的长度应与 SampleLength指定的长度一致。 / public sbyte Data;