breatheTest.js 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751
  1. .import "modbus.js" as ModbusJs
  2. var running = false
  3. var runningBackup = false
  4. var openPressureTimeMax = 30
  5. var sealPressureTimemax = 15
  6. var exit = false
  7. var capsizeOpenPresure = 10
  8. var capsizeSetPressure = 32
  9. function positiveTestStop(controlSerial,pressureDisplaySigFun,spy,log){
  10. ModbusJs.pressureSensorCtrl(controlSerial,"高压")
  11. console.log("打开高压传感器阀门")
  12. //关闭正压罐进气阀门
  13. ModbusJs.positivePressureTankInputCtrl(controlSerial,false)
  14. console.log("关闭正压罐进气阀门")
  15. //打开正压罐头泄气阀门
  16. ModbusJs.positivePressureTankOutputCtrl(controlSerial,true)
  17. console.log("打开正压罐头泄气阀门")
  18. //查看高压传感器值 等待正压罐头压力降到最低值
  19. var timeout = 0
  20. do{
  21. //重新开始时 停止测试
  22. if(runningBackup === false && running === true){
  23. console.log("停止测试")
  24. ModbusJs.closeAllValve(controlSerial)
  25. return
  26. }
  27. if(exit === true)
  28. return
  29. var obj = ModbusJs.highPressureSensorReadReq(sensorSerial)
  30. if(obj.ret === false){
  31. log.show("高压传感器通讯错误")
  32. return false
  33. }
  34. // signal 压力显示函数
  35. pressureDisplaySigFun(obj.pressureNumber)
  36. //延时
  37. spy.wait(900)
  38. timeout++
  39. }while(obj.pressureNumber > 0.1 && timeout < 180)
  40. ModbusJs.closeAllValve(controlSerial)
  41. console.log("关闭 关闭所有阀门")
  42. }
  43. function negativeTestStop(controlSerial,pressureDisplaySigFun,spy,log){
  44. //打开负压呼吸阀测试口阀门 逻辑有改变 从一开始就打开 不然无法泄压
  45. ModbusJs.nbreathValveTestIo(controlSerial,true)
  46. console.log("打开负压呼吸阀测试口阀门")
  47. //关闭负压罐进气阀门
  48. ModbusJs.negativePressureTankInputCtrl(controlSerial,false)
  49. console.log("关闭负压罐进气阀门")
  50. //关闭 负压泵
  51. ModbusJs.negativePumpPowerCtrl(controlSerial,false)
  52. console.log("关闭 负压泵")
  53. //打开负压罐头泄气阀门
  54. ModbusJs.negativePressureTankOutputCtrl(controlSerial,true)
  55. console.log("打开负压罐头泄气阀门")
  56. //查看负压传感器值 等待负压罐头压力降到最低值
  57. var timeout = 0
  58. do{
  59. //重新开始时 停止测试
  60. if(runningBackup === false && running === true){
  61. console.log("停止测试")
  62. ModbusJs.closeAllValve(controlSerial)
  63. return
  64. }
  65. if(exit === true)
  66. return
  67. //var obj = ModbusJs.negativePressureSensorReadReq(sensorSerial)
  68. var obj =ModbusJs.lowPressureSensorReadReq(sensorSerial)
  69. if(obj.ret === false){
  70. log.show("低压传感器通讯错误")
  71. return false
  72. }
  73. // signal 压力显示函数
  74. pressureDisplaySigFun(obj.pressureNumber)
  75. //延时
  76. spy.wait(900)
  77. timeout++
  78. }while(obj.pressureNumber < -0.1 && timeout < 180)
  79. ModbusJs.closeAllValve(controlSerial)
  80. console.log("关闭 关闭所有阀门")
  81. }
  82. //正压开启压力和密封试验
  83. /* openPressureModel 测试开启压力过程表模型
  84. * sealPressureModel 测试密封压力过程表模型
  85. * pressureDisplaySigFun 压力显示信号函数
  86. * resultSigFun 结果显示信号函数
  87. */
  88. function positiveTestStart(currentIndex,tabView,processWindow,controlSerial,sensorSerial,openPressureModel,sealPressureModel,pressureDisplaySigFun,resultSigFun,spy,log){
  89. var setPressure = 20
  90. //自检
  91. runningBackup = running
  92. var openPressureNumber
  93. var sealPressureNumber
  94. //setp 1
  95. // 关闭所有测试口
  96. ModbusJs.turnOffAllTestIO(controlSerial)
  97. console.log("关闭所有测试口")
  98. ModbusJs.pressureSensorCtrl(controlSerial,"高压")
  99. console.log("打开高压传感器阀门")
  100. //关闭正压罐进气阀门
  101. ModbusJs.positivePressureTankInputCtrl(controlSerial,false)
  102. console.log("关闭正压罐进气阀门")
  103. //setp 2
  104. //查看低压传感器值 等待正压罐头压力降到最低值
  105. processWindow.show("等待压力降到0")
  106. //打开正压罐头泄气阀门
  107. ModbusJs.positivePressureTankOutputCtrl(controlSerial,true)
  108. console.log("打开正压罐头泄气阀门")
  109. var timeout = 0
  110. do{
  111. if(running === false){
  112. console.log("停止测试")
  113. return false
  114. }
  115. var obj = ModbusJs.highPressureSensorReadReq(sensorSerial)
  116. if(obj.ret === false){
  117. log.show("高压传感器通讯错误")
  118. return false
  119. }
  120. // signal 压力显示函数
  121. pressureDisplaySigFun(obj.pressureNumber)
  122. //延时
  123. spy.wait(900)
  124. timeout++
  125. }while(obj.pressureNumber > 0.1 && timeout < 180)
  126. if(timeout === 180){
  127. log.show("泄压超时")
  128. ModbusJs.closeAllValve(controlSerial)
  129. console.log("关闭所有阀门")
  130. return false
  131. }
  132. console.log("压力降压到 0 kPa")
  133. //setp 3
  134. /*********测试开启压力*************/
  135. ModbusJs.pressureSensorCtrl(controlSerial,"低压")
  136. console.log("打开低压传感器阀门")
  137. obj = ModbusJs.testFixedPressure(controlSerial,setPressure)
  138. ModbusJs.proportionalControlWrite(controlSerial,obj.voltage)
  139. console.log("比例调压阀压力值:",obj.voltage)
  140. var bigAcive = true
  141. ModbusJs.bigTuningValveControl(controlSerial,true)
  142. console.log("打开 粗调开关")
  143. processWindow.show("开启压力试验开始")
  144. console.log("开启压力测试开始")
  145. // //打开正压呼吸阀测试口阀门
  146. // ModbusJs.pbreathValveTestIo(controlSerial,true)
  147. // console.log("打开正压呼吸阀测试口阀门")
  148. //关闭正压罐头泄气阀门
  149. ModbusJs.positivePressureTankOutputCtrl(controlSerial,false)
  150. console.log("关闭正压罐头泄气阀门")
  151. //打开进气阀门
  152. ModbusJs.positivePressureTankInputCtrl(controlSerial,true)
  153. console.log("打开进气阀门")
  154. tabView.currentIndex = currentIndex
  155. var openCnt = 0
  156. var min = 0
  157. var max = 100 //低压最大范围
  158. var prevTime = Date.now()
  159. do{
  160. if(running === false){
  161. console.log("停止测试")
  162. return false
  163. }
  164. //obj = ModbusJs.lowPressureSensorReadReq(sensorSerial)
  165. obj = ModbusJs.lowPressureSensorReadReq(sensorSerial)
  166. if(obj.ret === false){
  167. log.show("低压传感器通讯错误")
  168. return false
  169. }
  170. //粗调压力值
  171. var bigLevel = setPressure-1
  172. //达到压力值时打开测试口
  173. if(obj.pressureNumber > bigLevel && bigAcive === true){
  174. bigAcive = false
  175. ModbusJs.bigTuningValveControl(controlSerial,false)
  176. ModbusJs.bigTuningValveControl(controlSerial,false)
  177. console.log("关闭 粗调开关")
  178. //打开正压呼吸阀测试口阀门
  179. ModbusJs.pbreathValveTestIo(controlSerial,true)
  180. console.log("打开正压呼吸阀测试口阀门")
  181. }
  182. spy.wait(10)
  183. var curTime = Date.now()
  184. var deltaTime = curTime - prevTime
  185. if(deltaTime > 900){
  186. prevTime = curTime
  187. openCnt++
  188. pressureDisplaySigFun(obj.pressureNumber)
  189. // add pressure table
  190. var table={}
  191. table.pressure=obj.pressureNumber
  192. //开启压力模型赋值
  193. openPressureModel.append(table)
  194. // console.log("openPressureTimeMax:",openPressureTimeMax)
  195. processWindow.text("开启压力试验时间"+(openPressureTimeMax-openCnt)+"s")
  196. }
  197. }while(obj.pressureNumber <=max && openCnt < openPressureTimeMax)
  198. //正压:6~12kPa 得到开启压力
  199. if(obj.pressureNumber >=min && obj.pressureNumber <= max && openCnt ===openPressureTimeMax){
  200. openPressureNumber = obj.pressureNumber.toString()
  201. var result={}
  202. result.openPressureNumber = openPressureNumber
  203. result.sealPressureNumber = ""
  204. resultSigFun(result)
  205. console.log("开启压力:",openPressureNumber)
  206. }
  207. else{
  208. if(obj.pressureNumber < min){
  209. openPressureNumber=obj.pressureNumber+"<"+min+"kPa"
  210. }
  211. else if(obj.pressureNumber > max){
  212. openPressureNumber=obj.pressureNumber+">"+max+"kPa"
  213. }
  214. result={}
  215. result.openPressureNumber = openPressureNumber
  216. result.sealPressureNumber = ""
  217. resultSigFun(result)
  218. //关闭正压罐进气阀门
  219. ModbusJs.positivePressureTankInputCtrl(controlSerial,false)
  220. console.log("关闭正压罐进气阀门")
  221. console.log("开启压力:",openPressureNumber)
  222. console.log("开启压力测试结束")
  223. return false
  224. }
  225. console.log("开启压力测试结束")
  226. //setp 4
  227. /*********测试密封压力*************/
  228. console.log("密封压力开始")
  229. processWindow.show("密封压力试验开始")
  230. //关闭正压罐进气阀门
  231. ModbusJs.positivePressureTankInputCtrl(controlSerial,false)
  232. console.log("关闭正压罐进气阀门")
  233. //保持600s
  234. var holdTimeCnt=0
  235. tabView.currentIndex = currentIndex+3
  236. do{
  237. if(running === false){
  238. console.log("停止测试")
  239. return false
  240. }
  241. //obj = ModbusJs.lowPressureSensorReadReq(sensorSerial)
  242. obj = ModbusJs.lowPressureSensorReadReq(sensorSerial)
  243. if(obj.ret === false){
  244. log.show("低压传感器通讯错误")
  245. return false
  246. }
  247. //密封压力模型赋值
  248. table={}
  249. table.pressure=obj.pressureNumber
  250. sealPressureModel.append(table)
  251. //压力实时显示
  252. pressureDisplaySigFun(obj.pressureNumber)
  253. spy.wait(900)
  254. holdTimeCnt++
  255. processWindow.text("密封压力试验时间"+(sealPressureTimemax-holdTimeCnt)+"s")
  256. }while(holdTimeCnt < sealPressureTimemax ) //传感器值是否能一直稳定住??????
  257. sealPressureNumber = obj.pressureNumber.toString()
  258. result={}
  259. result.openPressureNumber = openPressureNumber
  260. result.sealPressureNumber = sealPressureNumber
  261. resultSigFun(result)
  262. console.log("密封压力结束")
  263. //setp 5
  264. ModbusJs.pressureSensorCtrl(controlSerial,"高压")
  265. console.log("打开高压传感器阀门")
  266. //打开正压罐头泄气阀门
  267. ModbusJs.positivePressureTankOutputCtrl(controlSerial,true)
  268. console.log("打开正压罐头泄气阀门")
  269. console.log("等待压力 0kPa")
  270. //查看低压传感器值 等待正压罐头压力降到最低值
  271. processWindow.show("试验结束,泄气中")
  272. timeout = 0
  273. do{
  274. if(running === false){
  275. console.log("停止测试")
  276. return false
  277. }
  278. obj = ModbusJs.highPressureSensorReadReq(sensorSerial)
  279. if(obj.ret === false){
  280. log.show("高压传感器通讯错误")
  281. return false
  282. }
  283. // signal 压力显示函数
  284. pressureDisplaySigFun(obj.pressureNumber)
  285. //延时
  286. spy.wait(900)
  287. timeout++
  288. }while(obj.pressureNumber > 0.1 && timeout < 180)
  289. //关闭正压罐头泄气阀门
  290. //setp 6
  291. console.log("压力 0kPa")
  292. ModbusJs.closeAllValve(controlSerial)
  293. console.log("关闭所有阀门")
  294. return true
  295. }
  296. //负压开启压力和密封试验
  297. /* openPressureModel 测试开启压力过程表模型
  298. * sealPressureModel 测试密封压力过程表模型
  299. * pressureDisplaySigFun 压力显示信号函数
  300. * resultSigFun 结果显示信号函数
  301. */
  302. function negativeTestStart(currentIndex,tabView,processWindow,controlSerial,sensorSerial,
  303. openPressureModel,sealPressureModel,
  304. pressureDisplaySigFun,resultSigFun,spy,log)
  305. {
  306. runningBackup = running
  307. //自检
  308. var openPressureNumber
  309. var sealPressureNumber
  310. //setp 1
  311. // 关闭所有测试口
  312. ModbusJs.negativePumpPowerCtrl(controlSerial,false)
  313. console.log("关闭 负压泵")
  314. ModbusJs.turnOffAllTestIO(controlSerial)
  315. console.log("关闭所有测试口")
  316. //打开负压呼吸阀测试口阀门 逻辑有改变 从一开始就打开 不然无法泄压
  317. ModbusJs.nbreathValveTestIo(controlSerial,true)
  318. console.log("打开负压呼吸阀测试口阀门")
  319. ModbusJs.pressureSensorCtrl(controlSerial,"负压")
  320. console.log("打开负压传感器阀门")
  321. //关闭负压罐进气阀门
  322. ModbusJs.negativePressureTankInputCtrl(controlSerial,false)
  323. console.log("关闭负压罐进气阀门 微调")
  324. processWindow.show("等待压力到0kPa")
  325. //打开负压罐头泄气阀门
  326. ModbusJs.negativePressureTankOutputCtrl(controlSerial,true)
  327. console.log("打开负压罐头泄气阀门")
  328. //setp 2
  329. //查看负压传感器值 等待负压压罐头压力至0kPa
  330. var timeout = 0
  331. do{
  332. if(running === false){
  333. console.log("停止测试")
  334. return false
  335. }
  336. //var obj = ModbusJs.negativePressureSensorReadReq(sensorSerial)
  337. var obj =ModbusJs.lowPressureSensorReadReq(sensorSerial)
  338. if(obj.ret === false){
  339. log.show("低压传感器通讯错误")
  340. return false
  341. }
  342. //signal 压力显示函数
  343. console.log(obj.pressureNumber)
  344. pressureDisplaySigFun(obj.pressureNumber)
  345. //延时
  346. spy.wait(900)
  347. timeout++
  348. }while(obj.pressureNumber < 0 && timeout < 180)
  349. if(timeout === 180){
  350. log.show("泄压超时")
  351. ModbusJs.closeAllValve(controlSerial)
  352. console.log("关闭所有阀门")
  353. return false
  354. }
  355. console.log("压力到 0 kPa")
  356. //setp 3
  357. /*********测试开启压力*************/
  358. ModbusJs.negativePumpPowerCtrl(controlSerial,true)
  359. console.log("打开 负压泵")
  360. processWindow.show("开启压力试验开始")
  361. console.log("开启压力测试开始")
  362. //打开负压呼吸阀测试口阀门 全称微调 不需要打开 逻辑有改变
  363. // ModbusJs.nbreathValveTestIo(controlSerial,true)
  364. // console.log("打开负压呼吸阀测试口阀门")
  365. //关闭负压罐泄气阀门
  366. ModbusJs.negativePressureTankOutputCtrl(controlSerial,false)
  367. console.log("关闭负压罐泄气阀门")
  368. //关闭 负压罐进气阀门
  369. ModbusJs.negativePressureTankInputCtrl(controlSerial,false)
  370. console.log("关闭负压罐进气阀门 微调")
  371. tabView.currentIndex = currentIndex
  372. var openCnt = 0
  373. // var min = -4
  374. // var max = -2
  375. var min = -10
  376. var max = 5
  377. do{
  378. if(running === false){
  379. console.log("停止测试")
  380. return false
  381. }
  382. //obj = ModbusJs.negativePressureSensorReadReq(sensorSerial)
  383. obj =ModbusJs.lowPressureSensorReadReq(sensorSerial)
  384. if(obj.ret === false){
  385. log.show("负压传感器通讯错误")
  386. return false
  387. }
  388. pressureDisplaySigFun(obj.pressureNumber)
  389. // add pressure table
  390. var table={}
  391. table.pressure=obj.pressureNumber
  392. //开启压力模型赋值
  393. openPressureModel.append(table)
  394. spy.wait(900)
  395. openCnt++
  396. //console.log("openCnt:",openCnt)
  397. processWindow.text("开启压力试验时间"+(openPressureTimeMax-openCnt)+"s")
  398. }while(obj.pressureNumber >= min && openCnt < openPressureTimeMax)
  399. //得到开启压力
  400. if(obj.pressureNumber >=min && obj.pressureNumber <= max && openCnt ===openPressureTimeMax){
  401. openPressureNumber = obj.pressureNumber.toString()
  402. var result={}
  403. result.openPressureNumber = openPressureNumber
  404. result.sealPressureNumber = ""
  405. resultSigFun(result)
  406. console.log("开启压力:",openPressureNumber)
  407. }
  408. else{
  409. if(obj.pressureNumber < min){
  410. openPressureNumber=obj.pressureNumber+"<"+min
  411. }
  412. else if(obj.pressureNumber > max){
  413. openPressureNumber=obj.pressureNumber+">"+max
  414. }
  415. result={}
  416. result.openPressureNumber = openPressureNumber
  417. result.sealPressureNumber = ""
  418. resultSigFun(result)
  419. //关闭负压罐进气阀门
  420. ModbusJs.negativePressureTankInputCtrl(controlSerial,false)
  421. console.log("关闭负压罐进气阀门 微调")
  422. console.log("开启压力:",openPressureNumber)
  423. console.log("开启压力测试结束")
  424. return false
  425. }
  426. console.log("开启压力测试结束")
  427. //setp 4
  428. /*********测试密封压力*************/
  429. console.log("密封压力开始")
  430. processWindow.show("密封压力试验开始")
  431. //关闭负压罐进气阀门
  432. ModbusJs.negativePressureTankInputCtrl(controlSerial,false)
  433. console.log("关闭负压罐进气阀门 微调")
  434. ModbusJs.negativePumpPowerCtrl(controlSerial,false)
  435. console.log("关闭 负压泵")
  436. var holdTimeCnt=0
  437. tabView.currentIndex =currentIndex+3
  438. do{
  439. if(running === false){
  440. console.log("停止测试")
  441. return false
  442. }
  443. obj =ModbusJs.lowPressureSensorReadReq(sensorSerial)
  444. //obj = ModbusJs.negativePressureSensorReadReq(sensorSerial)
  445. if(obj.ret === false){
  446. log.show("负压传感器通讯错误")
  447. return false
  448. }
  449. //密封压力模型赋值
  450. table={}
  451. table.pressure=obj.pressureNumber
  452. sealPressureModel.append(table)
  453. //压力实时显示
  454. pressureDisplaySigFun(obj.pressureNumber)
  455. spy.wait(900)
  456. holdTimeCnt++
  457. processWindow.text("密封压力试验时间"+(sealPressureTimemax-holdTimeCnt)+"s")
  458. }while(holdTimeCnt < sealPressureTimemax )
  459. sealPressureNumber = obj.pressureNumber.toString()
  460. result={}
  461. result.openPressureNumber = openPressureNumber
  462. result.sealPressureNumber = sealPressureNumber
  463. resultSigFun(result)
  464. console.log("密封压力结束")
  465. //setp 5
  466. //关闭负压罐进气阀门
  467. ModbusJs.negativePressureTankInputCtrl(controlSerial,false)
  468. console.log("关闭负压罐进气阀门 微调")
  469. //打开负压罐头泄气阀门
  470. ModbusJs.negativePressureTankOutputCtrl(controlSerial,true)
  471. console.log("打开负压罐头泄气阀门")
  472. ModbusJs.negativePumpPowerCtrl(controlSerial,false)
  473. console.log("关闭 负压泵")
  474. console.log("等待压力 0kPa")
  475. //查看负压传感器值 等待负压罐到0kPa
  476. processWindow.show("试验结束,泄气中")
  477. timeout = 0
  478. do{
  479. if(running === false){
  480. console.log("停止测试")
  481. return
  482. }
  483. obj =ModbusJs.lowPressureSensorReadReq(sensorSerial)
  484. //obj = ModbusJs.negativePressureSensorReadReq(sensorSerial)
  485. if(obj.ret === false){
  486. log.show("负压传感器通讯错误")
  487. return false
  488. }
  489. // signal 压力显示函数
  490. pressureDisplaySigFun(obj.pressureNumber)
  491. //延时
  492. spy.wait(900)
  493. timeout++
  494. }while(obj.pressureNumber < 0 && timeout<180)
  495. //关闭负压罐头泄气阀门
  496. //setp 6
  497. console.log("压力 0kPa")
  498. ModbusJs.closeAllValve(controlSerial)
  499. console.log("关闭所有阀门")
  500. return true
  501. }
  502. //倾覆性密封试验
  503. function capsizeTestStart(processWindow,controlSerial,sensorSerial,
  504. sealPressureModel,pressureDisplaySigFun,resultSigFun,spy,log)
  505. {
  506. //setp 1
  507. // 关闭所有测试口
  508. ModbusJs.turnOffAllTestIO(controlSerial)
  509. console.log("关闭所有测试口")
  510. ModbusJs.pressureSensorCtrl(controlSerial,"高压")
  511. console.log("打开高压传感器阀门")
  512. //关闭正压罐进气阀门
  513. ModbusJs.positivePressureTankInputCtrl(controlSerial,false)
  514. console.log("关闭正压罐进气阀门")
  515. //setp 2
  516. //查看高压传感器值 等待正压罐头压力降到最低值
  517. processWindow.show("等待压力降到0")
  518. //打开正压罐头泄气阀门
  519. ModbusJs.positivePressureTankOutputCtrl(controlSerial,true)
  520. console.log("打开正压罐头泄气阀门")
  521. var timeout = 0
  522. do{
  523. if(running === false){
  524. console.log("停止测试")
  525. return false
  526. }
  527. var obj = ModbusJs.highPressureSensorReadReq(sensorSerial)
  528. if(obj.ret === false){
  529. log.show("高压传感器通讯错误")
  530. return false
  531. }
  532. // signal 压力显示函数
  533. pressureDisplaySigFun(obj.pressureNumber)
  534. //延时
  535. spy.wait(900)
  536. timeout++
  537. }while(obj.pressureNumber > 0.1 && timeout < 180)
  538. console.log("压力降压到 0 kPa")
  539. if(timeout === 180){
  540. log.show("泄压超时")
  541. ModbusJs.closeAllValve(controlSerial)
  542. console.log("关闭所有阀门")
  543. return false
  544. }
  545. //setp 3
  546. /*********调整压力*************/
  547. processWindow.show("进气压力"+capsizeSetPressure+"kPa")
  548. ModbusJs.pressureSensorCtrl(controlSerial,"低压")
  549. console.log("打开低压传感器阀门")
  550. obj = ModbusJs.testFixedPressure(controlSerial,capsizeSetPressure+2)
  551. ModbusJs.proportionalControlWrite(controlSerial,obj.voltage)
  552. console.log("比例调压阀压力值:",obj.voltage)
  553. //关闭正压罐头泄气阀门
  554. ModbusJs.positivePressureTankOutputCtrl(controlSerial,false)
  555. console.log("关闭正压罐头泄气阀门")
  556. //打开进气阀门
  557. ModbusJs.positivePressureTankInputCtrl(controlSerial,true)
  558. console.log("打开进气阀门")
  559. var cnt = 0
  560. var prevTime = Date.now()
  561. var bigAcive = true
  562. var max = 50
  563. ModbusJs.bigTuningValveControl(controlSerial,true)
  564. console.log("开启 粗调开关")
  565. do{
  566. if(running === false){
  567. console.log("停止测试")
  568. return false
  569. }
  570. obj = ModbusJs.lowPressureSensorReadReq(sensorSerial)
  571. if(obj.ret === false){
  572. log.show("低压传感器通讯错误")
  573. return false
  574. }
  575. spy.wait(10)
  576. var curTime = Date.now()
  577. var deltaTime = curTime - prevTime
  578. if(deltaTime > 900){
  579. prevTime = curTime
  580. pressureDisplaySigFun(obj.pressureNumber)
  581. cnt++
  582. }
  583. //粗调压力值
  584. var bigLevel = capsizeSetPressure-1
  585. if(obj.pressureNumber > bigLevel && bigAcive === true){
  586. bigAcive = false
  587. ModbusJs.bigTuningValveControl(controlSerial,false)
  588. ModbusJs.bigTuningValveControl(controlSerial,false)
  589. console.log("关闭 粗调开关")
  590. break;
  591. }
  592. // pressureDisplaySigFun(obj.pressureNumber)
  593. // spy.wait(900)
  594. // cnt++
  595. // console.log("obj.pressureNumber:",obj.pressureNumber)
  596. }while(obj.pressureNumber <= max && cnt < 180 )
  597. if(cnt === 180){
  598. log.show("进气时间超时")
  599. return false
  600. }
  601. //setp 3
  602. /*********密封试验开始*************/
  603. processWindow.show("密封压力试验开始")
  604. console.log("密封压力试验开始")
  605. //关闭进气阀门
  606. ModbusJs.positivePressureTankInputCtrl(controlSerial,false)
  607. console.log("关闭进气阀门")
  608. //打开正压呼吸阀测试口阀门
  609. ModbusJs.pbreathValveTestIo(controlSerial,true)
  610. console.log("打开正压呼吸阀测试口阀门")
  611. cnt = 0
  612. do{
  613. if(running === false){
  614. console.log("停止测试")
  615. return false
  616. }
  617. obj = ModbusJs.lowPressureSensorReadReq(sensorSerial)
  618. if(obj.ret === false){
  619. log.show("低压传感器通讯错误")
  620. return false
  621. }
  622. pressureDisplaySigFun(obj.pressureNumber)
  623. // add pressure table
  624. var table={}
  625. table.pressure=obj.pressureNumber
  626. //密封模型赋值
  627. sealPressureModel.append(table)
  628. spy.wait(900)
  629. cnt++
  630. processWindow.text("密封压力试验时间"+(sealPressureTimemax-cnt)+"s")
  631. }while( cnt < sealPressureTimemax )
  632. var result={}
  633. result.sealPressureNumber = obj.pressureNumber
  634. resultSigFun(result)
  635. //setp 5
  636. processWindow.show("试验结束,泄气中")
  637. ModbusJs.pressureSensorCtrl(controlSerial,"低压")
  638. console.log("打开低压传感器阀门")
  639. //打开正压罐头泄气阀门
  640. ModbusJs.positivePressureTankOutputCtrl(controlSerial,true)
  641. console.log("打开正压罐头泄气阀门")
  642. //关闭进气阀门
  643. ModbusJs.positivePressureTankInputCtrl(controlSerial,false)
  644. console.log("关闭进气阀门")
  645. console.log("等待压力 0kPa")
  646. //查看高压传感器值 等待正压罐头压力降到最低值
  647. timeout =0
  648. do{
  649. if(running === false){
  650. console.log("停止测试")
  651. return false
  652. }
  653. obj = ModbusJs.lowPressureSensorReadReq(sensorSerial)
  654. if(obj.ret === false){
  655. log.show("低压传感器通讯错误")
  656. return false
  657. }
  658. // signal 压力显示函数
  659. pressureDisplaySigFun(obj.pressureNumber)
  660. //延时
  661. spy.wait(900)
  662. timeout++
  663. }while(obj.pressureNumber > 0.1 && timeout < 180)
  664. //setp 6
  665. console.log("压力 0kPa")
  666. ModbusJs.closeAllValve(controlSerial)
  667. console.log("关闭所有阀门")
  668. return true
  669. }