From 45a59a504189a44f0b7229c702a153f0c0687f44 Mon Sep 17 00:00:00 2001 From: luoyifan Date: Tue, 8 Jul 2025 14:20:45 +0800 Subject: [PATCH] CL2 demo --- tw_test/scripts/CL2_DEMO.ts | 44 ++++++++++++++++++++++++++++++++++++++++++++ tw_test/scripts/Yvan.ts | 14 +++++++++++++- 2 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 tw_test/scripts/CL2_DEMO.ts diff --git a/tw_test/scripts/CL2_DEMO.ts b/tw_test/scripts/CL2_DEMO.ts new file mode 100644 index 0000000..450b22d --- /dev/null +++ b/tw_test/scripts/CL2_DEMO.ts @@ -0,0 +1,44 @@ +const gstore = '105_105' +const demoLocList = ['rack1/1/1/0', 'rack2/0/1/0', 'rack2/1/1/0'] +const demoLocList2 = [ 'rack1/1/1/0', 'rack2/0/1/0', 'rack2/1/1/0' ].reverse() + +while (true) { + await LCC.sleep(3) + const [dd] = (await LCC.queryInv({ rack: gstore })).data + if (dd) { + // 地堆上有托盘, 找一个空货位放过去 + for (const loc of demoLocList) { + const [rack, bay, level] = loc.split('/') + if (!rack) { + continue; + } + const [emptyLoc] = (await LCC.queryInv({ rack, bay: parseInt(bay), level: parseInt(level) })).data + if (!emptyLoc) { + // 这是一个好位置 + LCC.log('agvCarry', gstore, loc) + await RCS.agvCarry('3', gstore, loc) + await RCS.waitTaskFinish('3') + continue; + } + } + + + } else { + // 地上没有托盘位, 找个位置拖过去 + let has = false + for (const loc of demoLocList2) { + const [rack, bay, level, cell] = loc.split('/') + const [palletLoc] = (await LCC.queryInv({ rack, bay: parseInt(bay), level: parseInt(level) })).data + if (palletLoc) { + has = true + LCC.log('agvCarry', rack + '/' + bay + '/' + level + '/' + cell, gstore) + await RCS.agvCarry('3', rack + '/' + bay + '/' + level + '/' + cell, gstore) + await RCS.waitTaskFinish('3') + } + } + + if (!has) { + LCC.log('货架没有空托盘,无法执行') + } + } +} \ No newline at end of file diff --git a/tw_test/scripts/Yvan.ts b/tw_test/scripts/Yvan.ts index ba6b639..aa0ae2d 100644 --- a/tw_test/scripts/Yvan.ts +++ b/tw_test/scripts/Yvan.ts @@ -1 +1,13 @@ -await RCS.agvMove('3', '10_4') \ No newline at end of file +// await RCS.agvCarry('3', '105_105', 'rack2/0/0/0') +// await RCS.agvUnload('3', 'rack2/0/1/0') +// await RCS.agvCarry('3', 'rack2/0/1/0', 'rack2/1/1/0') + +const [invRack1] = (await LCC.queryInv({ rack: 'rack2', level: 1 })).data +LCC.log("invRack1=", invRack1) + +// LCC.log('1') +// await RCS.agvCarry('3', '105_105', 'rack2/0/1/0') + +// LCC.log('2') +// await RCS.waitTaskFinish('3') +// LCC.log('3') \ No newline at end of file