Bläddra i källkod

恢复安全阀的测试逻辑到之前的状态

guoqiang 1 år sedan
förälder
incheckning
7d587ea66e
1 ändrade filer med 43 tillägg och 139 borttagningar
  1. 43 139
      src/safeValveTest.js

+ 43 - 139
src/safeValveTest.js

@@ -4,7 +4,7 @@
 var running = false
 var runningBackup = false
 //开启压力测试计时时间
-var openPressureTimeMax = 120
+var openPressureTimeMax = 30
 //密封压力测试计时时间
 var sealPressureTimemax = 60
 //安全阀默认整定压力
@@ -132,7 +132,6 @@ function valveStart(currentIndex,tabView,processWindow,controlSerial,sensorSeria
     runningBackup = running
     var openPressureNumber
     var sealPressureNumber
-    var pressure_beforeopen = 0
 
     // 关闭所有测试口
     ModbusJs.turnOffAllTestIO(controlSerial)
@@ -166,7 +165,7 @@ function valveStart(currentIndex,tabView,processWindow,controlSerial,sensorSeria
         pressureDisplaySigFun(obj.pressureNumber)
         //延时
         spy.wait(900)
-    }while(Number(obj.pressureNumber) > 0.1 )
+    }while(obj.pressureNumber > 0.1 )
     console.log("压力降压到 0 kPa")
 
     obj = ModbusJs.testFixedPressure(controlSerial,setPressure+30)
@@ -175,23 +174,25 @@ function valveStart(currentIndex,tabView,processWindow,controlSerial,sensorSeria
         console.log("比例调压阀压力值:",obj.voltage)
     }
 
+    // ModbusJs.proportionalControlWrite(controlSerial,427)  //139.8 kPa
+    console.log("打开调节阀")
+
     /*********测试整定压力*************/
-    //打开正压安全阀测试口阀门
-    ModbusJs.safeValveTestIo(controlSerial,true)
-    console.log("打开安全阀测试口阀门")
+    //    //打开正压安全阀测试口阀门
+    //    ModbusJs.safeValveTestIo(controlSerial,true)
+    //    console.log("打开安全阀测试口阀门")
     //关闭正压罐头泄气阀门
     ModbusJs.positivePressureTankOutputCtrl(controlSerial,false)
     console.log("关闭正压罐头泄气阀门")
     //打开进气阀门
     ModbusJs.positivePressureTankInputCtrl(controlSerial,true)
     console.log("打开进气阀门")
-
     tabView.currentIndex = currentIndex  ////切换当前tab页面
 
     var min = 0
-    var max = setPressure*1.5 //高压最大范围
-    //if(max > 450)
-    //    max = 450
+    var max = setPressure*2 //高压最大范围
+    if(max > 450)
+        max = 450
     //    console.log("setPressure:",setPressure)
     //    console.log("min:",min)
     //    console.log("max:",max)
@@ -222,40 +223,38 @@ function valveStart(currentIndex,tabView,processWindow,controlSerial,sensorSeria
             prevTime = curTime
             pressureDisplaySigFun(obj.pressureNumber)
             bitCnt++
-
+            //            console.log("obj.pressureNumber:",obj.pressureNumber)
+            //            console.log("bitCnt:",bitCnt)
         }
 
         //粗调压力值
         //控制逻辑改动 先这样修改
-        var bigLevel = setPressure*0.8
-        if(Number(obj.pressureNumber) > bigLevel && bigAcive === true){
+        var bigLevel = setPressure+20
+        if(obj.pressureNumber > bigLevel && bigAcive === true){
             bigAcive = false
             ModbusJs.bigTuningValveControl(controlSerial,false)
             ModbusJs.bigTuningValveControl(controlSerial,false)
             console.log("关闭 粗调开关")
             //打开正压安全阀测试口阀门
-            //ModbusJs.safeValveTestIo(controlSerial,true)
-            //console.log("打开安全阀测试口阀门")
+            ModbusJs.safeValveTestIo(controlSerial,true)
+            console.log("打开安全阀测试口阀门")
             break
         }
 
-    }while(Number(obj.pressureNumber) < max && bitCnt < 120)
+
+    }while(obj.pressureNumber < max && bitCnt < 120)
     if(bitCnt === 120){
         processWindow.show("调整压力失败")
         return false
     }
 
