Forráskód Böngészése

增加人孔盖紧急泄放装置检测功能, 呼吸阀检测方案重构

guoqiang 1 éve%!(EXTRA string=óta)
szülő
commit
475858aa3a
4 módosított fájl, 350 hozzáadás és 153 törlés
  1. 30 3
      src/BreatheValve.qml
  2. 1 1
      src/PeopleCoverHoleValve.qml
  3. 318 148
      src/breatheTest.js
  4. 1 1
      src/valve_experiment.pro.user

+ 30 - 3
src/BreatheValve.qml

@@ -420,6 +420,8 @@ Item{
                 }
             }
 
+
+            /*
             function pressureDisplayInput(number){
                 pressureCnt++
                 if(pressureCnt <= 61){
@@ -436,6 +438,31 @@ Item{
                 }
                 gauge.value = number
             }
+            */
+
+            function pressureDisplayInput(number){
+                pressureCnt++
+                //console.log("pressureDisplayInput number:%f", number)
+                if(number+2 > curveDisplay.axisyMax ){
+                    curveDisplay.axisyMax = number +2
+                }
+
+                if(pressureCnt <= 61){
+                    dataArray.push(number)
+                    curveDisplay.spline.append(pressureCnt-1,number)
+                }
+                else{
+                    dataArray.push(number)
+                    //dataArray.shift()
+                    curveDisplay.spline.clear()
+                    curveDisplay.axisxMax = pressureCnt+1
+                    for(var i=0; i<pressureCnt; i++){
+                        curveDisplay.spline.append(i,dataArray[i])
+                    }
+                }
+                gauge.value = number
+            }
+
 
 
             function show(){
@@ -607,7 +634,7 @@ Item{
                                             }
                                             switch(currentText){
                                             case "正压开启压力和密封试验":
-                                                BreatheTestJs.openPressureTimeMax = 30
+                                                BreatheTestJs.openPressureTimeMax = 15
                                                 BreatheTestJs.sealPressureTimemax = 15
                                                 sealPressureTimemaxInputLine.text = BreatheTestJs.sealPressureTimemax
                                                 openPressureTimeMaxInputLine.text = BreatheTestJs.openPressureTimeMax
@@ -754,9 +781,9 @@ Item{
                         axisxMin:0
                         axisyMax:{
                             if(testTypeComboBox.currentText === "正压开启压力和密封试验")
-                                return 30
+                                return 15
                             if(testTypeComboBox.currentText === "颠覆性密封试验")
-                                return 50
+                                return 15
                             if(testTypeComboBox.currentText === "负压开启压力和密封试验")
                                 return 5
                         }

+ 1 - 1
src/PeopleCoverHoleValve.qml

@@ -90,7 +90,7 @@ Item {
 
             function pressureDisplayInput(number){
                 pressureCnt++
-                console.log("pressureDisplayInput number:%f", number)
+                //console.log("pressureDisplayInput number:%f", number)
                 if(number+2 > curveDisplay.axisyMax ){
                     curveDisplay.axisyMax = number +2
                 }

+ 318 - 148
src/breatheTest.js

@@ -3,7 +3,7 @@
 
 var running = false
 var runningBackup = false
-var openPressureTimeMax = 30
+var openPressureTimeMax = 10
 var sealPressureTimemax = 15
 var exit = false
 
@@ -12,7 +12,12 @@ var capsizeSetPressure = 32
 
 var pthreshold_Setzero = 0.2
 var nthreshold_Setzero = -0.2
-var delaycount_Setzero = 6
+var delaycount_Setzero = 3
+
+var readPressureInterval = 200 // ms
+var maxPressureStableTime = 20
+var releasePressureTimeOut = 180
+
 
 function positiveTestStop(controlSerial,pressureDisplaySigFun,spy,log){
 
@@ -117,27 +122,37 @@ function negativeTestStop(controlSerial,pressureDisplaySigFun,spy,log){
  */
 function positiveTestStart(currentIndex,tabView,processWindow,controlSerial,sensorSerial,openPressureModel,sealPressureModel,pressureDisplaySigFun,resultSigFun,spy,log){
 
-    var setPressure = 20
+    var setPressure = 12
     //自检
     runningBackup = running
     var openPressureNumber
     var sealPressureNumber
 
+    var ret = true
+    var StablePressureCount = maxPressureStableTime*1000/readPressureInterval
+
+
     //setp 1
     // 关闭所有测试口
     ModbusJs.turnOffAllTestIO(controlSerial)
     console.log("关闭所有测试口")
-    ModbusJs.pressureSensorCtrl(controlSerial,"高压")
-    console.log("打开高压传感器阀门")
+
+
+    ModbusJs.pressureSensorCtrl(controlSerial,"低压")
+    console.log("打开低压传感器阀门")
     //关闭正压罐进气阀门
     ModbusJs.positivePressureTankInputCtrl(controlSerial,false)
     console.log("关闭正压罐进气阀门")
+
+
     //setp 2
     //查看低压传感器值 等待正压罐头压力降到最低值
     processWindow.show("等待压力降到0")
     //打开正压罐头泄气阀门
     ModbusJs.positivePressureTankOutputCtrl(controlSerial,true)
     console.log("打开正压罐头泄气阀门")
+
+
     var timeout = 0
     var end_count = 0
     do{
@@ -145,9 +160,9 @@ function positiveTestStart(currentIndex,tabView,processWindow,controlSerial,sens
             console.log("停止测试")
             return false
         }
-        var obj = ModbusJs.highPressureSensorReadReq(sensorSerial)
+        var obj = ModbusJs.lowPressureSensorReadReq(sensorSerial)
         if(obj.ret === false){
-            log.show("压传感器通讯错误")
+            log.show("压传感器通讯错误")
             return false
         }
         // signal 压力显示函数
@@ -168,34 +183,59 @@ function positiveTestStart(currentIndex,tabView,processWindow,controlSerial,sens
     }
     console.log("压力降压到 0 kPa")
 
+    //关闭正压罐头泄气阀门
+    ModbusJs.positivePressureTankOutputCtrl(controlSerial,false)
+    console.log("关闭正压罐头泄气阀门")
+
     //setp 3
     /*********测试开启压力*************/
-    ModbusJs.pressureSensorCtrl(controlSerial,"低压")
-    console.log("打开低压传感器阀门")
-    obj = ModbusJs.testFixedPressure(controlSerial,setPressure)
-    ModbusJs.proportionalControlWrite(controlSerial,obj.voltage)
-    console.log("比例调压阀压力值:",obj.voltage)
+    //ModbusJs.pressureSensorCtrl(controlSerial,"低压")
+    //console.log("打开低压传感器阀门")
 
-    var bigAcive = true
-    ModbusJs.bigTuningValveControl(controlSerial,true)
-    console.log("打开 粗调开关")
+    //打开正压呼吸阀测试口阀门
+    ModbusJs.pbreathValveTestIo(controlSerial,true)
+    console.log("打开正压呼吸阀测试口阀门")
 
-    processWindow.show("开启压力试验开始")
+    //打开进气阀门
+    ModbusJs.positivePressureTankInputCtrl(controlSerial,true)
+    console.log("打开进气阀门")
+
+    //var vobj = ModbusJs.testFixedPressure(controlSerial,setPressure)
+    //ModbusJs.proportionalControlWrite(controlSerial,vobj.voltage)
+    //console.log("比例调压阀压力值:",vobj.voltage)
+
+    //var bigAcive = true
+    //ModbusJs.bigTuningValveControl(controlSerial,true)
+    //console.log("打开 粗调开关")
+
+    processWindow.show("开启压力测试")
     console.log("开启压力测试开始")
-//    //打开正压呼吸阀测试口阀门
-//    ModbusJs.pbreathValveTestIo(controlSerial,true)
-//    console.log("打开正压呼吸阀测试口阀门")
-    //关闭正压罐头泄气阀门
-    ModbusJs.positivePressureTankOutputCtrl(controlSerial,false)
-    console.log("关闭正压罐头泄气阀门")
+
+
+    var pre_pressure = 0
+    var delta = 0
+    var keepCnt = 0
+
     //打开进气阀门
     ModbusJs.positivePressureTankInputCtrl(controlSerial,true)
     console.log("打开进气阀门")
     tabView.currentIndex = currentIndex
-    var openCnt = 0
-    var min = 0
-    var max = 100  //低压最大范围
+
+
     var prevTime  = Date.now()
+
+    obj = ModbusJs.lowPressureSensorReadReq(sensorSerial)
+    if(obj.ret === false){
+        log.show("低压传感器通讯错误")
+        return false
+    }
+
+    pre_pressure = obj.pressureNumber
+    spy.wait(readPressureInterval)
+
+    ret = true
+    StablePressureCount = openPressureTimeMax*1000/readPressureInterval
+
     do{
         if(running === false){
             console.log("停止测试")
@@ -208,25 +248,37 @@ function positiveTestStart(currentIndex,tabView,processWindow,controlSerial,sens
             return false
         }
 
-        //粗调压力值
-        var bigLevel = setPressure-1
-        //达到压力值时打开测试口
-        if(obj.pressureNumber > bigLevel && bigAcive === true){
-            bigAcive = false
-            ModbusJs.bigTuningValveControl(controlSerial,false)
-            ModbusJs.bigTuningValveControl(controlSerial,false)
-            console.log("关闭 粗调开关")
-            //打开正压呼吸阀测试口阀门
-            ModbusJs.pbreathValveTestIo(controlSerial,true)
-            console.log("打开正压呼吸阀测试口阀门")
+        //开启压力超出范围了
+        if(obj.pressureNumber > setPressure){
+            //ret = false
+            log.show("当前压力大于 12kPa, 未开启")
+            break
         }
 
-        spy.wait(10)
+        delta = obj.pressureNumber - pre_pressure
+        pre_pressure = obj.pressureNumber
+
+        //if(delta < 0){
+        //    console.log("delta = %f", delta)
+        //    break
+        //    //keepCnt++
+        //}else
+        if(delta < 0.01){
+            keepCnt++
+        }else{
+            keepCnt=0
+        }
+
+        if(keepCnt > StablePressureCount){
+            //console.log("keepCnt > StablePressureCount")
+            break;
+        }
+
+
         var curTime  = Date.now()
         var deltaTime = curTime - prevTime
-        if(deltaTime > 900){
+        if(deltaTime > 1000){
             prevTime = curTime
-            openCnt++
             pressureDisplaySigFun(obj.pressureNumber)
             // add  pressure table
             var table={}
@@ -234,41 +286,28 @@ function positiveTestStart(currentIndex,tabView,processWindow,controlSerial,sens
             //开启压力模型赋值
             openPressureModel.append(table)
            // console.log("openPressureTimeMax:",openPressureTimeMax)
-            processWindow.text("开启压力试验时间"+(openPressureTimeMax-openCnt)+"s")
+            //processWindow.text("开启压力试验时间"+(openPressureTimeMax-openCnt)+"s")
         }
 
-    }while(obj.pressureNumber <=max && openCnt < openPressureTimeMax)
-
-    //正压:6~12kPa  得到开启压力
-    if(obj.pressureNumber >=min &&  obj.pressureNumber <= max && openCnt ===openPressureTimeMax){
-        openPressureNumber = obj.pressureNumber.toString()
-        var result={}
-        result.openPressureNumber = openPressureNumber
-        result.sealPressureNumber = ""
-        resultSigFun(result)
-        console.log("开启压力:",openPressureNumber)
-    }
-    else{
-        if(obj.pressureNumber < min){
-            openPressureNumber=obj.pressureNumber+"<"+min+"kPa"
-        }
-        else if(obj.pressureNumber > max){
-            openPressureNumber=obj.pressureNumber+">"+max+"kPa"
-        }
+        //延时
+        spy.wait(readPressureInterval)
 
-        result={}
-        result.openPressureNumber = openPressureNumber
-        result.sealPressureNumber = ""
-        resultSigFun(result)
+    }while(1)//(obj.pressureNumber <=max && openCnt < openPressureTimeMax)
 
-        //关闭正压罐进气阀门
-        ModbusJs.positivePressureTankInputCtrl(controlSerial,false)
-        console.log("关闭正压罐进气阀门")
-        console.log("开启压力:",openPressureNumber)
-        console.log("开启压力测试结束")
+    //通知数据
+    pressureDisplaySigFun(obj.pressureNumber)
+    // add  pressure table
+     table={}
+    table.pressure=obj.pressureNumber
+    //开启压力模型赋值
+    openPressureModel.append(table)
 
-        return false
-    }
+    openPressureNumber = obj.pressureNumber
+    var result={}
+    result.openPressureNumber = obj.pressureNumber
+    result.sealPressureNumber = ""
+    resultSigFun(result)
+    console.log("开启压力:",obj.pressureNumber)
     console.log("开启压力测试结束")
 
     //setp 4
@@ -279,41 +318,82 @@ function positiveTestStart(currentIndex,tabView,processWindow,controlSerial,sens
     ModbusJs.positivePressureTankInputCtrl(controlSerial,false)
     console.log("关闭正压罐进气阀门")
     //保持600s
-    var holdTimeCnt=0
+    //var holdTimeCnt=0
+    keepCnt = 0
     tabView.currentIndex = currentIndex+3
+    prevTime = Date.now()
+    StablePressureCount = openPressureTimeMax*1000/readPressureInterval
+
     do{
         if(running === false){
             console.log("停止测试")
             return false
         }
-        //obj = ModbusJs.lowPressureSensorReadReq(sensorSerial)
+
         obj = ModbusJs.lowPressureSensorReadReq(sensorSerial)
         if(obj.ret === false){
             log.show("低压传感器通讯错误")
             return false
         }
-        //密封压力模型赋值
-        table={}
-        table.pressure=obj.pressureNumber
-        sealPressureModel.append(table)
-        //压力实时显示
-        pressureDisplaySigFun(obj.pressureNumber)
-        spy.wait(900)
-        holdTimeCnt++
-        processWindow.text("密封压力试验时间"+(sealPressureTimemax-holdTimeCnt)+"s")
-    }while(holdTimeCnt < sealPressureTimemax ) //传感器值是否能一直稳定住??????
 
-    sealPressureNumber = obj.pressureNumber.toString()
+        delta = pre_pressure - obj.pressureNumber
+        pre_pressure = obj.pressureNumber
+
+
+        if(obj.pressureNumber < 0.6){
+            log.show("当前压力小于 0.6kPa, 疑似漏气")
+            //ret = false
+            break
+        }
+
+
+        if(delta <= 0.01){
+            keepCnt++
+        }else{
+            keepCnt=0
+        }
+
+        if(keepCnt > StablePressureCount){
+            break;
+        }
+
+        //压力数据通知
+        curTime  = Date.now()
+        deltaTime = curTime - prevTime
+        if(deltaTime > 1000){
+            prevTime = curTime
+            pressureDisplaySigFun(obj.pressureNumber)
+            // add  pressure table
+            table={}
+            table.pressure=obj.pressureNumber
+            sealPressureModel.append(table)
+            //processWindow.text("密封压力试验时间"+(sealPressureTimemax-holdTimeCnt)+"s")
+            //processWindow.text("21kPa压力进气时间"+(sealPressureTimemax-sealCnt)+"s")
+
+        }
+
+        //延时
+        spy.wait(readPressureInterval)
+
+
+    }while(1)//(holdTimeCnt < sealPressureTimemax ) //传感器值是否能一直稳定住??????
+
+    pressureDisplaySigFun(obj.pressureNumber)
+    // add  pressure table
+    table={}
+    table.pressure=obj.pressureNumber
+    sealPressureModel.append(table)
+
+    sealPressureNumber = obj.pressureNumber//.toString()
     result={}
     result.openPressureNumber = openPressureNumber
     result.sealPressureNumber = sealPressureNumber
     resultSigFun(result)
+    console.log("密封压力:",obj.pressureNumber)
     console.log("密封压力结束")
 
 
     //setp 5
-    ModbusJs.pressureSensorCtrl(controlSerial,"高压")
-    console.log("打开高压传感器阀门")
     //打开正压罐头泄气阀门
     ModbusJs.positivePressureTankOutputCtrl(controlSerial,true)
     console.log("打开正压罐头泄气阀门")
@@ -328,9 +408,9 @@ function positiveTestStart(currentIndex,tabView,processWindow,controlSerial,sens
             return false
         }
 
-        obj = ModbusJs.highPressureSensorReadReq(sensorSerial)
+        obj = ModbusJs.lowPressureSensorReadReq(sensorSerial)
         if(obj.ret === false){
-            log.show("压传感器通讯错误")
+            log.show("压传感器通讯错误")
             return false
         }
         // signal 压力显示函数
@@ -353,6 +433,8 @@ function positiveTestStart(currentIndex,tabView,processWindow,controlSerial,sens
     return true
 
 }
+
+
 //负压开启压力和密封试验
 /*  openPressureModel       测试开启压力过程表模型
  *  sealPressureModel       测试密封压力过程表模型
@@ -369,25 +451,34 @@ function negativeTestStart(currentIndex,tabView,processWindow,controlSerial,sens
     //自检
     var openPressureNumber
     var sealPressureNumber
+
+    var ret = true
+    var StablePressureCount = maxPressureStableTime*1000/readPressureInterval
+
+
     //setp 1
     // 关闭所有测试口
     ModbusJs.negativePumpPowerCtrl(controlSerial,false)
     console.log("关闭 负压泵")
     ModbusJs.turnOffAllTestIO(controlSerial)
     console.log("关闭所有测试口")
-    //打开负压呼吸阀测试口阀门 逻辑有改变 从一开始就打开 不然无法泄压
+    //打开负压呼吸阀测试口阀门
     ModbusJs.nbreathValveTestIo(controlSerial,true)
     console.log("打开负压呼吸阀测试口阀门")
+
     ModbusJs.pressureSensorCtrl(controlSerial,"负压")
     console.log("打开负压传感器阀门")
+
     //关闭负压罐进气阀门
     ModbusJs.negativePressureTankInputCtrl(controlSerial,false)
     console.log("关闭负压罐进气阀门 微调")
+
+    //setp 2
     processWindow.show("等待压力到0kPa")
     //打开负压罐头泄气阀门
     ModbusJs.negativePressureTankOutputCtrl(controlSerial,true)
     console.log("打开负压罐头泄气阀门")
-    //setp 2
+
     //查看负压传感器值 等待负压压罐头压力至0kPa
     var timeout = 0
     var end_count=0
@@ -421,6 +512,9 @@ function negativeTestStart(currentIndex,tabView,processWindow,controlSerial,sens
     }
     console.log("压力到 0 kPa")
 
+    ModbusJs.negativePressureTankOutputCtrl(controlSerial,false)
+    console.log("关闭负压罐泄气阀门")
+
     //setp 3
     /*********测试开启压力*************/
     ModbusJs.negativePumpPowerCtrl(controlSerial,true)
@@ -431,17 +525,34 @@ function negativeTestStart(currentIndex,tabView,processWindow,controlSerial,sens
 //    ModbusJs.nbreathValveTestIo(controlSerial,true)
 //    console.log("打开负压呼吸阀测试口阀门")
     //关闭负压罐泄气阀门
-    ModbusJs.negativePressureTankOutputCtrl(controlSerial,false)
-    console.log("关闭负压罐泄气阀门")
+    //ModbusJs.negativePressureTankOutputCtrl(controlSerial,false)
+    //console.log("关闭负压罐泄气阀门")
     //关闭 负压罐进气阀门
-    ModbusJs.negativePressureTankInputCtrl(controlSerial,false)
-    console.log("关闭负压罐进气阀门 微调")
+
+    //打开进气阀门
+    ModbusJs.negativePressureTankInputCtrl(controlSerial,true)
+    console.log("打开负压罐抽气阀门 微调")
     tabView.currentIndex = currentIndex
-    var openCnt = 0
-    //    var min = -4
-    //    var max = -2
-    var min = -10
-    var max = 5
+
+    var pre_pressure = 0
+    var delta = 0
+    var keepCnt = 0
+    var prevTime  = Date.now()
+
+    obj = ModbusJs.lowPressureSensorReadReq(sensorSerial)
+    if(obj.ret === false){
+        log.show("低压传感器通讯错误")
+        return false
+    }
+
+    pre_pressure = obj.pressureNumber
+    spy.wait(readPressureInterval)
+
+    //ret = true
+    StablePressureCount = openPressureTimeMax*1000/readPressureInterval
+
+    var min = -4
+    var max = -2
 
     do{
         if(running === false){
@@ -455,51 +566,64 @@ function negativeTestStart(currentIndex,tabView,processWindow,controlSerial,sens
             log.show("负压传感器通讯错误")
             return false
         }
-        pressureDisplaySigFun(obj.pressureNumber)
-        // add  pressure table
-        var table={}
-        table.pressure=obj.pressureNumber
-        //开启压力模型赋值
-        openPressureModel.append(table)
-        spy.wait(900)
-        openCnt++
-        //console.log("openCnt:",openCnt)
-        processWindow.text("开启压力试验时间"+(openPressureTimeMax-openCnt)+"s")
-    }while(obj.pressureNumber >= min && openCnt < openPressureTimeMax)
-
-    //得到开启压力
-    if(obj.pressureNumber >=min &&  obj.pressureNumber <= max && openCnt ===openPressureTimeMax){
-        openPressureNumber = obj.pressureNumber.toString()
-        var result={}
-        result.openPressureNumber = openPressureNumber
-        result.sealPressureNumber = ""
-        resultSigFun(result)
-        console.log("开启压力:",openPressureNumber)
-    }
-    else{
+
+        delta = pre_pressure - obj.pressureNumber
+        pre_pressure = obj.pressureNumber
+
+
         if(obj.pressureNumber < min){
-            openPressureNumber=obj.pressureNumber+"<"+min
+            log.show("当前压力低于 -4.0 kPa, 未开启")
+            //ret = false
+            break
         }
-        else if(obj.pressureNumber > max){
-            openPressureNumber=obj.pressureNumber+">"+max
+
+
+        if(delta <= 0.01){
+            keepCnt++
+        }else{
+            keepCnt=0
         }
 
-        result={}
-        result.openPressureNumber = openPressureNumber
-        result.sealPressureNumber = ""
-        resultSigFun(result)
+        if(keepCnt > StablePressureCount){
+            break;
+        }
+
+        //压力数据通知
+        var curTime  = Date.now()
+        var deltaTime = curTime - prevTime
+        if(deltaTime > 1000){
+            prevTime = curTime
+            pressureDisplaySigFun(obj.pressureNumber)
+            // add  pressure table
+            var table={}
+            table.pressure=obj.pressureNumber
+            openPressureModel.append(table)
+            //processWindow.text("密封压力试验时间"+(sealPressureTimemax-holdTimeCnt)+"s")
+            //processWindow.text("21kPa压力进气时间"+(sealPressureTimemax-sealCnt)+"s")
+
+        }
+
+        //延时
+        spy.wait(readPressureInterval)
+
+
+    }while(1)//(obj.pressureNumber >= min && openCnt < openPressureTimeMax)
+
+
+    pressureDisplaySigFun(obj.pressureNumber)
+    // add  pressure table
+    table={}
+    table.pressure=obj.pressureNumber
+    openPressureModel.append(table)
+
+    openPressureNumber = obj.pressureNumber//.toString()
+    var result={}
+    result.openPressureNumber = openPressureNumber
+    result.sealPressureNumber = ""
+    resultSigFun(result)
+    console.log("开启压力:",openPressureNumber)
 
-        //关闭负压罐进气阀门
-        ModbusJs.negativePressureTankInputCtrl(controlSerial,false)
-        console.log("关闭负压罐进气阀门 微调")
-        console.log("开启压力:",openPressureNumber)
-        console.log("开启压力测试结束")
-        return false
-    }
-    console.log("开启压力测试结束")
 
-    //setp 4
-    /*********测试密封压力*************/
     console.log("密封压力开始")
     processWindow.show("密封压力试验开始")
     //关闭负压罐进气阀门
@@ -508,8 +632,15 @@ function negativeTestStart(currentIndex,tabView,processWindow,controlSerial,sens
     ModbusJs.negativePumpPowerCtrl(controlSerial,false)
     console.log("关闭 负压泵")
 
+    console.log("开启压力测试结束")
+
+
+    //setp 4
+    /*********测试密封压力*************/
     var holdTimeCnt=0
     tabView.currentIndex =currentIndex+3
+    keepCnt=0
+
     do{
         if(running === false){
             console.log("停止测试")
@@ -518,21 +649,60 @@ function negativeTestStart(currentIndex,tabView,processWindow,controlSerial,sens
         obj =ModbusJs.lowPressureSensorReadReq(sensorSerial)
         //obj = ModbusJs.negativePressureSensorReadReq(sensorSerial)
         if(obj.ret === false){
-            log.show("压传感器通讯错误")
+            log.show("压传感器通讯错误")
             return false
         }
-        //密封压力模型赋值
-        table={}
-        table.pressure=obj.pressureNumber
-        sealPressureModel.append(table)
-        //压力实时显示
-        pressureDisplaySigFun(obj.pressureNumber)
-        spy.wait(900)
-        holdTimeCnt++
-        processWindow.text("密封压力试验时间"+(sealPressureTimemax-holdTimeCnt)+"s")
-    }while(holdTimeCnt < sealPressureTimemax )
 
-    sealPressureNumber = obj.pressureNumber.toString()
+        delta = obj.pressureNumber - pre_pressure
+        pre_pressure = obj.pressureNumber
+
+
+        if(obj.pressureNumber > max){
+            log.show("当前压力高于 -2.0 kPa, 疑似漏气")
+            //ret = false
+            break
+        }
+
+
+        if(delta <= 0.01){
+            keepCnt++
+        }else{
+            keepCnt=0
+        }
+
+        if(keepCnt > StablePressureCount){
+            break;
+        }
+
+        //压力数据通知
+        curTime  = Date.now()
+        deltaTime = curTime - prevTime
+        if(deltaTime > 1000){
+            prevTime = curTime
+            pressureDisplaySigFun(obj.pressureNumber)
+            // add  pressure table
+            table={}
+            table.pressure=obj.pressureNumber
+            sealPressureModel.append(table)
+            //processWindow.text("密封压力试验时间"+(sealPressureTimemax-holdTimeCnt)+"s")
+            //processWindow.text("21kPa压力进气时间"+(sealPressureTimemax-sealCnt)+"s")
+
+        }
+
+        //延时
+        spy.wait(readPressureInterval)
+
+
+    }while(1)
+
+    pressureDisplaySigFun(obj.pressureNumber)
+    // add  pressure table
+    table={}
+    table.pressure=obj.pressureNumber
+    sealPressureModel.append(table)
+
+
+    sealPressureNumber = obj.pressureNumber//.toString()
     result={}
     result.openPressureNumber = openPressureNumber
     result.sealPressureNumber = sealPressureNumber

+ 1 - 1
src/valve_experiment.pro.user

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 12.0.0, 2024-07-30T09:48:56. -->
+<!-- Written by QtCreator 12.0.0, 2024-08-02T21:24:11. -->
 <qtcreator>
  <data>
   <variable>EnvironmentId</variable>