.import "modbus.js" as ModbusJs var running = false var runningBackup = false var openPressureTimeMax = 10 var sealPressureTimemax = 15 var exit = false var capsizeOpenPresure = 10 var capsizeSetPressure = 32 var pthreshold_Setzero = 0.2 var nthreshold_Setzero = -0.2 var delaycount_Setzero = 3 var readPressureInterval = 200 // ms var maxPressureStableTime = 20 var releasePressureTimeOut = 180 function positiveTestStop(controlSerial,pressureDisplaySigFun,spy,log){ ModbusJs.pressureSensorCtrl(controlSerial,"高压") console.log("打开高压传感器阀门") //关闭正压罐进气阀门 ModbusJs.positivePressureTankInputCtrl(controlSerial,false) console.log("关闭正压罐进气阀门") //打开正压罐头泄气阀门 ModbusJs.positivePressureTankOutputCtrl(controlSerial,true) console.log("打开正压罐头泄气阀门") //查看高压传感器值 等待正压罐头压力降到最低值 var timeout = 0 var end_count = 0 do{ //重新开始时 停止测试 if(runningBackup === false && running === true){ console.log("停止测试") ModbusJs.closeAllValve(controlSerial) return } if(exit === true) return var obj = ModbusJs.highPressureSensorReadReq(sensorSerial) if(obj.ret === false){ log.show("高压传感器通讯错误") return false } // signal 压力显示函数 pressureDisplaySigFun(obj.pressureNumber) //延时 spy.wait(900) timeout++ if(obj.pressureNumber <= pthreshold_Setzero){ end_count++; //console.log("111: pressure:"+ obj.pressureNumber +", pthreshold_setzero:"+pthreshold_Setzero) }else{ //console.log("222: pressure:"+ obj.pressureNumber +", pthreshold_setzero:"+pthreshold_Setzero) } }while(end_count < delaycount_Setzero && timeout < 180) ModbusJs.closeAllValve(controlSerial) console.log("关闭 关闭所有阀门") } function negativeTestStop(controlSerial,pressureDisplaySigFun,spy,log){ //打开负压呼吸阀测试口阀门 逻辑有改变 从一开始就打开 不然无法泄压 ModbusJs.nbreathValveTestIo(controlSerial,true) console.log("打开负压呼吸阀测试口阀门") //关闭负压罐进气阀门 ModbusJs.negativePressureTankInputCtrl(controlSerial,false) console.log("关闭负压罐进气阀门") //关闭 负压泵 ModbusJs.negativePumpPowerCtrl(controlSerial,false) console.log("关闭 负压泵") //打开负压罐头泄气阀门 ModbusJs.negativePressureTankOutputCtrl(controlSerial,true) console.log("打开负压罐头泄气阀门") //查看负压传感器值 等待负压罐头压力降到最低值 var timeout = 0 var end_count =0 do{ //重新开始时 停止测试 if(runningBackup === false && running === true){ console.log("停止测试") ModbusJs.closeAllValve(controlSerial) return } if(exit === true) return //var obj = ModbusJs.negativePressureSensorReadReq(sensorSerial) var obj =ModbusJs.lowPressureSensorReadReq(sensorSerial) if(obj.ret === false){ log.show("低压传感器通讯错误") return false } // signal 压力显示函数 pressureDisplaySigFun(obj.pressureNumber) //延时 spy.wait(900) timeout++ if(obj.pressureNumber >= nthreshold_Setzero){ end_count++; } }while(end_count < delaycount_Setzero && timeout < 180) ModbusJs.closeAllValve(controlSerial) console.log("关闭 关闭所有阀门") } //正压开启压力和密封试验 /* openPressureModel 测试开启压力过程表模型 * sealPressureModel 测试密封压力过程表模型 * pressureDisplaySigFun 压力显示信号函数 * resultSigFun 结果显示信号函数 */ function positiveTestStart(currentIndex,tabView,processWindow,controlSerial,sensorSerial,openPressureModel,sealPressureModel,pressureDisplaySigFun,resultSigFun,spy,log){ 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.positivePressureTankInputCtrl(controlSerial,false) console.log("关闭正压罐进气阀门") //setp 2 //查看低压传感器值 等待正压罐头压力降到最低值 processWindow.show("等待压力降到0") //打开正压罐头泄气阀门 ModbusJs.positivePressureTankOutputCtrl(controlSerial,true) console.log("打开正压罐头泄气阀门") var timeout = 0 var end_count = 0 do{ if(running === false){ console.log("停止测试") return false } var obj = ModbusJs.lowPressureSensorReadReq(sensorSerial) if(obj.ret === false){ log.show("低压传感器通讯错误") return false } // signal 压力显示函数 pressureDisplaySigFun(obj.pressureNumber) //延时 spy.wait(900) timeout++ if(obj.pressureNumber <= pthreshold_Setzero){ end_count++; } }while(end_count < delaycount_Setzero && timeout < 180) if(timeout === 180){ log.show("泄压超时") ModbusJs.closeAllValve(controlSerial) console.log("关闭所有阀门") return false } console.log("压力降压到 0 kPa") //关闭正压罐头泄气阀门 ModbusJs.positivePressureTankOutputCtrl(controlSerial,false) console.log("关闭正压罐头泄气阀门") //setp 3 /*********测试开启压力*************/ //ModbusJs.pressureSensorCtrl(controlSerial,"低压") //console.log("打开低压传感器阀门") //打开正压呼吸阀测试口阀门 ModbusJs.pbreathValveTestIo(controlSerial,true) console.log("打开正压呼吸阀测试口阀门") //打开进气阀门 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("开启压力测试开始") var pre_pressure = 0 var delta = 0 var keepCnt = 0 //打开进气阀门 ModbusJs.positivePressureTankInputCtrl(controlSerial,true) console.log("打开进气阀门") tabView.currentIndex = currentIndex 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("停止测试") return false } //obj = ModbusJs.lowPressureSensorReadReq(sensorSerial) obj = ModbusJs.lowPressureSensorReadReq(sensorSerial) if(obj.ret === false){ log.show("低压传感器通讯错误") return false } //开启压力超出范围了 if(obj.pressureNumber > setPressure){ //ret = false log.show("当前压力大于 12kPa, 未开启") break } 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 > 1000){ prevTime = curTime pressureDisplaySigFun(obj.pressureNumber) // add pressure table var table={} table.pressure=obj.pressureNumber //开启压力模型赋值 openPressureModel.append(table) // console.log("openPressureTimeMax:",openPressureTimeMax) //processWindow.text("开启压力试验时间"+(openPressureTimeMax-openCnt)+"s") } //延时 spy.wait(readPressureInterval) }while(1)//(obj.pressureNumber <=max && openCnt < openPressureTimeMax) //通知数据 pressureDisplaySigFun(obj.pressureNumber) // add pressure table table={} table.pressure=obj.pressureNumber //开启压力模型赋值 openPressureModel.append(table) openPressureNumber = obj.pressureNumber var result={} result.openPressureNumber = obj.pressureNumber result.sealPressureNumber = "" resultSigFun(result) console.log("开启压力:",obj.pressureNumber) console.log("开启压力测试结束") //setp 4 /*********测试密封压力*************/ console.log("密封压力开始") processWindow.show("密封压力试验开始") //关闭正压罐进气阀门 ModbusJs.positivePressureTankInputCtrl(controlSerial,false) console.log("关闭正压罐进气阀门") //保持600s //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) if(obj.ret === false){ log.show("低压传感器通讯错误") return false } 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.positivePressureTankOutputCtrl(controlSerial,true) console.log("打开正压罐头泄气阀门") console.log("等待压力 0kPa") //查看低压传感器值 等待正压罐头压力降到最低值 processWindow.show("试验结束,泄气中") timeout = 0 end_count = 0 do{ if(running === false){ console.log("停止测试") return false } obj = ModbusJs.lowPressureSensorReadReq(sensorSerial) if(obj.ret === false){ log.show("低压传感器通讯错误") return false } // signal 压力显示函数 pressureDisplaySigFun(obj.pressureNumber) //延时 spy.wait(900) timeout++ if(obj.pressureNumber <= pthreshold_Setzero){ end_count++; } }while(end_count < delaycount_Setzero && timeout < 180) //关闭正压罐头泄气阀门 //setp 6 console.log("压力 0kPa") ModbusJs.closeAllValve(controlSerial) console.log("关闭所有阀门") return true } //负压开启压力和密封试验 /* openPressureModel 测试开启压力过程表模型 * sealPressureModel 测试密封压力过程表模型 * pressureDisplaySigFun 压力显示信号函数 * resultSigFun 结果显示信号函数 */ function negativeTestStart(currentIndex,tabView,processWindow,controlSerial,sensorSerial, openPressureModel,sealPressureModel, pressureDisplaySigFun,resultSigFun,spy,log) { runningBackup = running //自检 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("打开负压罐头泄气阀门") //查看负压传感器值 等待负压压罐头压力至0kPa var timeout = 0 var end_count=0 do{ if(running === false){ console.log("停止测试") return false } //var obj = ModbusJs.negativePressureSensorReadReq(sensorSerial) var obj =ModbusJs.lowPressureSensorReadReq(sensorSerial) if(obj.ret === false){ log.show("低压传感器通讯错误") return false } //signal 压力显示函数 console.log(obj.pressureNumber) pressureDisplaySigFun(obj.pressureNumber) //延时 spy.wait(900) timeout++ if(obj.pressureNumber >= nthreshold_Setzero){ end_count++; } }while(end_count < delaycount_Setzero && timeout < 180) if(timeout === 180){ log.show("泄压超时") ModbusJs.closeAllValve(controlSerial) console.log("关闭所有阀门") return false } console.log("压力到 0 kPa") ModbusJs.negativePressureTankOutputCtrl(controlSerial,false) console.log("关闭负压罐泄气阀门") //setp 3 /*********测试开启压力*************/ ModbusJs.negativePumpPowerCtrl(controlSerial,true) console.log("打开 负压泵") processWindow.show("开启压力试验开始") console.log("开启压力测试开始") //打开负压呼吸阀测试口阀门 全称微调 不需要打开 逻辑有改变 // ModbusJs.nbreathValveTestIo(controlSerial,true) // console.log("打开负压呼吸阀测试口阀门") //关闭负压罐泄气阀门 //ModbusJs.negativePressureTankOutputCtrl(controlSerial,false) //console.log("关闭负压罐泄气阀门") //关闭 负压罐进气阀门 //打开进气阀门 ModbusJs.negativePressureTankInputCtrl(controlSerial,true) console.log("打开负压罐抽气阀门 微调") tabView.currentIndex = currentIndex 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){ console.log("停止测试") return false } //obj = ModbusJs.negativePressureSensorReadReq(sensorSerial) obj =ModbusJs.lowPressureSensorReadReq(sensorSerial) if(obj.ret === false){ log.show("负压传感器通讯错误") return false } delta = pre_pressure - obj.pressureNumber pre_pressure = obj.pressureNumber if(obj.pressureNumber < min){ log.show("当前压力低于 -4.0 kPa, 未开启") //ret = false break } if(delta <= 0.01){ keepCnt++ }else{ keepCnt=0 } 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) console.log("密封压力开始") processWindow.show("密封压力试验开始") //关闭负压罐进气阀门 ModbusJs.negativePressureTankInputCtrl(controlSerial,false) console.log("关闭负压罐进气阀门 微调") 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("停止测试") return false } obj =ModbusJs.lowPressureSensorReadReq(sensorSerial) //obj = ModbusJs.negativePressureSensorReadReq(sensorSerial) if(obj.ret === false){ log.show("低压传感器通讯错误") return false } 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 resultSigFun(result) console.log("密封压力结束") //setp 5 //关闭负压罐进气阀门 ModbusJs.negativePressureTankInputCtrl(controlSerial,false) console.log("关闭负压罐进气阀门 微调") //打开负压罐头泄气阀门 ModbusJs.negativePressureTankOutputCtrl(controlSerial,true) console.log("打开负压罐头泄气阀门") ModbusJs.negativePumpPowerCtrl(controlSerial,false) console.log("关闭 负压泵") console.log("等待压力 0kPa") //查看负压传感器值 等待负压罐到0kPa processWindow.show("试验结束,泄气中") timeout = 0 end_count = 0 do{ if(running === false){ console.log("停止测试") return } obj =ModbusJs.lowPressureSensorReadReq(sensorSerial) //obj = ModbusJs.negativePressureSensorReadReq(sensorSerial) if(obj.ret === false){ log.show("负压传感器通讯错误") return false } // signal 压力显示函数 pressureDisplaySigFun(obj.pressureNumber) //延时 spy.wait(900) timeout++ if(obj.pressureNumber >= nthreshold_Setzero){ end_count++; } }while(end_count < delaycount_Setzero && timeout<180) //关闭负压罐头泄气阀门 //setp 6 console.log("压力 0kPa") ModbusJs.closeAllValve(controlSerial) console.log("关闭所有阀门") return true } //倾覆性密封试验 function capsizeTestStart(processWindow,controlSerial,sensorSerial, sealPressureModel,pressureDisplaySigFun,resultSigFun,spy,log) { //setp 1 // 关闭所有测试口 ModbusJs.turnOffAllTestIO(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{ if(running === false){ console.log("停止测试") return false } var obj = ModbusJs.highPressureSensorReadReq(sensorSerial) if(obj.ret === false){ log.show("高压传感器通讯错误") return false } // signal 压力显示函数 pressureDisplaySigFun(obj.pressureNumber) //延时 spy.wait(900) timeout++ if(obj.pressureNumber <= pthreshold_Setzero){ end_count++; } }while(end_count < delaycount_Setzero && timeout < 180) console.log("压力降压到 0 kPa") if(timeout === 180){ log.show("泄压超时") ModbusJs.closeAllValve(controlSerial) console.log("关闭所有阀门") return false } //setp 3 /*********调整压力*************/ processWindow.show("进气压力"+capsizeSetPressure+"kPa") ModbusJs.pressureSensorCtrl(controlSerial,"低压") console.log("打开低压传感器阀门") obj = ModbusJs.testFixedPressure(controlSerial,capsizeSetPressure+2) ModbusJs.proportionalControlWrite(controlSerial,obj.voltage) console.log("比例调压阀压力值:",obj.voltage) //关闭正压罐头泄气阀门 ModbusJs.positivePressureTankOutputCtrl(controlSerial,false) console.log("关闭正压罐头泄气阀门") //打开进气阀门 ModbusJs.positivePressureTankInputCtrl(controlSerial,true) console.log("打开进气阀门") var cnt = 0 var prevTime = Date.now() var bigAcive = true var max = 50 ModbusJs.bigTuningValveControl(controlSerial,true) console.log("开启 粗调开关") do{ if(running === false){ console.log("停止测试") return false } obj = ModbusJs.lowPressureSensorReadReq(sensorSerial) if(obj.ret === false){ log.show("低压传感器通讯错误") return false } spy.wait(10) var curTime = Date.now() var deltaTime = curTime - prevTime if(deltaTime > 900){ prevTime = curTime pressureDisplaySigFun(obj.pressureNumber) cnt++ } //粗调压力值 var bigLevel = capsizeSetPressure-1 if(obj.pressureNumber > bigLevel && bigAcive === true){ bigAcive = false ModbusJs.bigTuningValveControl(controlSerial,false) ModbusJs.bigTuningValveControl(controlSerial,false) console.log("关闭 粗调开关") break; } // pressureDisplaySigFun(obj.pressureNumber) // spy.wait(900) // cnt++ // console.log("obj.pressureNumber:",obj.pressureNumber) }while(obj.pressureNumber <= max && cnt < 180 ) if(cnt === 180){ log.show("进气时间超时") return false } //setp 3 /*********密封试验开始*************/ processWindow.show("密封压力试验开始") console.log("密封压力试验开始") //关闭进气阀门 ModbusJs.positivePressureTankInputCtrl(controlSerial,false) console.log("关闭进气阀门") //打开正压呼吸阀测试口阀门 ModbusJs.pbreathValveTestIo(controlSerial,true) console.log("打开正压呼吸阀测试口阀门") cnt = 0 do{ if(running === false){ console.log("停止测试") return false } obj = ModbusJs.lowPressureSensorReadReq(sensorSerial) if(obj.ret === false){ log.show("低压传感器通讯错误") return false } pressureDisplaySigFun(obj.pressureNumber) // add pressure table var table={} table.pressure=obj.pressureNumber //密封模型赋值 sealPressureModel.append(table) spy.wait(900) cnt++ processWindow.text("密封压力试验时间"+(sealPressureTimemax-cnt)+"s") }while( cnt < sealPressureTimemax ) var result={} result.sealPressureNumber = obj.pressureNumber resultSigFun(result) //setp 5 processWindow.show("试验结束,泄气中") ModbusJs.pressureSensorCtrl(controlSerial,"低压") console.log("打开低压传感器阀门") //打开正压罐头泄气阀门 ModbusJs.positivePressureTankOutputCtrl(controlSerial,true) console.log("打开正压罐头泄气阀门") //关闭进气阀门 ModbusJs.positivePressureTankInputCtrl(controlSerial,false) console.log("关闭进气阀门") console.log("等待压力 0kPa") //查看高压传感器值 等待正压罐头压力降到最低值 timeout =0 end_count = 0 do{ if(running === false){ console.log("停止测试") return false } obj = ModbusJs.lowPressureSensorReadReq(sensorSerial) if(obj.ret === false){ log.show("低压传感器通讯错误") return false } // signal 压力显示函数 pressureDisplaySigFun(obj.pressureNumber) //延时 spy.wait(900) timeout++ if(obj.pressureNumber <= pthreshold_Setzero){ end_count++; } }while(end_count < delaycount_Setzero && timeout < 180) //setp 6 console.log("压力 0kPa") ModbusJs.closeAllValve(controlSerial) console.log("关闭所有阀门") return true }