|
|
@ -1,12 +1,14 @@ |
|
|
const gstore = '105_105' |
|
|
const gstore = '105_105' |
|
|
|
|
|
const agvId = '3' |
|
|
const demoLocList = ['rack1/1/1/0', 'rack2/0/1/0', 'rack2/1/1/0'] |
|
|
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() |
|
|
const demoLocList2 = [ 'rack1/1/1/0', 'rack2/0/1/0', 'rack2/1/1/0' ].reverse() |
|
|
|
|
|
|
|
|
while (true) { |
|
|
while (true) { |
|
|
await LCC.sleep(3) |
|
|
|
|
|
const [dd] = (await LCC.queryInv({ rack: gstore })).data |
|
|
const [dd] = (await LCC.queryInv({ rack: gstore })).data |
|
|
|
|
|
LCC.log('queryInv, dd=', { rack: gstore }, dd) |
|
|
if (dd) { |
|
|
if (dd) { |
|
|
// 地堆上有托盘, 找一个空货位放过去
|
|
|
// 地堆上有托盘, 找一个空货位放过去
|
|
|
|
|
|
LCC.log('地堆上有托盘, 找一个空货位放过去') |
|
|
for (const loc of demoLocList) { |
|
|
for (const loc of demoLocList) { |
|
|
const [rack, bay, level] = loc.split('/') |
|
|
const [rack, bay, level] = loc.split('/') |
|
|
if (!rack) { |
|
|
if (!rack) { |
|
|
@ -16,15 +18,17 @@ while (true) { |
|
|
if (!emptyLoc) { |
|
|
if (!emptyLoc) { |
|
|
// 这是一个好位置
|
|
|
// 这是一个好位置
|
|
|
LCC.log('agvCarry', gstore, loc) |
|
|
LCC.log('agvCarry', gstore, loc) |
|
|
await RCS.agvCarry('3', gstore, loc) |
|
|
await RCS.agvCarry(agvId, gstore, loc) |
|
|
await RCS.waitTaskFinish('3') |
|
|
await RCS.waitTaskFinish(agvId) |
|
|
continue; |
|
|
await LCC.sleep(1000) |
|
|
|
|
|
break; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} else { |
|
|
} else { |
|
|
// 地上没有托盘位, 找个位置拖过去
|
|
|
// 地上没有托盘位, 找个位置拖过去
|
|
|
|
|
|
LCC.log('地上没有托盘位, 找个位置拖过去') |
|
|
let has = false |
|
|
let has = false |
|
|
for (const loc of demoLocList2) { |
|
|
for (const loc of demoLocList2) { |
|
|
const [rack, bay, level, cell] = loc.split('/') |
|
|
const [rack, bay, level, cell] = loc.split('/') |
|
|
@ -32,8 +36,10 @@ while (true) { |
|
|
if (palletLoc) { |
|
|
if (palletLoc) { |
|
|
has = true |
|
|
has = true |
|
|
LCC.log('agvCarry', rack + '/' + bay + '/' + level + '/' + cell, gstore) |
|
|
LCC.log('agvCarry', rack + '/' + bay + '/' + level + '/' + cell, gstore) |
|
|
await RCS.agvCarry('3', rack + '/' + bay + '/' + level + '/' + cell, gstore) |
|
|
await RCS.agvCarry(agvId, rack + '/' + bay + '/' + level + '/' + cell, gstore) |
|
|
await RCS.waitTaskFinish('3') |
|
|
await RCS.waitTaskFinish(agvId) |
|
|
|
|
|
await LCC.sleep(1000) |
|
|
|
|
|
break |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|