PageCalibration.qml 36 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129
  1. import QtQuick 2.11
  2. import QtQuick.Layouts 1.3
  3. import QtQuick.Controls 2.14
  4. import QtQuick.Controls.Styles 1.2
  5. import TService 1.0
  6. Item {
  7. id: root
  8. property var pagetype:rootitem.Page_Type_Testing
  9. property string title_str:"PID 参数整定"
  10. property var volume: [0,0,0,0,0]
  11. property var keeptime: [0,0,0,0,0]
  12. property var outermax: [0.0, 0.0, 0.0, 0.0, 0.0]
  13. property var outermini: [0.0, 0.0, 0.0, 0.0, 0.0]
  14. property var outerKp: [0.0, 0.0, 0.0, 0.0, 0.0]
  15. property var outerKi: [0.0, 0.0, 0.0, 0.0, 0.0]
  16. property var outerKd: [0.0, 0.0, 0.0, 0.0, 0.0]
  17. property var innermax: [0.0, 0.0, 0.0, 0.0, 0.0]
  18. property var innermini: [0.0, 0.0, 0.0, 0.0, 0.0]
  19. property var innerKp: [0.0, 0.0, 0.0, 0.0, 0.0]
  20. property var innerKi: [0.0, 0.0, 0.0, 0.0, 0.0]
  21. property var innerKd: [0.0, 0.0, 0.0, 0.0, 0.0]
  22. property var innermaxI: [0.0, 0.0, 0.0, 0.0, 0.0]
  23. property var innermaxIstep: [0.0, 0.0, 0.0, 0.0, 0.0]
  24. property var innermaxDstep: [0.0, 0.0, 0.0, 0.0, 0.0]
  25. function set_paras(){
  26. var Jsonobj={}
  27. var itemArrayJson=[]
  28. for(var i = 0; i<5; i++){
  29. if(volume[i] > 0){
  30. var item={}
  31. item.max_volume = volume[i]
  32. item.keep_time = keeptime[i]
  33. item.outermax = outermax[i]
  34. item.outermin = outermini[i]
  35. item.outerkp = outerKp[i]
  36. item.outerki = outerKi[i]
  37. item.outerkd = outerKd[i]
  38. item.innermax = innermax[i]
  39. item.innermin =innermini[i]
  40. item.innerkp = innerKp[i]
  41. item.innerki = innerKi[i]
  42. item.innerkd = innerKd[i]
  43. item.innermaxI = innermaxI[i]
  44. item.innerIstep = innermaxIstep[i]
  45. item.innerDstep = innermaxDstep[i]
  46. itemArrayJson[i] = item
  47. }
  48. }
  49. Jsonobj.pids = itemArrayJson
  50. CalibrationPara.set_paras(JSON.stringify(Jsonobj) );
  51. }
  52. function update_paras(index, item){
  53. if(index === 0){
  54. volume1.text = item.max_volume
  55. keep1.text = item.keep_time
  56. outmax1.text = item.outermax
  57. outmini1.text = item.outermin
  58. outp1.text = item.outerkp
  59. outi1.text = item.outerki
  60. outd1.text = item.outerkd
  61. inmax1.text = item.innermax
  62. inmini1.text = item.innermin
  63. inp1.text = item.innerkp
  64. ini1.text = item.innerki
  65. ind1.text = item.innerkd
  66. inmaxI1.text = item.innermaxI
  67. inmaxIstep1.text = item.innerIstep
  68. inmaxDstep1.text = item.innerDstep
  69. }else if(index === 1){
  70. volume2.text = item.max_volume
  71. keep2.text = item.keep_time
  72. outmax2.text = item.outermax
  73. outmini2.text = item.outermin
  74. outp2.text = item.outerkp
  75. outi2.text = item.outerki
  76. outd2.text = item.outerkd
  77. inmax2.text = item.innermax
  78. inmini2.text = item.innermin
  79. inp2.text = item.innerkp
  80. ini2.text = item.innerki
  81. ind2.text = item.innerkd
  82. inmaxI2.text = item.innermaxI
  83. inmaxIstep2.text = item.innerIstep
  84. inmaxDstep2.text = item.innerDstep
  85. }else if(index === 2){
  86. volume3.text = item.max_volume
  87. keep3.text = item.keep_time
  88. outmax3.text = item.outermax
  89. outmini3.text = item.outermin
  90. outp3.text = item.outerkp
  91. outi3.text = item.outerki
  92. outd3.text = item.outerkd
  93. inmax3.text = item.innermax
  94. inmini3.text = item.innermin
  95. inp3.text = item.innerkp
  96. ini3.text = item.innerki
  97. ind3.text = item.innerkd
  98. inmaxI3.text = item.innermaxI
  99. inmaxIstep3.text = item.innerIstep
  100. inmaxDstep3.text = item.innerDstep
  101. }else if(index === 3){
  102. volume4.text = item.max_volume
  103. keep4.text = item.keep_time
  104. outmax4.text = item.outermax
  105. outmini4.text = item.outermin
  106. outp4.text = item.outerkp
  107. outi4.text = item.outerki
  108. outd4.text = item.outerkd
  109. inmax4.text = item.innermax
  110. inmini4.text = item.innermin
  111. inp4.text = item.innerkp
  112. ini4.text = item.innerki
  113. ind4.text = item.innerkd
  114. inmaxI4.text = item.innermaxI
  115. inmaxIstep4.text = item.innerIstep
  116. inmaxDstep4.text = item.innerDstep
  117. }else if(index === 4){
  118. volume5.text = item.max_volume
  119. keep5.text = item.keep_time
  120. outmax5.text = item.outermax
  121. outmini5.text = item.outermin
  122. outp5.text = item.outerkp
  123. outi5.text = item.outerki
  124. outd5.text = item.outerkd
  125. inmax5.text = item.innermax
  126. inmini5.text = item.innermin
  127. inp5.text = item.innerkp
  128. ini5.text = item.innerki
  129. ind5.text = item.innerkd
  130. inmaxI5.text = item.innermaxI
  131. inmaxIstep5.text = item.innerIstep
  132. inmaxDstep5.text = item.innerDstep
  133. }
  134. }
  135. function clear_paras(index){
  136. if(index === 0){
  137. volume1.text = 0
  138. keep1.text = 0
  139. outmax1.text = 0
  140. outmini1.text = 0
  141. outp1.text = 0
  142. outi1.text = 0
  143. outd1.text = 0
  144. inmax1.text = 0
  145. inmini1.text = 0
  146. inp1.text = 0
  147. ini1.text = 0
  148. ind1.text = 0
  149. inmaxI1.text = 0
  150. inmaxIstep1.text = 0
  151. inmaxDstep1.text = 0
  152. }else if(index === 1){
  153. volume2.text = 0
  154. keep2.text = 0
  155. outmax2.text = 0
  156. outmini2.text = 0
  157. outp2.text = 0
  158. outi2.text = 0
  159. outd2.text = 0
  160. inmax2.text = 0
  161. inmini2.text = 0
  162. inp2.text = 0
  163. ini2.text = 0
  164. ind2.text = 0
  165. inmaxI2.text = 0
  166. inmaxIstep2.text = 0
  167. inmaxDstep2.text = 0
  168. }else if(index === 2){
  169. volume3.text = 0
  170. keep3.text = 0
  171. outmax3.text = 0
  172. outmini3.text = 0
  173. outp3.text = 0
  174. outi3.text = 0
  175. outd3.text = 0
  176. inmax3.text = 0
  177. inmini3.text = 0
  178. inp3.text = 0
  179. ini3.text = 0
  180. ind3.text = 0
  181. inmaxI3.text = 0
  182. inmaxIstep3.text = 0
  183. inmaxDstep3.text = 0
  184. }else if(index === 3){
  185. volume4.text = 0
  186. keep4.text = 0
  187. outmax4.text = 0
  188. outmini4.text = 0
  189. outp4.text = 0
  190. outi4.text = 0
  191. outd4.text = 0
  192. inmax4.text = 0
  193. inmini4.text = 0
  194. inp4.text = 0
  195. ini4.text = 0
  196. ind4.text = 0
  197. inmaxI4.text = 0
  198. inmaxIstep4.text = 0
  199. inmaxDstep4.text = 0
  200. }else if(index === 4){
  201. volume5.text = 0
  202. keep5.text = 0
  203. outmax5.text = 0
  204. outmini5.text = 0
  205. outp5.text = 0
  206. outi5.text = 0
  207. outd5.text = 0
  208. inmax5.text = 0
  209. inmini5.text = 0
  210. inp5.text = 0
  211. ini5.text = 0
  212. ind5.text = 0
  213. inmaxI5.text = 0
  214. inmaxIstep5.text = 0
  215. inmaxDstep5.text = 0
  216. }
  217. }
  218. function update_detail(){
  219. var jsonobj = CalibrationPara.get_paras();
  220. for(var i=0; i<5; i++){
  221. clear_paras(i)
  222. }
  223. for(var index= 0; index< jsonobj.count; index++){
  224. update_paras(index, jsonobj.pids[index])
  225. }
  226. }
  227. DynamicGroupBox{
  228. id:groupbox
  229. anchors.centerIn: parent
  230. anchors.fill: parent
  231. title: title_str
  232. Column{
  233. //spacing:10
  234. anchors.centerIn: parent
  235. width: 1200
  236. Row{
  237. width: parent.width
  238. height: 120
  239. spacing: 50
  240. Text { text: "1区参数 "; font.bold: true; font.pointSize: 12; }
  241. Column{
  242. //spacing:10
  243. Row{
  244. spacing:10
  245. InputLine{
  246. id:volume1
  247. paraName: "容积≤(L): "
  248. paraLength: 80
  249. onTextChanged: {
  250. volume[0] = Number(text)
  251. }
  252. }
  253. InputLine{
  254. id:keep1
  255. paraName: "保持时间(秒): "
  256. paraLength: 80
  257. onTextChanged: {
  258. keeptime[0] = Number(text)
  259. }
  260. }
  261. }
  262. Row{
  263. //spacing:10
  264. Text { text: "外环:"; font.bold: true; font.pointSize: 12; }
  265. InputLine{
  266. id:outmax1
  267. paraName: "Max:"
  268. paraLength: 60
  269. onTextChanged: {
  270. outermax[0] = Number(text)
  271. }
  272. }
  273. InputLine{
  274. id:outmini1
  275. paraName: "Mini:"
  276. paraLength: 60
  277. onTextChanged: {
  278. outermini[0] = Number(text)
  279. }
  280. }
  281. InputLine{
  282. id:outp1
  283. paraName: "Kp:"
  284. paraLength: 60
  285. onTextChanged: {
  286. outerKp[0] = Number(text)
  287. }
  288. }
  289. InputLine{
  290. id:outi1
  291. paraName: "Ki:"
  292. paraLength: 60
  293. onTextChanged: {
  294. outerKi[0] = Number(text)
  295. }
  296. }
  297. InputLine{
  298. id:outd1
  299. paraName: "Kd:"
  300. paraLength: 60
  301. onTextChanged: {
  302. outerKd[0] = Number(text)
  303. }
  304. }
  305. }
  306. Row{
  307. //spacing:10
  308. Text { text: "内环:"; font.bold: true; font.pointSize: 12; }
  309. InputLine{
  310. id:inmax1
  311. paraName: "Max:"
  312. paraLength: 60
  313. onTextChanged: {
  314. innermax[0] = Number(text)
  315. }
  316. }
  317. InputLine{
  318. id:inmini1
  319. paraName: "Mini:"
  320. paraLength: 60
  321. onTextChanged: {
  322. innermini[0] = Number(text)
  323. }
  324. }
  325. InputLine{
  326. id:inp1
  327. paraName: "Kp:"
  328. paraLength: 60
  329. onTextChanged: {
  330. innerKp[0] = Number(text)
  331. }
  332. }
  333. InputLine{
  334. id:ini1
  335. paraName: "Ki:"
  336. paraLength: 60
  337. onTextChanged: {
  338. innerKi[0] = Number(text)
  339. }
  340. }
  341. InputLine{
  342. id:ind1
  343. paraName: "Kd:"
  344. paraLength: 60
  345. onTextChanged: {
  346. innerKd[0] = Number(text)
  347. }
  348. }
  349. InputLine{
  350. id:inmaxI1
  351. paraName: "maxI:"
  352. paraLength: 60
  353. onTextChanged: {
  354. innermaxI[0] = Number(text)
  355. }
  356. }
  357. InputLine{
  358. id:inmaxIstep1
  359. paraName: "maxIstep:"
  360. paraLength: 60
  361. onTextChanged: {
  362. innermaxIstep[0] = Number(text)
  363. }
  364. }
  365. InputLine{
  366. id:inmaxDstep1
  367. paraName: "maxDstep:"
  368. paraLength: 60
  369. onTextChanged: {
  370. innermaxDstep[0] = Number(text)
  371. }
  372. }
  373. }
  374. }
  375. }
  376. Row{
  377. width: parent.width
  378. height: 120
  379. spacing: 50
  380. Text { text: "2区参数 "; font.bold: true; font.pointSize: 12; }
  381. Column{
  382. //spacing:10
  383. Row{
  384. spacing:10
  385. InputLine{
  386. id:volume2
  387. paraName: "容积≤(L): "
  388. paraLength: 80
  389. onTextChanged: {
  390. volume[1] = Number(text)
  391. }
  392. }
  393. InputLine{
  394. id:keep2
  395. paraName: "保持时间(秒): "
  396. paraLength: 80
  397. onTextChanged: {
  398. keeptime[1] = Number(text)
  399. }
  400. }
  401. }
  402. Row{
  403. //spacing:30
  404. Text { text: "外环:"; font.bold: true; font.pointSize: 12; }
  405. InputLine{
  406. id:outmax2
  407. paraName: "Max:"
  408. paraLength: 60
  409. onTextChanged: {
  410. outermax[1] = Number(text)
  411. }
  412. }
  413. InputLine{
  414. id:outmini2
  415. paraName: "Mini:"
  416. paraLength: 60
  417. onTextChanged: {
  418. outermini[1] = Number(text)
  419. }
  420. }
  421. InputLine{
  422. id:outp2
  423. paraName: "Kp:"
  424. paraLength: 60
  425. onTextChanged: {
  426. outerKp[1] = Number(text)
  427. }
  428. }
  429. InputLine{
  430. id:outi2
  431. paraName: "Ki:"
  432. paraLength: 60
  433. onTextChanged: {
  434. outerKi[1] = Number(text)
  435. }
  436. }
  437. InputLine{
  438. id:outd2
  439. paraName: "Kd:"
  440. paraLength: 60
  441. onTextChanged: {
  442. outerKd[1] = Number(text)
  443. }
  444. }
  445. }
  446. Row{
  447. //spacing:30
  448. Text { text: "内环:"; font.bold: true; font.pointSize: 12; }
  449. InputLine{
  450. id:inmax2
  451. paraName: "Max:"
  452. paraLength: 60
  453. onTextChanged: {
  454. innermax[1] = Number(text)
  455. }
  456. }
  457. InputLine{
  458. id:inmini2
  459. paraName: "Mini:"
  460. paraLength: 60
  461. onTextChanged: {
  462. innermini[1] = Number(text)
  463. }
  464. }
  465. InputLine{
  466. id:inp2
  467. paraName: "Kp:"
  468. paraLength: 60
  469. onTextChanged: {
  470. innerKp[1] = Number(text)
  471. }
  472. }
  473. InputLine{
  474. id:ini2
  475. paraName: "Ki:"
  476. paraLength: 60
  477. onTextChanged: {
  478. innerKi[1] = Number(text)
  479. }
  480. }
  481. InputLine{
  482. id:ind2
  483. paraName: "Kd:"
  484. paraLength: 60
  485. onTextChanged: {
  486. innerKd[1] = Number(text)
  487. }
  488. }
  489. InputLine{
  490. id:inmaxI2
  491. paraName: "maxI:"
  492. paraLength: 60
  493. onTextChanged: {
  494. innermaxI[1] = Number(text)
  495. }
  496. }
  497. InputLine{
  498. id:inmaxIstep2
  499. paraName: "maxIstep:"
  500. paraLength: 60
  501. onTextChanged: {
  502. innermaxIstep[1] = Number(text)
  503. }
  504. }
  505. InputLine{
  506. id:inmaxDstep2
  507. paraName: "maxDstep:"
  508. paraLength: 60
  509. onTextChanged: {
  510. innermaxDstep[1] = Number(text)
  511. }
  512. }
  513. }
  514. }
  515. }
  516. Row{
  517. width: parent.width
  518. height: 120
  519. spacing: 50
  520. Text { text: "3区参数 "; font.bold: true; font.pointSize: 12; }
  521. Column{
  522. //spacing:10
  523. Row{
  524. spacing:10
  525. InputLine{
  526. id:volume3
  527. paraName: "容积≤(L): "
  528. paraLength: 80
  529. onTextChanged: {
  530. volume[2] = Number(text)
  531. }
  532. }
  533. InputLine{
  534. id:keep3
  535. paraName: "保持时间(秒): "
  536. paraLength: 80
  537. onTextChanged: {
  538. keeptime[2] = Number(text)
  539. }
  540. }
  541. }
  542. Row{
  543. //spacing:30
  544. Text { text: "外环:"; font.bold: true; font.pointSize: 12; }
  545. InputLine{
  546. id:outmax3
  547. paraName: "Max:"
  548. paraLength: 60
  549. onTextChanged: {
  550. outermax[2] = Number(text)
  551. }
  552. }
  553. InputLine{
  554. id:outmini3
  555. paraName: "Mini:"
  556. paraLength: 60
  557. onTextChanged: {
  558. outermini[2] = Number(text)
  559. }
  560. }
  561. InputLine{
  562. id:outp3
  563. paraName: "Kp:"
  564. paraLength: 60
  565. onTextChanged: {
  566. outerKp[2] = Number(text)
  567. }
  568. }
  569. InputLine{
  570. id:outi3
  571. paraName: "Ki:"
  572. paraLength: 60
  573. onTextChanged: {
  574. outerKi[2] = Number(text)
  575. }
  576. }
  577. InputLine{
  578. id:outd3
  579. paraName: "Kd:"
  580. paraLength: 60
  581. onTextChanged: {
  582. outerKd[2] = Number(text)
  583. }
  584. }
  585. }
  586. Row{
  587. //spacing:30
  588. Text { text: "内环:"; font.bold: true; font.pointSize: 12; }
  589. InputLine{
  590. id:inmax3
  591. paraName: "Max:"
  592. paraLength: 60
  593. onTextChanged: {
  594. innermax[2] = Number(text)
  595. }
  596. }
  597. InputLine{
  598. id:inmini3
  599. paraName: "Mini:"
  600. paraLength: 60
  601. onTextChanged: {
  602. innermini[2] = Number(text)
  603. }
  604. }
  605. InputLine{
  606. id:inp3
  607. paraName: "Kp:"
  608. paraLength: 60
  609. onTextChanged: {
  610. innerKp[2] = Number(text)
  611. }
  612. }
  613. InputLine{
  614. id:ini3
  615. paraName: "Ki:"
  616. paraLength: 60
  617. onTextChanged: {
  618. innerKi[2] = Number(text)
  619. }
  620. }
  621. InputLine{
  622. id:ind3
  623. paraName: "Kd:"
  624. paraLength: 60
  625. onTextChanged: {
  626. innerKd[2] = Number(text)
  627. }
  628. }
  629. InputLine{
  630. id:inmaxI3
  631. paraName: "maxI:"
  632. paraLength: 60
  633. onTextChanged: {
  634. innermaxI[2] = Number(text)
  635. }
  636. }
  637. InputLine{
  638. id:inmaxIstep3
  639. paraName: "maxIstep:"
  640. paraLength: 60
  641. onTextChanged: {
  642. innermaxIstep[2] = Number(text)
  643. }
  644. }
  645. InputLine{
  646. id:inmaxDstep3
  647. paraName: "maxDstep:"
  648. paraLength: 60
  649. onTextChanged: {
  650. innermaxDstep[2] = Number(text)
  651. }
  652. }
  653. }
  654. }
  655. }
  656. Row{
  657. width: parent.width
  658. height: 120
  659. spacing: 50
  660. Text { text: "4区参数 "; font.bold: true; font.pointSize: 12; }
  661. Column{
  662. //spacing:10
  663. Row{
  664. spacing:10
  665. InputLine{
  666. id:volume4
  667. paraName: "容积≤(L): "
  668. paraLength: 80
  669. onTextChanged: {
  670. volume[3] = Number(text)
  671. }
  672. }
  673. InputLine{
  674. id:keep4
  675. paraName: "保持时间(秒): "
  676. paraLength: 80
  677. onTextChanged: {
  678. keeptime[3] = Number(text)
  679. }
  680. }
  681. }
  682. Row{
  683. //spacing:30
  684. Text { text: "外环:"; font.bold: true; font.pointSize: 12; }
  685. InputLine{
  686. id:outmax4
  687. paraName: "Max:"
  688. paraLength: 60
  689. onTextChanged: {
  690. outermax[3] = Number(text)
  691. }
  692. }
  693. InputLine{
  694. id:outmini4
  695. paraName: "Mini:"
  696. paraLength: 60
  697. onTextChanged: {
  698. outermini[3] = Number(text)
  699. }
  700. }
  701. InputLine{
  702. id:outp4
  703. paraName: "Kp:"
  704. paraLength: 60
  705. onTextChanged: {
  706. outerKp[3] = Number(text)
  707. }
  708. }
  709. InputLine{
  710. id:outi4
  711. paraName: "Ki:"
  712. paraLength: 60
  713. onTextChanged: {
  714. outerKi[3] = Number(text)
  715. }
  716. }
  717. InputLine{
  718. id:outd4
  719. paraName: "Kd:"
  720. paraLength: 60
  721. onTextChanged: {
  722. outerKd[3] = Number(text)
  723. }
  724. }
  725. }
  726. Row{
  727. //spacing:30
  728. Text { text: "内环:"; font.bold: true; font.pointSize: 12; }
  729. InputLine{
  730. id:inmax4
  731. paraName: "Max:"
  732. paraLength: 60
  733. onTextChanged: {
  734. innermax[3] = Number(text)
  735. }
  736. }
  737. InputLine{
  738. id:inmini4
  739. paraName: "Mini:"
  740. paraLength: 60
  741. onTextChanged: {
  742. innermini[3] = Number(text)
  743. }
  744. }
  745. InputLine{
  746. id:inp4
  747. paraName: "Kp:"
  748. paraLength: 60
  749. onTextChanged: {
  750. innerKp[3] = Number(text)
  751. }
  752. }
  753. InputLine{
  754. id:ini4
  755. paraName: "Ki:"
  756. paraLength: 60
  757. onTextChanged: {
  758. innerKi[3] = Number(text)
  759. }
  760. }
  761. InputLine{
  762. id:ind4
  763. paraName: "Kd:"
  764. paraLength: 60
  765. onTextChanged: {
  766. innerKd[3] = Number(text)
  767. }
  768. }
  769. InputLine{
  770. id:inmaxI4
  771. paraName: "maxI:"
  772. paraLength: 60
  773. onTextChanged: {
  774. innermaxI[3] = Number(text)
  775. }
  776. }
  777. InputLine{
  778. id:inmaxIstep4
  779. paraName: "maxIstep:"
  780. paraLength: 60
  781. onTextChanged: {
  782. innermaxIstep[3] = Number(text)
  783. }
  784. }
  785. InputLine{
  786. id:inmaxDstep4
  787. paraName: "maxDstep:"
  788. paraLength: 60
  789. onTextChanged: {
  790. innermaxDstep[3] = Number(text)
  791. }
  792. }
  793. }
  794. }
  795. }
  796. Row{
  797. width: parent.width
  798. height: 120
  799. spacing: 50
  800. Text { text: "5区参数 "; font.bold: true; font.pointSize: 12; }
  801. Column{
  802. //spacing:10
  803. Row{
  804. spacing:10
  805. InputLine{
  806. id:volume5
  807. paraName: "容积≤(L): "
  808. paraLength: 80
  809. onTextChanged: {
  810. volume[4] = Number(text)
  811. }
  812. }
  813. InputLine{
  814. id:keep5
  815. paraName: "保持时间(秒): "
  816. paraLength: 80
  817. onTextChanged: {
  818. keeptime[4] = Number(text)
  819. }
  820. }
  821. }
  822. Row{
  823. //spacing:30
  824. Text { text: "外环:"; font.bold: true; font.pointSize: 12; }
  825. InputLine{
  826. id:outmax5
  827. paraName: "Max:"
  828. paraLength: 60
  829. onTextChanged: {
  830. outermax[4] = Number(text)
  831. }
  832. }
  833. InputLine{
  834. id:outmini5
  835. paraName: "Mini:"
  836. paraLength: 60
  837. onTextChanged: {
  838. outermini[4] = Number(text)
  839. }
  840. }
  841. InputLine{
  842. id:outp5
  843. paraName: "Kp:"
  844. paraLength: 60
  845. onTextChanged: {
  846. outerKp[4] = Number(text)
  847. }
  848. }
  849. InputLine{
  850. id:outi5
  851. paraName: "Ki:"
  852. paraLength: 60
  853. onTextChanged: {
  854. outerKi[4] = Number(text)
  855. }
  856. }
  857. InputLine{
  858. id:outd5
  859. paraName: "Kd:"
  860. paraLength: 60
  861. onTextChanged: {
  862. outerKd[4] = Number(text)
  863. }
  864. }
  865. }
  866. Row{
  867. //spacing:30
  868. Text { text: "内环:"; font.bold: true; font.pointSize: 12; }
  869. InputLine{
  870. id:inmax5
  871. paraName: "Max:"
  872. paraLength: 60
  873. onTextChanged: {
  874. innermax[4] = Number(text)
  875. }
  876. }
  877. InputLine{
  878. id:inmini5
  879. paraName: "Mini:"
  880. paraLength: 60
  881. onTextChanged: {
  882. innermini[4] = Number(text)
  883. }
  884. }
  885. InputLine{
  886. id:inp5
  887. paraName: "Kp:"
  888. paraLength: 60
  889. onTextChanged: {
  890. innerKp[4] = Number(text)
  891. }
  892. }
  893. InputLine{
  894. id:ini5
  895. paraName: "Ki:"
  896. paraLength: 60
  897. onTextChanged: {
  898. innerKi[4] = Number(text)
  899. }
  900. }
  901. InputLine{
  902. id:ind5
  903. paraName: "Kd:"
  904. paraLength: 60
  905. onTextChanged: {
  906. innerKd[4] = Number(text)
  907. }
  908. }
  909. InputLine{
  910. id:inmaxI5
  911. paraName: "maxI:"
  912. paraLength: 60
  913. onTextChanged: {
  914. innermaxI[4] = Number(text)
  915. }
  916. }
  917. InputLine{
  918. id:inmaxIstep5
  919. paraName: "maxIstep:"
  920. paraLength: 60
  921. onTextChanged: {
  922. innermaxIstep[4] = Number(text)
  923. }
  924. }
  925. InputLine{
  926. id:inmaxDstep5
  927. paraName: "maxDstep:"
  928. paraLength: 60
  929. onTextChanged: {
  930. innermaxDstep[4] = Number(text)
  931. }
  932. }
  933. }
  934. }
  935. }
  936. Row{
  937. spacing:30
  938. UserButton {
  939. id: refresh_button;
  940. text: "刷新";
  941. font.pixelSize: 20
  942. anchors.verticalCenter: parent.verticalCenter
  943. width: 120
  944. height: 45
  945. onClicked: {
  946. update_detail()
  947. }
  948. }
  949. UserButton {
  950. id: save_button;
  951. text: "保存";
  952. font.pixelSize: 20
  953. anchors.verticalCenter: parent.verticalCenter
  954. width: 120
  955. height: 45
  956. onClicked: {
  957. set_paras()
  958. }
  959. }
  960. }
  961. }
  962. }
  963. Component.onCompleted: {
  964. update_detail()
  965. }
  966. }