Commit d926ca7e authored by wanghao's avatar wanghao

1 当同时存在上料和下料时,如果 上个指令走完后,会 先走 下料的断电。问题调整。

parent 01deb1d1
......@@ -102,12 +102,6 @@ public class RobotArmCommandServiceImpl implements IRobotArmCommandService
if (cacheObject != null) {
priority = (String) cacheObject;
}
// // 1. 处理待执行的上料指令
// List<RobotArmCommand> loadingCommands =
// robotArmCommandMapper.selectPendingLoadingCommands();
// // 2. 处理待执行的下料指令
// List<RobotArmCommand> unloadingCommands =
// robotArmCommandMapper.selectPendingUnloadingCommands();
// 合并查询:同时获取上料、下料各1条待执行指令
List<RobotArmCommand> pendingCommands = robotArmCommandMapper.selectPendingLoadUnloadCommands();
......@@ -157,36 +151,6 @@ public class RobotArmCommandServiceImpl implements IRobotArmCommandService
}
}
}
// if (StringUtils.isNotBlank(feedConveyorIpAndPort)) {
// String[] split = feedConveyorIpAndPort.split(":");
// feedIp = split[0];
// feedPort = Integer.parseInt(split[1]);
// if ((!loadingCommands.isEmpty() && "loading".equals(priority)) ||
// (unloadingCommands.isEmpty() && !loadingCommands.isEmpty() &&"unloading".equals(priority))) {
// // 传送带检测先去掉
// boolean[] roboticArmEntryConveyorData = Modbus4jUtils.getRoboticArmExitConveyorData(feedIp,feedPort);
//
// log.info("机械臂入口 conveyor 0状态: " + roboticArmEntryConveyorData[0]);
// log.info("机械臂入口 conveyor 1状态: " + roboticArmEntryConveyorData[1]);
// if(roboticArmEntryConveyorData[1]) {
// sendCommand(loadingCommands.get(0), "LOAD");
// return;
// }
// }
// }
//
// if (StringUtils.isNotBlank(outLetBeltIpAndPort)) {
// String[] split = outLetBeltIpAndPort.split(":");
// outLetBeltIp = split[0];
// outLetBeltPort = Integer.parseInt(split[1]);
// if (!unloadingCommands.isEmpty()) {
// boolean[] roboticArmExitConveyorData = Modbus4jUtils.getRoboticArmExitConveyorData(outLetBeltIp,outLetBeltPort);
// if(roboticArmExitConveyorData[0]) {
// log.info("开始处理下料指令: {}", unloadingCommands.get(0));
// sendCommand(unloadingCommands.get(0), "UNLOAD");
// }
// }
// }
}
......@@ -385,7 +349,8 @@ public class RobotArmCommandServiceImpl implements IRobotArmCommandService
equitmentCode,
powerOutageIp,
powerOutagePort,
registerOffset
registerOffset,
registerOffset - 1
));
}
}
......
......@@ -104,6 +104,7 @@ public class AllCommandHandler {
String storeyCode = event.getDeviceCode() + "-" + event.getLayer();
String ip = event.getIp();
int port = event.getPort();
int registerOffset = event.getRegisterOffset();
log.info("需要发送断电指令 - 设备:{} 层:{}", event.getDeviceCode(), event.getLayer());
TStoreyInfo tStoreyInfo = tStoreyInfoMapper.selectTStoreyInfoByCode(storeyCode);
if (tStoreyInfo == null) {
......@@ -116,7 +117,7 @@ public class AllCommandHandler {
} else {
// 下料后断电
ModbusMaster master = Modbus4jUtils.createModbusMaster(ip, port);
Modbus4jUtils.writeCoil(master, 1, event.getLayer(), false);
Modbus4jUtils.writeCoil(master, 1, registerOffset, false);
log.info("已发送断电指令 - 设备:{} 层:{}", event.getDeviceCode(), event.getLayer());
master.destroy();
......
......@@ -11,14 +11,17 @@ public class PowerOffCommandEvent extends ApplicationEvent {
private final String ip;
private final int port;
private final int layer;
private final int registerOffset;
private final String deviceCode;
public PowerOffCommandEvent(Object source, String deviceCode, String ip, int port, int layer) {
public PowerOffCommandEvent(Object source, String deviceCode, String ip, int port, int layer,int registerOffset) {
super(source);
this.deviceCode = deviceCode;
this.ip = ip;
this.port = port;
this.layer = layer;
this.registerOffset = registerOffset;
}
// Getters
......@@ -26,4 +29,8 @@ public class PowerOffCommandEvent extends ApplicationEvent {
public int getPort() { return port; }
public int getLayer() { return layer; }
public String getDeviceCode() { return deviceCode; }
public int getRegisterOffset() {
return registerOffset;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment