Browse Source

cl2 基于设备状态和任务状态分步生成设备任务消息

master
yuliang 5 months ago
parent
commit
bd709f83c8
  1. 4
      servo/src/main/java/com/galaxis/rcs/ptr/PtrAgvConnectorThread.java
  2. 2
      servo/src/main/java/com/galaxis/rcs/ptr/PtrAgvItem.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;

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

@ -779,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) {

Loading…
Cancel
Save