浏览代码

改进安全阀检测方案,用继电器模块2的10号端口增加一路进气, 用人孔盖测试口作为另一路泄压, 提升检测效率

guoqiang 7 月之前
父节点
当前提交
d1ad1f430a
共有 3 个文件被更改,包括 36 次插入10 次删除
  1. 16 1
      src/modbus.js
  2. 19 8
      src/safeValveTest.js
  3. 1 1
      src/valve_experiment.pro.user

+ 16 - 1
src/modbus.js

@@ -32,6 +32,8 @@ var tankValveIO = "08"
 //真空阀测试口
 var vacuoValveIO = "03"
 
+//安全阀快速进气,用继电器2
+var safevalvehighspeedInputIO="09"
 //粗调阀
 var bigTuningValveIO = "07"
 //正压罐进气阀
@@ -261,7 +263,14 @@ function relayCtrlAdd(serial ,enable,io){
     return data
 }
 
-
+//快速进气  modbus:02  register:09
+function higspeedControl(serial,enable){
+    var data  =  relayCtrlAdd(serial ,enable,safevalvehighspeedInputIO)
+    if(data.length === 0){
+        console.log("安全阀快速进气"+"通讯错误")
+    }
+    return data
+}
 //粗调阀开关  modbus:01  register:07
 function bigTuningValveControl(serial,enable){
     var data  =  relayCtrl(serial ,enable,bigTuningValveIO)
@@ -794,6 +803,12 @@ function closeSingalValve(controlSerial){
         return
 
 
+    //快速进气阀
+    console.log("快速进气阀门开关 ")
+    data = higspeedControl(controlSerial, false)
+    if(data.length === 0)
+        return
+
     //粗调阀开关
     console.log("关闭 粗调阀开关阀门")
     data = bigTuningValveControl(controlSerial,false)

+ 19 - 8
src/safeValveTest.js

@@ -223,6 +223,9 @@ function valveStart(currentIndex,tabView,processWindow,controlSerial,sensorSeria
     ModbusJs.bigTuningValveControl(controlSerial,true)
     console.log("打开 粗调开关")
 
+    ModbusJs.higspeedControl(controlSerial,true)
+    console.log("打开 快速进气阀")
+
     processWindow.show("整定压力测试")
     console.log("整定压力测试开始")
 
@@ -242,6 +245,8 @@ function valveStart(currentIndex,tabView,processWindow,controlSerial,sensorSeria
     var preDelta = 0
     var min = 0.6*setPressure
     var max = 1.2*setPressure
+    var switch_pressure = setPressure-30;
+    var highspeed_open = true
     //var setPressure = 100
 
     ret = true
@@ -273,12 +278,16 @@ function valveStart(currentIndex,tabView,processWindow,controlSerial,sensorSeria
                 break
             }
 
+            if((obj.pressureNumber >= switch_pressure) && (true === highspeed_open)){
+                ModbusJs.higspeedControl(controlSerial,false)
+                console.log("关闭 快速进气阀")
+                highspeed_open = false
+            }
+
             delta = obj.pressureNumber2 - pre_pressure
             pre_pressure = obj.pressureNumber2
 
-
-
-            if((delta < (preDelta-0.03)) || (delta <= 0.2)){
+            if((delta < 0.8) && ((delta < (preDelta-0.03)) || (delta <= 0.2))){
                 keepCnt++
             }else{
                 keepCnt=0
@@ -322,9 +331,6 @@ function valveStart(currentIndex,tabView,processWindow,controlSerial,sensorSeria
     console.log("安全阀整定压力测试结束")
 
 
-
-
-
     // obj = ModbusJs.testFixedPressure(controlSerial,setPressure+30)
     // if(obj.ret === true){
     //     ModbusJs.proportionalControlWrite(controlSerial,obj.voltage)
@@ -592,6 +598,8 @@ function valveStart(currentIndex,tabView,processWindow,controlSerial,sensorSeria
     //打开正压罐头泄气阀门
     ModbusJs.positivePressureTankOutputCtrl(controlSerial,true)
     console.log("打开正压罐头泄气阀门")
+    ModbusJs.peopleCoverHoleValveTestIO(controlSerial,true)
+    console.log("打开人孔盖测试口,用来泄压")
     console.log("等待压力 0kPa")
     //查看低压传感器值 等待正压罐头压力降到最低值
     processWindow.show("试验结束,泄气中")
@@ -616,10 +624,13 @@ function valveStart(currentIndex,tabView,processWindow,controlSerial,sensorSeria
         if(obj.pressureNumber <= pthreshold_Setzero){
             end_count++;
         }
-    }while(end_count < delaycount_Setzero && timeout < 180)
+    }while(end_count < (2*delaycount_Setzero) && timeout < 180)
 
     //关闭正压罐头泄气阀门
     ModbusJs.positivePressureTankOutputCtrl(controlSerial,false)
+    console.log("关闭正压罐泄气阀门")
+    ModbusJs.peopleCoverHoleValveTestIO(controlSerial,false)
+    console.log("关闭人孔盖测试口")
 
     // //打开正压罐头泄气阀门
     // ModbusJs.positivePressureTankOutputCtrl(controlSerial,true)
@@ -648,7 +659,7 @@ function valveStart(currentIndex,tabView,processWindow,controlSerial,sensorSeria
 
     //step 6
     //ModbusJs.closeAllValve(controlSerial)
-    ModbusJs.closeAllValve(controlSerial)
+    //ModbusJs.closeAllValve(controlSerial)
     console.log("关闭所有阀门")
 
     return true

+ 1 - 1
src/valve_experiment.pro.user

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 14.0.0, 2024-09-19T09:52:43. -->
+<!-- Written by QtCreator 14.0.0, 2025-01-20T16:39:16. -->
 <qtcreator>
  <data>
   <variable>EnvironmentId</variable>