You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1244 lines
41 KiB

3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
  1. <script lang="ts" setup>
  2. import { socket } from 'libs/socket'
  3. import { useDebugStore } from 'stores/debugStore'
  4. import { useSystemStore } from 'stores/systemStore'
  5. import { onMounted, onUnmounted } from 'vue'
  6. const systemStore = useSystemStore()
  7. const debugStore = useDebugStore()
  8. let currentCommandId = ''
  9. onMounted(() => {
  10. socket.init(receiveMessage, 'cmd_debug')
  11. socket.init(receiveMessage, 'cmd_response')
  12. })
  13. onUnmounted(() => {
  14. socket.unregisterCallback(receiveMessage, 'cmd_debug')
  15. socket.unregisterCallback(receiveMessage, 'cmd_response')
  16. })
  17. const receiveMessage = (data: Socket.cmdData) => {
  18. data.commandId === currentCommandId && systemStore.pushSystemList(data)
  19. }
  20. const debug_pallet_elevator_lift_up = async () => {
  21. currentCommandId = Date.now().toString()
  22. const params = {
  23. commandId: currentCommandId,
  24. command: 'debug_pallet_elevator_lift_up',
  25. params: {
  26. index: debugStore.formData.heatArea.index,
  27. ...debugStore.formData.heatArea.heatMotorData,
  28. },
  29. }
  30. await debugStore.sendControl(params)
  31. }
  32. const debug_pallet_elevator_lift_down = async () => {
  33. currentCommandId = Date.now().toString()
  34. const params = {
  35. commandId: currentCommandId,
  36. command: 'debug_pallet_elevator_lift_down',
  37. params: {
  38. index: debugStore.formData.heatArea.index,
  39. ...debugStore.formData.heatArea.heatMotorData,
  40. },
  41. }
  42. await debugStore.sendControl(params)
  43. }
  44. const debug_pallet_elevator_stop = async () => {
  45. currentCommandId = Date.now().toString()
  46. const params = {
  47. commandId: currentCommandId,
  48. command: 'debug_pallet_elevator_stop',
  49. params: {
  50. index: debugStore.formData.heatArea.index,
  51. },
  52. }
  53. await debugStore.sendControl(params)
  54. }
  55. const debug_pallet_elevator_reset = async () => {
  56. currentCommandId = Date.now().toString()
  57. const params = {
  58. commandId: currentCommandId,
  59. command: 'debug_pallet_elevator_reset',
  60. params: {
  61. index: debugStore.formData.heatArea.index,
  62. },
  63. }
  64. await debugStore.sendControl(params)
  65. }
  66. const debug_heater_start = async () => {
  67. currentCommandId = Date.now().toString()
  68. const params = {
  69. commandId: currentCommandId,
  70. command: 'debug_heater_start',
  71. params: {
  72. index: debugStore.formData.heatArea.index,
  73. ...debugStore.formData.heatArea.heatTemperature,
  74. },
  75. }
  76. await debugStore.sendControl(params)
  77. }
  78. const debug_heater_stop = async () => {
  79. currentCommandId = Date.now().toString()
  80. const params = {
  81. commandId: currentCommandId,
  82. command: 'debug_heater_stop',
  83. params: {
  84. index: debugStore.formData.heatArea.index,
  85. },
  86. }
  87. await debugStore.sendControl(params)
  88. }
  89. const debug_cold_trap_start_refrigeration = async () => {
  90. currentCommandId = Date.now().toString()
  91. const params = {
  92. commandId: currentCommandId,
  93. command: 'debug_cold_trap_start_refrigeration',
  94. params: {
  95. index: debugStore.formData.heatArea.index,
  96. ...debugStore.formData.heatArea.coldTrap,
  97. },
  98. }
  99. await debugStore.sendControl(params)
  100. }
  101. const debug_cold_trap_stop_refrigeration = async () => {
  102. currentCommandId = Date.now().toString()
  103. const params = {
  104. commandId: currentCommandId,
  105. command: 'debug_cold_trap_stop_refrigeration',
  106. params: {
  107. index: debugStore.formData.heatArea.index,
  108. },
  109. }
  110. await debugStore.sendControl(params)
  111. }
  112. const debug_cold_trap_start_recycle = async () => {
  113. currentCommandId = Date.now().toString()
  114. const params = {
  115. commandId: currentCommandId,
  116. command: 'debug_cold_trap_start_recycle',
  117. params: {
  118. index: debugStore.formData.heatArea.index,
  119. },
  120. }
  121. await debugStore.sendControl(params)
  122. }
  123. const debug_cold_trap_stop_recycle = async () => {
  124. currentCommandId = Date.now().toString()
  125. const params = {
  126. commandId: currentCommandId,
  127. command: 'debug_cold_trap_stop_recycle',
  128. params: {
  129. index: debugStore.formData.heatArea.index,
  130. },
  131. }
  132. await debugStore.sendControl(params)
  133. }
  134. // const debug_heater_start_heat_maintaining = async () => {
  135. // currentCommandId = Date.now().toString()
  136. // const params = {
  137. // commandId: currentCommandId,
  138. // command: 'debug_heater_start_heat_maintaining',
  139. // params: {
  140. // index: debugStore.formData.heatArea.index,
  141. // ...debugStore.formData.heatArea.heatTemperature,
  142. // },
  143. // }
  144. // await debugStore.sendControl(params)
  145. // }
  146. //
  147. // const debug_heater_stop_heat_maintaining = async () => {
  148. // currentCommandId = Date.now().toString()
  149. // const params = {
  150. // commandId: currentCommandId,
  151. // command: 'debug_heater_stop_heat_maintaining',
  152. // params: {
  153. // index: debugStore.formData.heatArea.index,
  154. // },
  155. // }
  156. // await debugStore.sendControl(params)
  157. // }
  158. const debug_fan_start = async () => {
  159. currentCommandId = Date.now().toString()
  160. const params = {
  161. commandId: currentCommandId,
  162. command: 'debug_fan_start',
  163. params: {
  164. index: debugStore.formData.heatArea.index,
  165. },
  166. }
  167. await debugStore.sendControl(params)
  168. }
  169. const debug_fan_stop = async () => {
  170. currentCommandId = Date.now().toString()
  171. const params = {
  172. commandId: currentCommandId,
  173. command: 'debug_fan_stop',
  174. params: {
  175. index: debugStore.formData.heatArea.index,
  176. },
  177. }
  178. await debugStore.sendControl(params)
  179. }
  180. const debug_cover_elevator_lift_up = async () => {
  181. currentCommandId = Date.now().toString()
  182. const params = {
  183. commandId: currentCommandId,
  184. command: 'debug_cover_elevator_lift_up',
  185. params: {
  186. ...debugStore.formData.lidData,
  187. },
  188. }
  189. await debugStore.sendControl(params)
  190. }
  191. const debug_cover_elevator_lift_down = async () => {
  192. currentCommandId = Date.now().toString()
  193. const params = {
  194. commandId: currentCommandId,
  195. command: 'debug_cover_elevator_lift_down',
  196. params: {
  197. ...debugStore.formData.lidData,
  198. },
  199. }
  200. await debugStore.sendControl(params)
  201. }
  202. const debug_cover_elevator_reset = async () => {
  203. currentCommandId = Date.now().toString()
  204. const params = {
  205. commandId: currentCommandId,
  206. command: 'debug_cover_elevator_reset',
  207. params: {},
  208. }
  209. await debugStore.sendControl(params)
  210. }
  211. const debug_cover_elevator_stop = async () => {
  212. currentCommandId = Date.now().toString()
  213. const params = {
  214. commandId: currentCommandId,
  215. command: 'debug_cover_elevator_stop',
  216. params: {},
  217. }
  218. await debugStore.sendControl(params)
  219. }
  220. const debug_liquid_arm_reset = async () => {
  221. currentCommandId = Date.now().toString()
  222. const params = {
  223. commandId: currentCommandId,
  224. command: 'debug_liquid_arm_reset',
  225. params: {
  226. target: ['largeArm', 'smallArm'],
  227. },
  228. }
  229. await debugStore.sendControl(params)
  230. }
  231. const debug_liquid_arm_rotation = async () => {
  232. currentCommandId = Date.now().toString()
  233. const params = {
  234. commandId: currentCommandId,
  235. command: 'debug_liquid_arm_rotation',
  236. params: {
  237. ...debugStore.formData.liquidArmData,
  238. },
  239. }
  240. await debugStore.sendControl(params)
  241. }
  242. const debug_liquid_arm_stop = async () => {
  243. currentCommandId = Date.now().toString()
  244. const params = {
  245. commandId: currentCommandId,
  246. command: 'debug_liquid_arm_stop',
  247. params: {
  248. target: ['largeArm', 'smallArm'],
  249. },
  250. }
  251. await debugStore.sendControl(params)
  252. }
  253. // const liquid_pump_pre_filling = async () => {
  254. // currentCommandId = Date.now().toString()
  255. // const params = {
  256. // commandId: currentCommandId,
  257. // command: 'debug_liquid_pump_pre_filling',
  258. // params: {
  259. // index: debugStore.formData.liquidPumpData.index,
  260. // },
  261. // }
  262. // await debugStore.sendControl(params)
  263. // }
  264. //
  265. // const liquid_pump_pre_evacuation = async () => {
  266. // currentCommandId = Date.now().toString()
  267. // const params = {
  268. // commandId: currentCommandId,
  269. // command: 'debug_liquid_pump_pre_evacuation',
  270. // params: {
  271. // index: debugStore.formData.liquidPumpData.index,
  272. // },
  273. // }
  274. // await debugStore.sendControl(params)
  275. // }
  276. const debug_liquid_pump_start = async () => {
  277. currentCommandId = Date.now().toString()
  278. const params = {
  279. commandId: currentCommandId,
  280. command: 'debug_liquid_pump_start',
  281. params: {
  282. ...debugStore.formData.liquidPumpData,
  283. },
  284. }
  285. await debugStore.sendControl(params)
  286. }
  287. const debug_liquid_pump_stop = async () => {
  288. currentCommandId = Date.now().toString()
  289. const params = {
  290. commandId: currentCommandId,
  291. command: 'debug_liquid_pump_stop',
  292. params: {
  293. index: debugStore.formData.liquidPumpData.index,
  294. },
  295. }
  296. await debugStore.sendControl(params)
  297. }
  298. const debug_shaker_start = async () => {
  299. currentCommandId = Date.now().toString()
  300. const params = {
  301. commandId: currentCommandId,
  302. command: 'debug_shaker_start',
  303. params: {
  304. ...debugStore.formData.shakeSpeed,
  305. },
  306. }
  307. await debugStore.sendControl(params)
  308. }
  309. const debug_shaker_stop = async () => {
  310. currentCommandId = Date.now().toString()
  311. const params = {
  312. commandId: currentCommandId,
  313. command: 'debug_shaker_stop',
  314. params: {},
  315. }
  316. await debugStore.sendControl(params)
  317. }
  318. const debug_shaker_reset = async () => {
  319. currentCommandId = Date.now().toString()
  320. const params = {
  321. commandId: currentCommandId,
  322. command: 'debug_shaker_reset',
  323. params: {},
  324. }
  325. await debugStore.sendControl(params)
  326. }
  327. const debug_transportation_arm_reset = async (motor: 'x' | 'y' | 'z') => {
  328. console.log(debugStore.formData.transferModule[`${motor}MotorData`])
  329. currentCommandId = Date.now().toString()
  330. const params = {
  331. commandId: currentCommandId,
  332. command: 'debug_transportation_arm_reset',
  333. params: {
  334. dim: [motor],
  335. },
  336. }
  337. await debugStore.sendControl(params)
  338. }
  339. const debug_transportation_arm_move = async (motor: 'x' | 'y' | 'z', direction: 'forward' | 'backward') => {
  340. const distance = direction === 'backward' ? -debugStore.formData.transferModule[`${motor}MotorData`][`${motor}DimDistance`] : debugStore.formData.transferModule[`${motor}MotorData`][`${motor}DimDistance`]
  341. currentCommandId = Date.now().toString()
  342. const params = {
  343. commandId: currentCommandId,
  344. command: 'debug_transportation_arm_move',
  345. params: {
  346. ...debugStore.formData.transferModule[`${motor}MotorData`],
  347. [`${motor}DimDistance`]: distance,
  348. },
  349. }
  350. await debugStore.sendControl(params)
  351. }
  352. const debug_transportation_arm_stop = async (motor: 'x' | 'y' | 'z') => {
  353. currentCommandId = Date.now().toString()
  354. const params = {
  355. commandId: currentCommandId,
  356. command: 'debug_transportation_arm_stop',
  357. params: {
  358. dim: [motor],
  359. },
  360. }
  361. await debugStore.sendControl(params)
  362. }
  363. const debug_holding_jaw_open = async () => {
  364. currentCommandId = Date.now().toString()
  365. const params = {
  366. commandId: currentCommandId,
  367. command: 'debug_holding_jaw_open',
  368. params: {
  369. ...debugStore.formData.transferModule.JawData,
  370. },
  371. }
  372. await debugStore.sendControl(params)
  373. }
  374. // const debug_holding_jaw_close = async () => {
  375. // currentCommandId = Date.now().toString()
  376. // const params = {
  377. // commandId: currentCommandId,
  378. // command: 'debug_holding_jaw_close',
  379. // params: {
  380. // ...debugStore.formData.transferModule.JawData,
  381. // },
  382. // }
  383. // await debugStore.sendControl(params)
  384. // }
  385. const debug_holding_jaw_pause = async () => {
  386. currentCommandId = Date.now().toString()
  387. const params = {
  388. commandId: currentCommandId,
  389. command: 'debug_holding_jaw_pause',
  390. params: {},
  391. }
  392. await debugStore.sendControl(params)
  393. }
  394. const debug_door_open = async () => {
  395. currentCommandId = Date.now().toString()
  396. const params = {
  397. commandId: currentCommandId,
  398. command: 'debug_door_open',
  399. params: {},
  400. }
  401. await debugStore.sendControl(params)
  402. }
  403. const debug_door_close = async () => {
  404. currentCommandId = Date.now().toString()
  405. const params = {
  406. commandId: currentCommandId,
  407. command: 'debug_door_close',
  408. params: {},
  409. }
  410. await debugStore.sendControl(params)
  411. }
  412. const debug_door_stop = async () => {
  413. currentCommandId = Date.now().toString()
  414. const params = {
  415. commandId: currentCommandId,
  416. command: 'debug_door_stop',
  417. params: {},
  418. }
  419. await debugStore.sendControl(params)
  420. }
  421. const debug_move_tray_to_solution_area = async () => {
  422. currentCommandId = Date.now().toString()
  423. const params = {
  424. commandId: currentCommandId,
  425. command: 'debug_move_tray_to_solution_area',
  426. params: {
  427. heatId: debugStore.formData.heatArea.index,
  428. },
  429. }
  430. await debugStore.sendControl(params)
  431. }
  432. const debug_move_tray_to_heat_area = async () => {
  433. currentCommandId = Date.now().toString()
  434. const params = {
  435. commandId: currentCommandId,
  436. command: 'debug_move_tray_to_heat_area',
  437. params: {
  438. heatId: debugStore.formData.heatArea.index,
  439. },
  440. }
  441. await debugStore.sendControl(params)
  442. }
  443. const debug_cap_in_heat_area = async () => {
  444. currentCommandId = Date.now().toString()
  445. const params = {
  446. commandId: currentCommandId,
  447. command: 'debug_cap_in_heat_area',
  448. params: {
  449. heatId: debugStore.formData.heatArea.index,
  450. },
  451. }
  452. await debugStore.sendControl(params)
  453. }
  454. const debug_cap_out_heat_area = async () => {
  455. currentCommandId = Date.now().toString()
  456. const params = {
  457. commandId: currentCommandId,
  458. command: 'debug_cap_out_heat_area',
  459. params: {
  460. heatId: debugStore.formData.heatArea.index,
  461. },
  462. }
  463. await debugStore.sendControl(params)
  464. }
  465. const debug_cap_up_one = async () => {
  466. currentCommandId = Date.now().toString()
  467. const params = {
  468. commandId: currentCommandId,
  469. command: 'debug_cap_up_one',
  470. params: {},
  471. }
  472. await debugStore.sendControl(params)
  473. }
  474. const debug_cap_down_one = async () => {
  475. currentCommandId = Date.now().toString()
  476. const params = {
  477. commandId: currentCommandId,
  478. command: 'debug_cap_up_one',
  479. params: {},
  480. }
  481. await debugStore.sendControl(params)
  482. }
  483. const debug_enable_all_motor = async () => {
  484. currentCommandId = Date.now().toString()
  485. const params = {
  486. commandId: currentCommandId,
  487. command: 'debug_enable_all_motor',
  488. params: {},
  489. }
  490. await debugStore.sendControl(params)
  491. }
  492. const debug_disabled_all_motor = async () => {
  493. currentCommandId = Date.now().toString()
  494. const params = {
  495. commandId: currentCommandId,
  496. command: 'debug_disabled_all_motor',
  497. params: {},
  498. }
  499. await debugStore.sendControl(params)
  500. }
  501. const debug_stop_all_motor = async () => {
  502. currentCommandId = Date.now().toString()
  503. const params = {
  504. commandId: currentCommandId,
  505. command: 'debug_stop_all_motor',
  506. params: {},
  507. }
  508. await debugStore.sendControl(params)
  509. }
  510. </script>
  511. <template>
  512. <div class="debug-content">
  513. <!-- <el-tabs v-model="activeTab" type="card"> -->
  514. <!-- <el-tab-pane label="单步指令" :name="1" /> -->
  515. <!-- <el-tab-pane label="复合指令" :name="2" /> -->
  516. <!-- </el-tabs> -->
  517. <el-row class="button-content">
  518. <el-col :span="8">
  519. <div class="button-box">
  520. <ft-button type="primary" :click-handle="debug_enable_all_motor">
  521. 使能所有电机
  522. </ft-button>
  523. </div>
  524. </el-col>
  525. <el-col :span="8">
  526. <div class="button-box">
  527. <ft-button type="primary" :click-handle="debug_disabled_all_motor">
  528. 失能所有电机
  529. </ft-button>
  530. </div>
  531. </el-col>
  532. <el-col :span="8">
  533. <div class="button-box">
  534. <ft-button type="primary" :click-handle="debug_stop_all_motor">
  535. 停止所有电机
  536. </ft-button>
  537. </div>
  538. </el-col>
  539. </el-row>
  540. <el-row :gutter="10" class="card-content">
  541. <el-col :span="8">
  542. <el-card>
  543. <template #header>
  544. <div class="card-header">
  545. <span>转运模组</span>
  546. </div>
  547. </template>
  548. <el-divider>X轴电机</el-divider>
  549. <div class="card-box">
  550. <el-form>
  551. <el-form-item label="距离">
  552. <el-input v-model.number="debugStore.formData.transferModule.xMotorData.xDimDistance" type="number" placeholder="请输入距离">
  553. <template #append>
  554. mm
  555. </template>
  556. </el-input>
  557. </el-form-item>
  558. <el-form-item label="速度">
  559. <el-input v-model.number="debugStore.formData.transferModule.xMotorData.xDimVelocity" type="number" placeholder="请输入速度">
  560. <template #append>
  561. rpm/min
  562. </template>
  563. </el-input>
  564. </el-form-item>
  565. <el-form-item label="循环">
  566. <el-input v-model.number="debugStore.formData.transferModule.xMotorData.times" type="number" placeholder="请输入次数">
  567. <template #append>
  568. </template>
  569. </el-input>
  570. </el-form-item>
  571. <el-form-item>
  572. <ft-button size="small" type="primary" :click-handle="() => debug_transportation_arm_move('x', 'forward')">
  573. 前进
  574. </ft-button>
  575. <ft-button size="small" type="primary" :click-handle="() => debug_transportation_arm_move('x', 'backward')">
  576. 后退
  577. </ft-button>
  578. <ft-button size="small" :click-handle="() => debug_transportation_arm_stop('x')">
  579. 停止
  580. </ft-button>
  581. <ft-button type="primary" size="small" :click-handle="() => debug_transportation_arm_reset('x')">
  582. 回原点
  583. </ft-button>
  584. </el-form-item>
  585. <el-form-item label="指定位置">
  586. <el-input v-model.number="debugStore.formData.transferModule.xMotorData.times" type="number" placeholder="请输入次数">
  587. <template #append>
  588. mm
  589. </template>
  590. </el-input>
  591. </el-form-item>
  592. <el-form-item>
  593. <ft-button type="primary">
  594. 移动
  595. </ft-button>
  596. <ft-button>停止</ft-button>
  597. </el-form-item>
  598. </el-form>
  599. </div>
  600. <el-divider>Y轴电机</el-divider>
  601. <div class="card-box">
  602. <el-form>
  603. <el-form-item label="距离">
  604. <el-input v-model.number="debugStore.formData.transferModule.yMotorData.yDimDistance" type="number" placeholder="请输入距离">
  605. <template #append>
  606. mm
  607. </template>
  608. </el-input>
  609. </el-form-item>
  610. <el-form-item label="速度">
  611. <el-input v-model.number="debugStore.formData.transferModule.yMotorData.yDimVelocity" type="number" placeholder="请输入速度">
  612. <template #append>
  613. rpm/min
  614. </template>
  615. </el-input>
  616. </el-form-item>
  617. <el-form-item label="循环">
  618. <el-input v-model.number="debugStore.formData.transferModule.yMotorData.times" type="number" placeholder="请输入次数">
  619. <template #append>
  620. </template>
  621. </el-input>
  622. </el-form-item>
  623. <el-form-item>
  624. <ft-button type="primary" size="small" :click-handle="() => debug_transportation_arm_move('y', 'forward')">
  625. 前进
  626. </ft-button>
  627. <ft-button type="primary" size="small" :click-handle="() => debug_transportation_arm_move('y', 'backward')">
  628. 后退
  629. </ft-button>
  630. <ft-button size="small" :click-handle="() => debug_transportation_arm_stop('y')">
  631. 停止
  632. </ft-button>
  633. <ft-button size="small" type="primary" :click-handle="() => debug_transportation_arm_reset('y')">
  634. 回原点
  635. </ft-button>
  636. </el-form-item>
  637. <el-form-item label="指定位置">
  638. <el-input v-model.number="debugStore.formData.transferModule.xMotorData.times" type="number" placeholder="请输入次数">
  639. <template #append>
  640. mm
  641. </template>
  642. </el-input>
  643. </el-form-item>
  644. <el-form-item>
  645. <ft-button type="primary">
  646. 移动
  647. </ft-button>
  648. <ft-button>停止</ft-button>
  649. </el-form-item>
  650. </el-form>
  651. </div>
  652. <el-divider>Z轴电机</el-divider>
  653. <div class="card-box">
  654. <el-form>
  655. <el-form-item label="距离">
  656. <el-input v-model.number="debugStore.formData.transferModule.zMotorData.zDimDistance" type="number" placeholder="请输入距离">
  657. <template #append>
  658. mm
  659. </template>
  660. </el-input>
  661. </el-form-item>
  662. <el-form-item label="速度">
  663. <el-input v-model.number="debugStore.formData.transferModule.zMotorData.zDimVelocity" type="number" placeholder="请输入速度">
  664. <template #append>
  665. rpm/min
  666. </template>
  667. </el-input>
  668. </el-form-item>
  669. <el-form-item label="循环">
  670. <el-input v-model.number="debugStore.formData.transferModule.zMotorData.times" type="number" placeholder="请输入次数">
  671. <template #append>
  672. </template>
  673. </el-input>
  674. </el-form-item>
  675. <el-form-item>
  676. <ft-button size="small" type="primary" :click-handle="() => debug_transportation_arm_move('z', 'forward')">
  677. 前进
  678. </ft-button>
  679. <ft-button size="small" type="primary" :click-handle="() => debug_transportation_arm_move('z', 'backward')">
  680. 后退
  681. </ft-button>
  682. <ft-button size="small" :click-handle="() => debug_transportation_arm_stop('z')">
  683. 停止
  684. </ft-button>
  685. <ft-button size="small" type="primary" :click-handle="() => debug_transportation_arm_reset('z')">
  686. 回原点
  687. </ft-button>
  688. </el-form-item>
  689. <el-form-item label="指定位置">
  690. <el-input v-model.number="debugStore.formData.transferModule.xMotorData.times" type="number" placeholder="请输入次数">
  691. <template #append>
  692. mm
  693. </template>
  694. </el-input>
  695. </el-form-item>
  696. <el-form-item>
  697. <ft-button type="primary">
  698. 移动
  699. </ft-button>
  700. <ft-button>停止</ft-button>
  701. </el-form-item>
  702. </el-form>
  703. </div>
  704. <el-divider>夹爪舵机</el-divider>
  705. <div class="card-box">
  706. <el-form>
  707. <el-form-item label="打开位置">
  708. <el-input v-model.number="debugStore.formData.transferModule.JawData.openDistance" type="number" placeholder="请输入打开位置">
  709. <template #append>
  710. mm
  711. </template>
  712. </el-input>
  713. </el-form-item>
  714. <el-form-item label="闭合位置">
  715. <el-input v-model.number="debugStore.formData.transferModule.JawData.closeDistance" type="number" placeholder="请输入闭合位置">
  716. <template #append>
  717. mm
  718. </template>
  719. </el-input>
  720. </el-form-item>
  721. <el-form-item label="速度">
  722. <el-input v-model.number="debugStore.formData.transferModule.JawData.velocity" type="number" placeholder="请输入速度">
  723. <template #append>
  724. rpm/min
  725. </template>
  726. </el-input>
  727. </el-form-item>
  728. <el-form-item label="循环">
  729. <el-input v-model.number="debugStore.formData.transferModule.JawData.times" type="number" placeholder="请输入次数">
  730. <template #append>
  731. </template>
  732. </el-input>
  733. </el-form-item>
  734. <el-form-item>
  735. <ft-button type="primary" :click-handle="debug_holding_jaw_open">
  736. 执行
  737. </ft-button>
  738. <ft-button :click-handle="debug_holding_jaw_pause">
  739. 停止
  740. </ft-button>
  741. </el-form-item>
  742. </el-form>
  743. </div>
  744. </el-card>
  745. </el-col>
  746. <el-col :span="8">
  747. <el-card>
  748. <template #header>
  749. <div class="card-header">
  750. <span>加液模组</span>
  751. </div>
  752. </template>
  753. <el-divider>加液臂</el-divider>
  754. <div class="card-box">
  755. <el-form>
  756. <el-form-item label="大臂速度">
  757. <el-input v-model.number="debugStore.formData.liquidArmData.largeArmRotationVelocity" type="number" placeholder="请输入速度">
  758. <template #append>
  759. rpm/min
  760. </template>
  761. </el-input>
  762. </el-form-item>
  763. <el-form-item label="大臂角度">
  764. <el-input v-model.number="debugStore.formData.liquidArmData.largeArmAngle" type="number" placeholder="请输入角度">
  765. <template #append>
  766. °
  767. </template>
  768. </el-input>
  769. </el-form-item>
  770. <el-form-item label="小臂速度">
  771. <el-input v-model.number="debugStore.formData.liquidArmData.smallArmRotationVelocity" type="number" placeholder="请输入速度">
  772. <template #append>
  773. rpm/min
  774. </template>
  775. </el-input>
  776. </el-form-item>
  777. <el-form-item label="小臂角度">
  778. <el-input v-model.number="debugStore.formData.liquidArmData.smallArmAngle" type="number" placeholder="请输入角度">
  779. <template #append>
  780. °
  781. </template>
  782. </el-input>
  783. </el-form-item>
  784. </el-form>
  785. <ft-button type="primary" :click-handle="debug_liquid_arm_rotation">
  786. 开始
  787. </ft-button>
  788. <ft-button :click-handle="debug_liquid_arm_stop">
  789. 停止
  790. </ft-button>
  791. <ft-button type="primary" :click-handle="debug_liquid_arm_reset">
  792. 回原点
  793. </ft-button>
  794. </div>
  795. <el-divider>加液泵</el-divider>
  796. <div class="card-box">
  797. <el-form>
  798. <!-- <el-form-item label="方向"> -->
  799. <!-- <el-radio-group v-model="debugStore.formData.liquidPumpData.direction"> -->
  800. <!-- <el-radio-button value="forward"> -->
  801. <!-- 正转 -->
  802. <!-- </el-radio-button> -->
  803. <!-- <el-radio-button value="backward"> -->
  804. <!-- 反转 -->
  805. <!-- </el-radio-button> -->
  806. <!-- </el-radio-group> -->
  807. <!-- </el-form-item> -->
  808. <el-form-item label="加液泵头">
  809. <el-select v-model="debugStore.formData.liquidPumpData.index" placeholder="请选择泵头">
  810. <el-option v-for="item in 8" :key="item" :label="item" :value="`acid_pump_0${item}`" />
  811. </el-select>
  812. </el-form-item>
  813. <el-form-item label="加液容量">
  814. <el-input v-model.number="debugStore.formData.liquidPumpData.volume" type="number" placeholder="请输入速度">
  815. <template #append>
  816. ml
  817. </template>
  818. </el-input>
  819. </el-form-item>
  820. <el-form-item label="加液速度">
  821. <el-input v-model.number="debugStore.formData.liquidPumpData.velocity" type="number" placeholder="请输入速度">
  822. <template #append>
  823. rpm/min
  824. </template>
  825. </el-input>
  826. </el-form-item>
  827. <!-- <el-form-item> -->
  828. <!-- <ft-button type="primary" :click-handle="liquid_pump_pre_filling"> -->
  829. <!-- 预充 -->
  830. <!-- </ft-button> -->
  831. <!-- <ft-button :click-handle="liquid_pump_pre_evacuation"> -->
  832. <!-- 排空 -->
  833. <!-- </ft-button> -->
  834. <!-- </el-form-item> -->
  835. <el-form-item>
  836. <ft-button type="primary" :click-handle="debug_liquid_pump_start">
  837. 启动
  838. </ft-button>
  839. <ft-button :click-handle="debug_liquid_pump_stop">
  840. 停止
  841. </ft-button>
  842. </el-form-item>
  843. </el-form>
  844. </div>
  845. <el-divider>摇匀</el-divider>
  846. <div class="card-box">
  847. <el-form>
  848. <el-form-item label="摇匀速度">
  849. <el-input v-model.number="debugStore.formData.shakeSpeed.velocity" type="number" placeholder="请输入速度">
  850. <template #append>
  851. rpm/min
  852. </template>
  853. </el-input>
  854. </el-form-item>
  855. </el-form>
  856. <ft-button type="primary" :click-handle="debug_shaker_start">
  857. 开始
  858. </ft-button>
  859. <ft-button :click-handle="debug_shaker_stop">
  860. 停止
  861. </ft-button>
  862. <ft-button type="primary" :click-handle="debug_shaker_reset">
  863. 回原点
  864. </ft-button>
  865. </div>
  866. </el-card>
  867. <el-card>
  868. <template #header>
  869. <div class="card-header">
  870. <span>相机模组</span>
  871. </div>
  872. </template>
  873. <div class="card-box">
  874. <!-- <el-form> -->
  875. <!-- <el-form-item label="速度"> -->
  876. <!-- <el-input> -->
  877. <!-- <template #append> -->
  878. <!-- rpm/min -->
  879. <!-- </template> -->
  880. <!-- </el-input> -->
  881. <!-- </el-form-item> -->
  882. <!-- <el-form-item label="距离"> -->
  883. <!-- <el-input> -->
  884. <!-- <template #append> -->
  885. <!-- ° -->
  886. <!-- </template> -->
  887. <!-- </el-input> -->
  888. <!-- </el-form-item> -->
  889. <!-- <el-form-item> -->
  890. <!-- <ft-button type="primary"> -->
  891. <!-- 抬升 -->
  892. <!-- </ft-button> -->
  893. <!-- <ft-button type="primary"> -->
  894. <!-- 下降 -->
  895. <!-- </ft-button> -->
  896. <!-- </el-form-item> -->
  897. <!-- <el-form-item> -->
  898. <!-- <ft-button type="primary"> -->
  899. <!-- 复位 -->
  900. <!-- </ft-button> -->
  901. <!-- <ft-button> -->
  902. <!-- 停止 -->
  903. <!-- </ft-button> -->
  904. <!-- </el-form-item> -->
  905. <!-- </el-form> -->
  906. </div>
  907. </el-card>
  908. <el-card>
  909. <template #header>
  910. <div class="card-header">
  911. <span></span>
  912. </div>
  913. </template>
  914. <div class="card-box">
  915. <ft-button type="primary" :click-handle="debug_door_open">
  916. 开门
  917. </ft-button>
  918. <ft-button type="primary" :click-handle="debug_door_close">
  919. 关门
  920. </ft-button>
  921. <ft-button :click-handle="debug_door_stop">
  922. 停止
  923. </ft-button>
  924. </div>
  925. </el-card>
  926. </el-col>
  927. <el-col :span="8">
  928. <el-card>
  929. <template #header>
  930. <div class="card-header">
  931. <span>加热模组</span>
  932. <div>
  933. <el-select v-model="debugStore.formData.heatArea.index" style="width: 150px" placeholder="请选择区域">
  934. <el-option v-for="item in 6" :key="item" :label="`A-${item}`" :value="`heat_module_0${item}`" />
  935. </el-select>
  936. </div>
  937. </div>
  938. </template>
  939. <el-divider>复合操作</el-divider>
  940. <div class="card-box">
  941. <el-form>
  942. <el-form-item>
  943. <ft-button size="small" type="primary" :click-handle="debug_move_tray_to_solution_area">
  944. 托盘移至加液区
  945. </ft-button>
  946. <ft-button size="small" type="primary" :click-handle="debug_cap_in_heat_area">
  947. 安装拍子
  948. </ft-button>
  949. <ft-button size="small" type="primary" :click-handle="debug_move_tray_to_heat_area">
  950. 托盘移至加热区
  951. </ft-button>
  952. <ft-button size="small" type="primary" :click-handle="debug_cap_out_heat_area">
  953. 拆卸拍子
  954. </ft-button>
  955. </el-form-item>
  956. </el-form>
  957. </div>
  958. <el-divider>升降电机</el-divider>
  959. <div class="card-box">
  960. <el-form>
  961. <el-form-item label="距离">
  962. <el-input v-model.number="debugStore.formData.heatArea.heatMotorData.distance" type="number" placeholder="请输入距离">
  963. <template #append>
  964. mm
  965. </template>
  966. </el-input>
  967. </el-form-item>
  968. <el-form-item label="速度">
  969. <el-input v-model.number="debugStore.formData.heatArea.heatMotorData.velocity" type="number" placeholder="请输入速度">
  970. <template #append>
  971. rpm/min
  972. </template>
  973. </el-input>
  974. </el-form-item>
  975. <el-form-item label="循环">
  976. <el-input v-model.number="debugStore.formData.heatArea.heatMotorData.times" type="number" placeholder="请输入次数">
  977. <template #append>
  978. </template>
  979. </el-input>
  980. </el-form-item>
  981. <el-form-item>
  982. <ft-button size="small" type="primary" :click-handle="debug_pallet_elevator_lift_up">
  983. 上升
  984. </ft-button>
  985. <ft-button size="small" type="primary" :click-handle="debug_pallet_elevator_lift_down">
  986. 下降
  987. </ft-button>
  988. <ft-button size="small" :click-handle="debug_pallet_elevator_stop">
  989. 停止
  990. </ft-button>
  991. <ft-button size="small" type="primary" :click-handle="debug_pallet_elevator_reset">
  992. 回原点
  993. </ft-button>
  994. </el-form-item>
  995. </el-form>
  996. </div>
  997. <el-divider>加热棒</el-divider>
  998. <div class="card-box">
  999. <el-form>
  1000. <el-form-item label="温度">
  1001. <el-input v-model.number="debugStore.formData.heatArea.heatTemperature.temperature" type="number" placeholder="请输入温度">
  1002. <template #append>
  1003. </template>
  1004. </el-input>
  1005. </el-form-item>
  1006. <el-form-item>
  1007. <ft-button type="primary" :click-handle="debug_heater_start">
  1008. 开始加热
  1009. </ft-button>
  1010. <ft-button :click-handle="debug_heater_stop">
  1011. 停止加热
  1012. </ft-button>
  1013. </el-form-item>
  1014. <!-- <el-form-item> -->
  1015. <!-- <ft-button type="primary" :click-handle="debug_heater_start_heat_maintaining"> -->
  1016. <!-- 开始恒温 -->
  1017. <!-- </ft-button> -->
  1018. <!-- <ft-button :click-handle="debug_heater_stop_heat_maintaining"> -->
  1019. <!-- 停止恒温 -->
  1020. <!-- </ft-button> -->
  1021. <!-- </el-form-item> -->
  1022. </el-form>
  1023. </div>
  1024. <el-divider>冷阱</el-divider>
  1025. <div class="card-box">
  1026. <el-form>
  1027. <el-form-item label="温度">
  1028. <el-input v-model.number="debugStore.formData.heatArea.coldTrap.temperature" type="number" placeholder="请输入温度">
  1029. <template #append>
  1030. </template>
  1031. </el-input>
  1032. </el-form-item>
  1033. <el-form-item>
  1034. <ft-button type="primary" :click-handle="debug_cold_trap_start_refrigeration">
  1035. 启动制冷
  1036. </ft-button>
  1037. <ft-button :click-handle="debug_cold_trap_stop_refrigeration">
  1038. 停止制冷
  1039. </ft-button>
  1040. </el-form-item>
  1041. <el-form-item>
  1042. <ft-button type="primary" :click-handle="debug_cold_trap_start_recycle">
  1043. 启动循环
  1044. </ft-button>
  1045. <ft-button :click-handle="debug_cold_trap_stop_recycle">
  1046. 停止循环
  1047. </ft-button>
  1048. </el-form-item>
  1049. </el-form>
  1050. </div>
  1051. <!-- <el-divider>拍子</el-divider> -->
  1052. <!-- <div class="card-box"> -->
  1053. <!-- <ft-button type="primary"> -->
  1054. <!-- 启动吸附 -->
  1055. <!-- </ft-button> -->
  1056. <!-- <ft-button> -->
  1057. <!-- 停止吸附 -->
  1058. <!-- </ft-button> -->
  1059. <!-- </div> -->
  1060. <el-divider>风扇</el-divider>
  1061. <div class="card-box">
  1062. <ft-button type="primary" :click-handle="debug_fan_start">
  1063. 打开风扇
  1064. </ft-button>
  1065. <ft-button :click-handle="debug_fan_stop">
  1066. 关闭风扇
  1067. </ft-button>
  1068. </div>
  1069. </el-card>
  1070. <el-card>
  1071. <template #header>
  1072. <div class="card-header">
  1073. <span>拍子存放模组</span>
  1074. </div>
  1075. </template>
  1076. <div class="card-box">
  1077. <el-form>
  1078. <el-form-item label="速度">
  1079. <el-input v-model.number="debugStore.formData.lidData.velocity" type="number" placeholder="请输入速度">
  1080. <template #append>
  1081. rpm/min
  1082. </template>
  1083. </el-input>
  1084. </el-form-item>
  1085. <el-form-item label="距离">
  1086. <el-input v-model.number="debugStore.formData.lidData.distance" type="number" placeholder="请输入距离">
  1087. <template #append>
  1088. mm
  1089. </template>
  1090. </el-input>
  1091. </el-form-item>
  1092. <el-form-item>
  1093. <ft-button type="primary" size="small" :click-handle="debug_cover_elevator_lift_up">
  1094. 抬升
  1095. </ft-button>
  1096. <ft-button type="primary" size="small" :click-handle="debug_cover_elevator_lift_down">
  1097. 下降
  1098. </ft-button>
  1099. <ft-button size="small" :click-handle="debug_cover_elevator_stop">
  1100. 停止
  1101. </ft-button>
  1102. <ft-button type="primary" size="small" :click-handle="debug_cover_elevator_reset">
  1103. 回原点
  1104. </ft-button>
  1105. <ft-button type="primary" :click-handle="debug_cap_up_one">
  1106. 提升一个拍子高度
  1107. </ft-button>
  1108. <ft-button type="primary" :click-handle="debug_cap_down_one">
  1109. 下降一个拍子高度
  1110. </ft-button>
  1111. </el-form-item>
  1112. </el-form>
  1113. </div>
  1114. </el-card>
  1115. </el-col>
  1116. </el-row>
  1117. </div>
  1118. </template>
  1119. <style lang="scss" scoped>
  1120. .debug-content {
  1121. overflow: hidden;
  1122. max-height: 100%;
  1123. .button-content {
  1124. height: 40px;
  1125. }
  1126. .card-content {
  1127. height: calc(100% - 40px);
  1128. overflow: auto;
  1129. }
  1130. }
  1131. .el-card {
  1132. margin-bottom: 10px;
  1133. }
  1134. :deep(.el-card__header) {
  1135. padding: 5px 10px;
  1136. }
  1137. .el-input, .el-select {
  1138. width: 100%;
  1139. }
  1140. .el-form-item {
  1141. margin-bottom: 10px;
  1142. margin-right: 10px;
  1143. }
  1144. .card-box {
  1145. //display: flex;
  1146. //align-items: center;
  1147. }
  1148. :deep(.el-input-group__append) {
  1149. padding: 0 10px;
  1150. }
  1151. :deep(.el-card__header) {
  1152. background:rgba(0,0,0,0.03);
  1153. }
  1154. .card-header {
  1155. display: flex;
  1156. align-items: center;
  1157. justify-content: space-between;
  1158. }
  1159. .select-label {
  1160. margin-right: 10px;
  1161. }
  1162. :deep(.el-card__body) {
  1163. padding: 10px;
  1164. }
  1165. .el-form-item__content {
  1166. .ft-button {
  1167. margin-bottom: 10px;
  1168. }
  1169. }
  1170. .button-box {
  1171. display: flex;
  1172. justify-content: center;
  1173. }
  1174. </style>