123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964 |
- .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
- }
|