Browse Source

Merge remote-tracking branch 'origin/master'

master
修宁 5 months ago
parent
commit
8683074b65
  1. 4
      servo/src/main/java/com/galaxis/rcs/ptr/PtrAgvConnectorThread.java
  2. 7
      servo/src/main/java/com/galaxis/rcs/ptr/PtrAgvItem.java
  3. 2
      servo/src/main/java/com/yvan/workbench/controller/RcsController.java

4
servo/src/main/java/com/galaxis/rcs/ptr/PtrAgvConnectorThread.java

@ -76,8 +76,8 @@ public class PtrAgvConnectorThread extends Thread {
PtrAgvDeviceTask nextTask = this.ptrAgvItem.deviceTaskQueue.peek(); PtrAgvDeviceTask nextTask = this.ptrAgvItem.deviceTaskQueue.peek();
if (currentTask.isGroupEnd if (currentTask.isGroupEnd
|| (taskMessage.Link.size() > 0 && nextTask != null && ((startTask.speed > 0) != (nextTask.speed > 0) || startTask.direction != nextTask.direction)) // 下一个任务和开始任务方向不一致 || (taskMessage.Link.size() > 0 && nextTask != null && ((startTask.speed > 0) != (nextTask.speed > 0) || startTask.direction != nextTask.direction)) // 下一个任务和开始任务方向不一致
// 单向移动距离大于2m时并且点位数量大于1 // 单向移动距离大于2m时并且点位数量大于1 如果碰到当前点位与任务结束点位相同且当前任务还有后续,则继续添加步骤(link)错开,避免任务发生歧义
|| (distance > 2 && taskCount > 1)) { || (distance > 2 && taskCount > 1 && nextTask != null && currentTask.endPoint != currentTask.groupEndPoint)) {
taskMessage.OperationType = currentTask.operationType; taskMessage.OperationType = currentTask.operationType;
taskMessage.PickMode = currentTask.pickMode; taskMessage.PickMode = currentTask.pickMode;
taskMessage.EndX = currentTask.groupEndPoint.logicX; taskMessage.EndX = currentTask.groupEndPoint.logicX;

7
servo/src/main/java/com/galaxis/rcs/ptr/PtrAgvItem.java

@ -214,7 +214,10 @@ public abstract class PtrAgvItem extends ExecutorItem {
if (!deviceTaskQueue.isEmpty()) { if (!deviceTaskQueue.isEmpty()) {
deviceTaskQueue.clear(); deviceTaskQueue.clear();
} }
// todo 取消运行中的设备任务
runningDeviceTaskList.clear();
// 唤醒连接器线程
LockSupport.unpark(connectorThread);
this.runtime.eventManager.firePlanTaskSequenceCancelEvent(this, planTaskSequence); this.runtime.eventManager.firePlanTaskSequenceCancelEvent(this, planTaskSequence);
} }
@ -776,6 +779,8 @@ public abstract class PtrAgvItem extends ExecutorItem {
} }
deviceTaskQueue.addAll(deviceTaskList); deviceTaskQueue.addAll(deviceTaskList);
String json = JsonWrapper.toJson(deviceTaskList);
log.info("deviceTaskList: {}", json);
} }
public boolean isSamePosition(PosDirection startPos) { public boolean isSamePosition(PosDirection startPos) {

2
servo/src/main/java/com/yvan/workbench/controller/RcsController.java

@ -218,7 +218,7 @@ public class RcsController {
// ==================== 布置任务 ==================== // ==================== 布置任务 ====================
ps.bizTask.setLpn(lpn); ps.bizTask.setLpn(lpn);
ps.bizTask.setBizType(BizTaskType.CARRY.toString()); ps.bizTask.setBizType(BizTaskType.CARRY.toString());
ps.bizTask.setTaskFrom(loadBasLocation.getCatalogCode()); ps.bizTask.setTaskFrom(loadBasLocation.getLocCode());
ps.bizTask.setTaskTo(unloadBasLocation.getLocCode()); ps.bizTask.setTaskTo(unloadBasLocation.getLocCode());
CarryTask carryTask = new CarryTask( CarryTask carryTask = new CarryTask(

Loading…
Cancel
Save