|
|
@ -188,24 +188,42 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic |
|
|
|
} else if (device_code.contains("_02")) { |
|
|
|
Object plc_to_agv = extraValue.get("upper_lower_levels"); |
|
|
|
if (ObjectUtil.isNotNull(plc_to_agv) && "1".equals(plc_to_agv)) { |
|
|
|
plcToAgvDeviceDriver.writing("AGVSetOutReqUpper", "1"); |
|
|
|
if (plcToAgvDeviceDriver.getAGVSetOutReqUpper() != 1) { |
|
|
|
writeSignal(plcToAgvDeviceDriver, "AGVSetOutReqUpper", "1"); |
|
|
|
} |
|
|
|
//plcToAgvDeviceDriver.writing("AGVSetOutReqUpper", "1");
|
|
|
|
if (plcToAgvDeviceDriver.getAGVSetOutUpperAllowed() == 1) { |
|
|
|
plcToAgvDeviceDriver.writing("AGVInOP", "1"); |
|
|
|
if (plcToAgvDeviceDriver.getAGVInOP() != 1) { |
|
|
|
writeSignal(plcToAgvDeviceDriver, "AGVInOP", "1"); |
|
|
|
} |
|
|
|
//plcToAgvDeviceDriver.writing("AGVInOP", "1");
|
|
|
|
data = feedBackStatus(data, index, 1, inst, task, 2, false); |
|
|
|
} |
|
|
|
} |
|
|
|
} else if (ObjectUtil.isNotEmpty(extraValue.get("upper_lower_levels"))) { |
|
|
|
Object plc_to_agv = extraValue.get("upper_lower_levels"); |
|
|
|
if ("1".equals(plc_to_agv)) { |
|
|
|
plcToAgvDeviceDriver.writing("AGVSetOutReqUpper", "1"); |
|
|
|
if (plcToAgvDeviceDriver.getAGVSetOutReqUpper() != 1) { |
|
|
|
writeSignal(plcToAgvDeviceDriver, "AGVSetOutReqUpper", "1"); |
|
|
|
} |
|
|
|
//plcToAgvDeviceDriver.writing("AGVSetOutReqUpper", "1");
|
|
|
|
if (plcToAgvDeviceDriver.getAGVSetOutUpperAllowed() == 1) { |
|
|
|
plcToAgvDeviceDriver.writing("AGVInOP", "1"); |
|
|
|
if (plcToAgvDeviceDriver.getAGVInOP() != 1) { |
|
|
|
writeSignal(plcToAgvDeviceDriver, "AGVInOP", "1"); |
|
|
|
} |
|
|
|
//plcToAgvDeviceDriver.writing("AGVInOP", "1");
|
|
|
|
data = feedBackStatus(data, index, 1, inst, task, 2, false); |
|
|
|
} |
|
|
|
} else if ("2".equals(plc_to_agv)) { |
|
|
|
plcToAgvDeviceDriver.writing("AGVSetOutReqLower", "1"); |
|
|
|
if (plcToAgvDeviceDriver.getAGVSetOutReqLower() != 1) { |
|
|
|
writeSignal(plcToAgvDeviceDriver, "AGVSetOutReqLower", "1"); |
|
|
|
} |
|
|
|
//plcToAgvDeviceDriver.writing("AGVSetOutReqLower", "1");
|
|
|
|
if (plcToAgvDeviceDriver.getAGVSetOutLowerAllowed() == 1) { |
|
|
|
plcToAgvDeviceDriver.writing("AGVInOP", "1"); |
|
|
|
if (plcToAgvDeviceDriver.getAGVInOP() != 1) { |
|
|
|
writeSignal(plcToAgvDeviceDriver, "AGVInOP", "1"); |
|
|
|
} |
|
|
|
//plcToAgvDeviceDriver.writing("AGVInOP", "1");
|
|
|
|
data = feedBackStatus(data, index, 1, inst, task, 2, false); |
|
|
|
} |
|
|
|
} |
|
|
@ -348,9 +366,15 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic |
|
|
|
if (device_code.contains("_01")) { |
|
|
|
Object plc_to_agv = extraValue.get("upper_lower_levels"); |
|
|
|
if (ObjectUtil.isNotNull(plc_to_agv) && "1".equals(plc_to_agv)) { |
|
|
|
plcToAgvDeviceDriver.writing("AGVSetInReqUpper", "1"); |
|
|
|
if (plcToAgvDeviceDriver.getAGVSetInReqUpper() != 1) { |
|
|
|
writeSignal(plcToAgvDeviceDriver, "AGVSetInReqUpper", "1"); |
|
|
|
} |
|
|
|
//plcToAgvDeviceDriver.writing("AGVSetInReqUpper", "1");
|
|
|
|
if (plcToAgvDeviceDriver.getAGVSetInUpperAllowed() == 1) { |
|
|
|
plcToAgvDeviceDriver.writing("AGVInOP", "1"); |
|
|
|
if (plcToAgvDeviceDriver.getAGVInOP() != 1) { |
|
|
|
writeSignal(plcToAgvDeviceDriver, "AGVInOP", "1"); |
|
|
|
} |
|
|
|
//plcToAgvDeviceDriver.writing("AGVInOP", "1");
|
|
|
|
data = feedBackStatus(data, index, 3, inst, task, 2, false); |
|
|
|
} |
|
|
|
} |
|
|
@ -361,15 +385,27 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic |
|
|
|
} else if (ObjectUtil.isNotEmpty(extraValue.get("upper_lower_levels"))) { |
|
|
|
Object plc_to_agv = extraValue.get("upper_lower_levels"); |
|
|
|
if ("1".equals(plc_to_agv)) { |
|
|
|
plcToAgvDeviceDriver.writing("AGVSetInReqUpper", "1"); |
|
|
|
if (plcToAgvDeviceDriver.getAGVSetInReqUpper() != 1) { |
|
|
|
writeSignal(plcToAgvDeviceDriver, "AGVSetInReqUpper", "1"); |
|
|
|
} |
|
|
|
//plcToAgvDeviceDriver.writing("AGVSetInReqUpper", "1");
|
|
|
|
if (plcToAgvDeviceDriver.getAGVSetInUpperAllowed() == 1) { |
|
|
|
plcToAgvDeviceDriver.writing("AGVInOP", "1"); |
|
|
|
if (plcToAgvDeviceDriver.getAGVInOP() != 1) { |
|
|
|
writeSignal(plcToAgvDeviceDriver, "AGVInOP", "1"); |
|
|
|
} |
|
|
|
//plcToAgvDeviceDriver.writing("AGVInOP", "1");
|
|
|
|
data = feedBackStatus(data, index, 3, inst, task, 2, false); |
|
|
|
} |
|
|
|
} else if ("2".equals(plc_to_agv)) { |
|
|
|
plcToAgvDeviceDriver.writing("AGVSetInReqLower", "1"); |
|
|
|
if (plcToAgvDeviceDriver.getAGVSetInReqLower() != 1) { |
|
|
|
writeSignal(plcToAgvDeviceDriver, "AGVSetInReqLower", "1"); |
|
|
|
} |
|
|
|
//plcToAgvDeviceDriver.writing("AGVSetInReqLower", "1");
|
|
|
|
if (plcToAgvDeviceDriver.getAGVSetInLowerAllowed() == 1) { |
|
|
|
plcToAgvDeviceDriver.writing("AGVInOP", "1"); |
|
|
|
if (plcToAgvDeviceDriver.getAGVInOP() != 1) { |
|
|
|
writeSignal(plcToAgvDeviceDriver, "AGVInOP", "1"); |
|
|
|
} |
|
|
|
//plcToAgvDeviceDriver.writing("AGVInOP", "1");
|
|
|
|
data = feedBackStatus(data, index, 3, inst, task, 2, false); |
|
|
|
} |
|
|
|
} |
|
|
@ -532,6 +568,19 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 写信号 |
|
|
|
*/ |
|
|
|
public void writeSignal(PlcToAgvDeviceDriver plcToAgvDeviceDriver, String kepName, String kepValue) { |
|
|
|
List list = new ArrayList<>(); |
|
|
|
Map map = new HashMap(); |
|
|
|
map.put("code", kepName); |
|
|
|
map.put("value", kepValue); |
|
|
|
list.add(map); |
|
|
|
plcToAgvDeviceDriver.writing(list); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private byte[] getData(byte[] data, int index, Instruction inst, TaskDto task) { |
|
|
|
String hasWms = paramService.findByCode("hasWms").getValue(); |
|
|
|
if ("3".equals(task.getTask_type()) && StrUtil.isNotEmpty(hasWms) && "1".equals(hasWms)) { |
|
|
|