-    processWindow.show("整定试验开始")
-    pressure_beforeopen=Number(obj.pressureNumber)
 
+    processWindow.show("整定试验开始")
     do{
         if(running === false){
             console.log("停止测试")
             return false
         }
-
-        spy.wait(900)
-
         obj = ModbusJs.highPressureSensorReadReq(sensorSerial)
         if(obj.ret === false){
             log.show("高压传感器通讯错误")
@@ -268,21 +267,14 @@ function valveStart(currentIndex,tabView,processWindow,controlSerial,sensorSeria
         table.pressure=obj.pressureNumber
         //开启压力模型赋值
         openPressureModel.append(table)
-        if(Number(obj.pressureNumber) >= pressure_beforeopen ){
-            pressure_beforeopen=Number(obj.pressureNumber)
-        }else{
-            break
-        }
-
+        spy.wait(900)
         openCnt++
-
         processWindow.text("整定压力试验时间"+(openPressureTimeMax-openCnt)+"s")
+    }while(obj.pressureNumber <=max  && openCnt < openPressureTimeMax)
 
-    }while(Number(obj.pressureNumber) <=max  && openCnt < openPressureTimeMax)
 
-
-    if(Number(obj.pressureNumber) <= max && openCnt<openPressureTimeMax){
-        openPressureNumber = pressure_beforeopen.toString()
+    if(obj.pressureNumber >=min &&  obj.pressureNumber <= max && openCnt ===openPressureTimeMax){
+        openPressureNumber = obj.pressureNumber.toString()
         var result={}
         result.openPressureNumber = openPressureNumber
         result.sealPressureNumber = ""
@@ -290,13 +282,12 @@ function valveStart(currentIndex,tabView,processWindow,controlSerial,sensorSeria
         console.log("整定压力:",openPressureNumber)
     }
     else{
-        if(Number(obj.pressureNumber) < min){
+        if(obj.pressureNumber < min){
             openPressureNumber=obj.pressureNumber+"<"+min+"kPa"
         }
-        else if(Number(obj.pressureNumber) > max){
+        else if(obj.pressureNumber > max){
             openPressureNumber=obj.pressureNumber+">"+max+"kPa"
         }
-
         result={}
         result.openPressureNumber = openPressureNumber
         result.sealPressureNumber = ""
@@ -306,29 +297,10 @@ function valveStart(currentIndex,tabView,processWindow,controlSerial,sensorSeria
         ModbusJs.positivePressureTankInputCtrl(controlSerial,false)
         console.log("关闭正压罐进气阀门")
         console.log("整定压力:",openPressureNumber)
-        processWindow.text("整定压力试验超时")
+        console.log("整定压力测试结束")
         return false
     }
-
     console.log("整定压力测试结束")
-    //console.log("当前压力:",obj.pressureNumber.toString())
-    //console.log("前一次压力:",pressure_beforeopen)
-    /*判断整定压力是否合格*/
-    if(setPressure <= 500 ){
-        if(Math.abs(setPressure-pressure_beforeopen) > 15){
-            console.log("整定压力不合格")
-            processWindow.show("整定压力不合格, 试验结束")
-            return false
-
-        }
-    }else{
-        if(Math.abs(setPressure-pressure_beforeopen)>setPressure*0.3)
-        {
-            console.log("整定压力不合格")
-            processWindow.show("整定压力不合格, 试验结束")
-            return false
-        }
-    }
 
     /*********测试密封压力*************/
     console.log("密封压力开始")
@@ -336,86 +308,14 @@ function valveStart(currentIndex,tabView,processWindow,controlSerial,sensorSeria
     //关闭正压罐进气阀门
     ModbusJs.positivePressureTankInputCtrl(controlSerial,false)
     console.log("关闭正压罐进气阀门")
-    //先泄压到整定压力的50%
-    //打开正压罐头泄气阀门
-    ModbusJs.positivePressureTankOutputCtrl(controlSerial,true)
-    console.log("打开正压罐头泄气阀门,等待压力值达到整定压力值的 50%")
-    //查看低压传感器值 等待正压罐头压力降到最低值
-    processWindow.show("泄气中,即将开启密封测试")
-    var use_pressure = pressure_beforeopen
-    var _target=0;
-    if(use_pressure < 300){
-        _target= use_pressure-50
-    }else{
-        _target= use_pressure*0.9-20
-    }
-    do{
-        if(running === false){
-            console.log("停止测试")
-            return
-        }
-        obj = ModbusJs.highPressureSensorReadReq(sensorSerial)
-        if(obj.ret === false){
-            log.show("高压传感器通讯错误")
-            return false
-        }
-        // signal 压力显示函数
-        pressureDisplaySigFun(obj.pressureNumber)
-        //延时
-        spy.wait(450)
-    }while(Number(obj.pressureNumber) > _target)
-
-    //关闭正压罐头泄气阀门
-    ModbusJs.positivePressureTankOutputCtrl(controlSerial,false)
-
-    spy.wait(3000)
-
-    //缓慢加压开始
-    var seal_target = 0
-    if(use_pressure <= 300){
-        seal_target = use_pressure-30
-    }else{
-        seal_target = use_pressure*0.9
-    }
-
-    processWindow.text("加压到:"+(seal_target)+"kPa")
-
-    //打开正压罐头进气阀门
-    ModbusJs.positivePressureTankInputCtrl(controlSerial,true)
-
-    do{
-        if(running === false){
-            console.log("停止测试")
-            return
-        }
-        obj = ModbusJs.highPressureSensorReadReq(sensorSerial)
-        if(obj.ret === false){
-            log.show("高压传感器通讯错误")
-            return false
-        }
-        // signal 压力显示函数
-        pressureDisplaySigFun(obj.pressureNumber)
-        //延时
-        spy.wait(900)
-    }while(Number(obj.pressureNumber) <= seal_target)
-
-    //关闭正压罐进气阀门
-    ModbusJs.positivePressureTankInputCtrl(controlSerial,false)
-    console.log("关闭正压罐进气阀门")
-
     var holdTimeCnt=0
     tabView.currentIndex = currentIndex+3 //切换当前tab页面
 
-    var pressure_afterclose = Number(obj.pressureNumber)
-    var equal_count = 0
     do{
         if(running === false){
             console.log("停止测试")
             return false
         }
-
-        spy.wait(900)
-
         obj = ModbusJs.highPressureSensorReadReq(sensorSerial)
         if(obj.ret === false){
             log.show("高压传感器通讯错误")
@@ -427,21 +327,25 @@ function valveStart(currentIndex,tabView,processWindow,controlSerial,sensorSeria
         sealPressureModel.append(table)
         //压力实时显示
         pressureDisplaySigFun(obj.pressureNumber)
-        if(Math.abs(Number(obj.pressureNumber)-pressure_afterclose) < 0.1){
-            equal_count++
-            if(equal_count >= 10)
-                break;
-
-        }else{
-            equal_count=0
-        }
-
-        pressure_afterclose = obj.pressureNumber
+        spy.wait(900)
         holdTimeCnt++
         processWindow.text("密封压力试验时间"+(sealPressureTimemax-holdTimeCnt)+"s")
     }while(holdTimeCnt < sealPressureTimemax )
 
-    sealPressureNumber = obj.pressureNumber+""
+    sealPressureNumber = obj.pressureNumber.toString()
+    //    //整定压力<0.3MPa时取(整定压力-0.03)MPa,整定压力≥0.3MPa时,取整定压力*0.9倍。
+    //    if(setPressure < 300)
+    //        var level = Number(setPressure) - 30
+    //    else {
+    //        level = Number(setPressure)*0.9
+    //        level = level.toFixed(1)
+    //    }
+    //    if(obj.pressureNumber < level){
+    //        sealPressureNumber = obj.pressureNumber+"<"+level+"kPa"
+    //    }
+    //    else{
+    //        sealPressureNumber = obj.pressureNumber.toString()
+    //    }
 
     result={}
     result.openPressureNumber = openPressureNumber
@@ -469,7 +373,7 @@ function valveStart(currentIndex,tabView,processWindow,controlSerial,sensorSeria
         pressureDisplaySigFun(obj.pressureNumber)
         //延时
         spy.wait(900)
-    }while(Number(obj.pressureNumber) > 0.1 )
+    }while(obj.pressureNumber > 0.1 )
     //关闭正压罐头泄气阀门
 
     console.log("压力 0kPa")