/* * Version 1.3.1 * 创建时间 2023–10-11 */ // 指定protobuf的版本,proto3是最新的语法版本 syntax = "proto3"; option go_package = "../protoFiles_zjhl"; package protoFiles_zjhl; enum DataType {REALTIME = 0;STATISTICS = 1; EMERGENCY = 2; INSPECTION = 3;} enum MonitoryType { //风速风向 UAN = 0; //温湿度 RHS = 1; //结构空间变形 GNSS = 2; //振动法索力 VIC = 3; //直接法索力 DIC = 4 ; //支座位移、梁端纵向位移 DIS = 5; //挠度 HPT = 6; //应变 RSG = 7; //转角 INC = 8; //振动 VIB = 9; //地震 VIE = 10; //TMD监测 TMD = 11; //车辆荷载 HSD = 12; // 结构温度 TMP = 13; // 雨量 PWS = 14; //结冰 FRZ = 15; //路面状况 LMZ = 16; //支反力 STF = 17; //基础冲刷 SCO = 18; //裂缝 CRK = 19; //腐蚀 COR = 20; //振动法预应力 VIS = 21; //直接法预应力 STR = 22; //断丝 BRK = 23; //螺栓紧固力 BTF = 24; //索夹滑移 CSP = 25; //能见度 VSB = 26; //大气浓度 ACN = 27; //水位 WLV = 28; //通用 CMM = 99; } //复合类型 message ComplexData{ //各个监测数据组成的数据,解开后循环解析,生成CRC后进行加密 repeated DataDefinition sensorData = 1; } //定义数据内容 message DataDefinition{ DataType dataType = 1; //不传该字段 string bridgeCode = 14; oneof dataBody{ //实时数据 RealTimeData realTimeData = 2; //特征值表 StatisticData statisticData = 3; } } message RealTimeData{ //监测类型 MonitoryType monitorType = 1; //测点编码的别名 int64 monitorCode = 2; //记录时间戳 int64 eventTime = 3; //采样周期 int32 interval = 100; oneof dataBody{ //实时数据 //风速风向 UANRealTime uan = 4; //温湿度 RHSRealTime rhs = 5; //结构温度 TMPRealTime tmp = 6; //空间变形 GNSSRealTime gnss = 7; // 索力 VICRealTime vic = 8; DICRealTime dic = 9; // 位移 DISRealTime dis = 10; //挠度 HPTRealTime hpt = 11; //静应变 RSGRealTime rsg = 12; //转角 INCRealTime inc = 13; //地震船撞 VIERealTime vie = 14; //TMD TMDRealTime tmd = 15; //动力特性 VIBRealTime vib = 16; //动态称重 HSDRealTime hsd = 17; // 雨量 PWSRealTime pws = 18; //结冰 FRZRealTime frz = 19; //路面状况 LMZRealTime lmz = 20; //支反力 STFRealTime stf = 21; //基础冲刷 SCORealTime sco = 22; //裂缝 CRKRealTime crk = 23; //腐蚀 CORRealTime cor = 25; //振动法预应力 VISRealTime vis = 26; // 直接法预应力 STRRealTime str = 27; // 断丝 BRKRealTime brk = 28; // 螺栓紧固力 BTFRealTime btf = 29; // 索夹滑移 CSPRealTime csp = 30; // 能见度 VSBRealTime vsb = 31; //大气浓度 ACNRealTime acn = 32; //水位 WLVRealTime wlv =33; } } /* 实时数据发送格式 */ //风速风向的指标hsd message UANRealTime{ //风速 float windVelocity = 1; //风向 float windDirection = 2; //风攻角 optional float windAttackAngle = 3; } //温湿度指标 message RHSRealTime{ //温度 float temperature = 1; //湿度 float humidity = 2; } //温度指标 message TMPRealTime{ //温度 float temperature = 1; } //空间变形 message GNSSRealTime{ //横桥向 float x = 1; //纵桥向 float y = 2; //竖向 float z = 3; } //索力监测 message VICRealTime{ //索力值 float cableForce = 1; //基频 optional float fundamentalFrequency = 2; } //位移(支座位移、梁端纵向位移) message DISRealTime{ //位移值 float displacement = 1; //如传感器有温度数据 optional float temperature = 2; } //裂缝 message CRKRealTime{ //裂缝宽度 float crackWidth = 1; //如传感器有温度数据 optional float temperature = 2; } //挠度监测 message HPTRealTime{ //挠度值 float deflection = 1; //如传感器有温度数据 optional float temperature = 2; } //静应变监测 message RSGRealTime{ //应变值 float strain = 1; //如传感器有温度数据 optional float temperature = 2; } //梁端转角监测 message INCRealTime{ // 横桥向X float x = 1; //纵桥向Y float y = 2; //如传感器有温度数据 repeated float temperature = 3 [packed = true]; } //一秒钟内动力特性 message VIBRealTime{ repeated float monitorValues = 1 [packed = true]; } //一秒钟内地震船撞 message VIERealTime{ //多通道监测值 repeated float monitorValues = 1 [packed = true]; } //一秒钟内TMD message TMDRealTime{ repeated float monitorValues = 1 [packed = true]; } // 车辆荷载 --动态称重 message HSDRealTime{ //车道号 int32 laneId = 1; //上下行 int32 operDirec = 2; //轴数 int32 axleNum = 3; //轴组数 int32 axleGrpNum = 4; //车重 int32 grossLoad = 5; //车型 int32 vehType = 6; //左1轮重 int32 leftWheelWeight1 = 7; //左2轮重 int32 leftWheelWeight2 = 8; //左3轮重 int32 leftWheelWeight3 = 9; //左4轮重 int32 leftWheelWeight4 = 10; //左5轮重 int32 leftWheelWeight5 = 11; //左6轮重 int32 leftWheelWeight6 = 12; //左7轮重 int32 leftWheelWeight7 = 13; //左8轮重 int32 leftWheelWeight8 = 14; //右1轮重 int32 rightWheelWeight1 = 15; //右2轮重 int32 rightWheelWeight2 = 16; //右3轮重 int32 rightWheelWeight3 = 17; //右4轮重 int32 rightWheelWeight4 = 18; //右5轮重 int32 rightWheelWeight5 = 19; //右6轮重 int32 rightWheelWeight6 = 20; //右7轮重 int32 rightWheelWeight7 = 21; //右8轮重 int32 rightWheelWeight8 = 22; //轴1-轴2距离 int32 axleDis1 = 23; //轴2-轴3距离 int32 axleDis2 = 24; //轴3-轴4距离 int32 axleDis3 = 25; //轴4-轴5距离 int32 axleDis4 = 26; //轴5-轴6距离 int32 axleDis5 = 27; //轴6-轴7距离 int32 axleDis6 = 28; //轴7-轴8距离 int32 axleDis7 = 29; //违例码 optional int32 violationId = 30; //超限标示 optional int32 overloadSign = 31; //车速 int32 speed = 32; //加速度 optional float acceleration = 33; //车辆长度 int32 vehLength = 34; //当量轴次 optional float qat = 35; //车牌号 optional string licencePlate = 36; //车牌颜色 optional string licencePlateColor = 37; //图片id optional int32 picId = 38; //路面温度 optional float roadTemperature = 39; } //雨量指标 message PWSRealTime{ //雨量 float rainfall = 1; } //结冰监测 message FRZRealTime{ //结冰厚度 float iceThickness = 1 ; //如传感器有温度数据 float temperature = 2 ; } //路面状况监测 message LMZRealTime{ //路面状况 float roadCondition = 1; //如传感器有温度数据 float temperature = 2; } //直接法测索力监测 message DICRealTime{ //索力值 float cableForce = 1; //如传感器有温度数据 float temperature = 2 ; } //支反力监测 message STFRealTime{ //反力值 float supportAction = 1 ; //如传感器有温度数据 float temperature = 2 ; } //基础冲刷监测 message SCORealTime{ //深度 float depth = 1; } //腐蚀监测 message CORRealTime{ //氯离子浓度 float chlorideConcentration = 1 ; //侵蚀深度 float corrosionDepth = 2 ; } //振动法预应力监测 message VISRealTime{ //预应力 repeated float monitorValues = 1 [packed = true]; } //预应力监测 message STRRealTime{ //预应力值 float stress = 1 ; //如传感器有温度数据 optional float temperature = 2 ; } //断丝监测 message BRKRealTime{ //状态 bool state = 1; } //螺栓紧固力监测 message BTFRealTime{ //力值 float boltTightForce = 1; //如传感器有温度数据 optional float temperature = 2; } //索夹滑移监测 message CSPRealTime{ //位移值 float displacement = 1 ; //如传感器有温度数据 optional float temperature = 2; } //能见度 message VSBRealTime{ //能见度值 float value = 1; } //大气浓度 message ACNRealTime{ //大气浓度最大值 float value = 1; } //水位 message WLVRealTime{ //水位 float value = 1; } /* 特征值数据协议格式 */ //特征值 message StatisticData{ //监测类型 MonitoryType monitorType = 1; //测点编码的别名 int64 monitorCode = 2; //记录时间戳 int64 eventTime = 3; //采样周期 int32 interval = 100; oneof dataBody{ //风速风向 UANStatistic uan = 4; //温湿度 RHSStatistic rhs = 5; //结构温度 TMPStatistic tmp = 6; //空间变形 GNSSStatistic gnss = 7; // 索力 VICStatistic vic = 8; // 位移 (支座位移、梁端纵向位移) DISStatistic dis = 9; //挠度 HPTStatistic hpt = 10; //应变 RSGStatistic rsg = 11; //转角 INCStatistic inc = 12; //地震船撞 VIEStatistic vie = 13; //TMD TMDStatistic tmd = 14; //动力特性 VIBStatistic vib = 15; //动态称重 HSDStatistic hsd = 16; // 位移(锚定位移、拱脚位移、桥墩沉降)监测特征值数据表 ANDStatistic and = 17; //裂缝 CRKStatistic crk = 18; //结冰 FRZStatistic frz = 19; //降雨量 PWSStatistic pws = 20; //能见度 VSBStatistic vsb = 21; //大气浓度 ACNStatistic acn = 22; //水位 WLVStatistic wlv = 23; //螺杆状态 BTFStatistic btf = 24; //索夹滑移 CSPStatistic csp = 25; } } //风速风向监测特征值 周期 10min message UANStatistic{ //统计时间范围内的风速平均值 float avgVelocity = 1; //统计时间范围内的风向平均值 float avgDirection = 2; //统计时间范围内的风攻角平均值 optional float avgAttackAngle = 3; } //温湿度监测特征值,周期 1h message RHSStatistic{ //统计时间范围内的温度最大值 float maxTemperature = 1; //统计时间范围内的温度最小值 float minTemperature = 2; //统计时间范围内的温度平均值 float avgTemperature = 3; //统计时间范围内的温差值 float maxTemperatureDifference = 4; //统计时间范围内的湿度最大值 float maxHumidity = 5; //统计时间范围内的湿度最小值 float minHumidity = 6; //统计时间范围内的湿度平均值 float avgHumidity = 7; //湿度超限持续时间,分钟 int32 humidityExceedDuration = 8; } //温度监测特征值 周期 1h message TMPStatistic{ //统计时间范围内的温度最大值 float maxTemperature = 1; //统计时间范围内的温度最小值 float minTemperature = 2; //统计时间范围内的温度平均值 float avgTemperature = 3; //统计时间范围内的温差值 float maxDifference = 4; } //结构空间变形监测特征值 位移(主梁、塔顶、主缆、高墩墩顶、拱顶) 周期: 1h message GNSSStatistic{ //统计时间范围内的空间变形X绝对最大值 float maxAbsoluteValueX = 1; //统计时间范围内的空间变形X平均值 float avgValueX = 2; //统计时间范围内的空间变形X均方根 float rootMeanSquareX = 3; //统计时间范围内的空间变形Y绝对最大值 float maxAbsoluteValueY = 4; //统计时间范围内的空间变形Y平均值 float avgValueY = 5; //统计时间范围内的空间变形Y均方根 float rootMeanSquareY = 6; //统计时间范围内的空间变形Z绝对最大值 float maxAbsoluteValueZ = 7; //统计时间范围内的空间变形Z平均值 float avgValueZ = 8; //统计时间范围内的空间变形Z均方根 float rootMeanSquareZ = 9; } // 位移(锚定位移、拱脚位移、桥墩沉降)监测特征值数据表 周期 24h message ANDStatistic{ //统计时间范围内的空间变形X绝对最大值 float maxAbsoluteValueX = 1; //统计时间范围内的空间变形X平均值 float avgValueX = 2; //统计时间范围内的空间变形X均方根 float rootMeanSquareX = 3; //统计时间范围内的空间变形Y绝对最大值 float maxAbsoluteValueY = 4; //统计时间范围内的空间变形Y平均值 float avgValueY = 5; //统计时间范围内的空间变形Y均方根 float rootMeanSquareY = 6; //统计时间范围内的空间变形Z绝对最大值 float maxAbsoluteValueZ = 7; //统计时间范围内的空间变形Z平均值 float avgValueZ = 8; //统计时间范围内的空间变形Z均方根 float rootMeanSquareZ = 9; } //位移监测特征值 位移(支座位移、梁端纵向位移) 周期 1h message DISStatistic{ //统计时间范围内的绝对最大值 float maxAbsoluteValue = 1; //统计时间范围内的位移平均值 float avgValue = 2; //统计时间范围内的位移均方根值 float rootMeanSquare = 3; //统计时间范围内的绝对值累积量 float totalAbsoluteValue = 4; } //挠度监测特征值 周期1h message HPTStatistic{ //统计时间范围内的绝对最大值 float maxAbsoluteValue = 1; //统计时间范围内的位移平均值 float avgValue = 2; //统计时间范围内的位移均方根值 float rootMeanSquare = 3; } //转角监测特征值 周期 1h message INCStatistic{ //统计时间范围内横桥向的绝对最大值 float maxAbsoluteValueX = 1; // 统计时间范围内横桥向的转角平均值 float avgValueX = 2; //统计时间范围内横桥向的转角均方根值 float rootMeanSquareX = 3; // 统计时间范围内纵桥向的绝对最大值 float maxAbsoluteValueY = 4; // 统计时间范围内纵桥向的转角平均值 float avgValueY = 5; // 统计时间范围内纵桥向的转角均方根值 float rootMeanSquareY = 6; } //应变监测特征值 周期 1h message RSGStatistic{ //统计时间范围内的应变/应力绝对最大值 float maxAbsoluteValue = 1; //统计时间范围内的应变/应力平均值 float avgValue = 2; //统计时间范围内的温度平均值 optional float avgTemperature = 3; } //索力监测特征值 周期 1h message VICStatistic{ //统计时间范围内的索力最大值 float maxValue = 1; // 统计时间范围内的索力最小值 float minValue = 2; // 统计时间范围内的索力平均值 float avgValue = 3; // 统计时间范围内的索力均方根值 float rootMeanSquare = 4; } //动力特性监测特征值 振动(主梁、索塔、拱圈) 周期 10min message VIBStatistic{ //统计时间范围内的绝对最大值 float maxAbsoluteValue = 1; // 统计时间范围内的均方根值 float rootMeanSquare = 2; } //地震船撞特性监测特征值 周期10min message VIEStatistic{ // 统计时间范围内的绝对最大值 float maxAbsoluteValue = 1; // 统计时间范围内的均方根值 float rootMeanSquare = 2; } //TMD监测特征值 周期10min message TMDStatistic{ //统计时间范围内的绝对最大值 float maxAbsoluteValue = 1; // 统计时间范围内的均方根值 float rootMeanSquare = 2; } //车辆载荷监测特征值 -动态称重 周期 1h message HSDStatistic{ //统计时间范围内的车流量 int32 trafficFlow = 1; // 统计时间范围内的最大车重 int32 maxTotalLoad = 2; // 统计时间范围内的最大轴重 int32 maxAxleLoad = 3; // 统计时间范围内的超载车数量 int32 overLoadCount = 4; } //裂缝监测特征值 位移( 周期 1h) message CRKStatistic{ //统计时间范围内的绝对最大值 float maxAbsoluteValue = 1; //统计时间范围内的位移平均值 float avgValue = 2; //统计时间范围内的位移均方根值 float rootMeanSquare = 3; //统计时间范围内的绝对值累积量 float totalAbsoluteValue = 4; } //结冰(周期 1h) message FRZStatistic{ //统计时间范围内的结冰最大值 float maxValue = 1; // 统计时间范围内的结冰最小值 float minValue = 2; // 统计时间范围内的结冰平均值 float avgValue = 3; } //降雨量(周期 10min) message PWSStatistic{ // 统计时间范围内的降雨量平均值 float avgValue = 1; } //能见度(周期 10min) message VSBStatistic{ // 统计时间范围内的能见度值 float avgValue = 1; } //大气浓度(周期 1h) message ACNStatistic{ //统计时间范围内的大气浓度最大值 float maxValue = 1; // 统计时间范围内的大气浓度最小值 float minValue = 2; // 统计时间范围内的大气浓度平均值 float avgValue = 3; } //水位(周期 1h) message WLVStatistic{ //统计时间范围内的水位最大值 float maxValue = 1; // 统计时间范围内的水位最小值 float minValue = 2; // 统计时间范围内的水位平均值 float avgValue = 3; } //螺杆状态(周期 1h) message BTFStatistic{ //统计时间范围内的螺杆状态平均值 float avgValue = 1; // 统计时间范围内的螺杆状态绝对最大值 float maxAbsoluteValue = 2; // 统计时间范围内的螺杆状态均方根值 float rootMeanSquare = 3; } //索夹滑移(周期 1h) message CSPStatistic{ //统计时间范围内的索夹滑移平均值 float avgValue = 1; // 统计时间范围内的索夹滑移绝对最大值 float maxAbsoluteValue = 2; // 统计时间范围内的索夹滑移均方根值 float rootMeanSquare = 3; }