This commit is contained in:
2023-02-16 17:45:40 +08:00
parent 8612940e4f
commit 018a3e251a
2 changed files with 85 additions and 79 deletions

View File

@@ -128,6 +128,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
if (mode == 2) {
logServer.deviceExecuteLog(this.device_code, "", "", "信号复位前requireSuccess" + requireSucess);
this.setRequireSucess(false);
this.setNow_steps_type(0);
message = null;
logServer.deviceExecuteLog(this.device_code, "", "", "信号复位后requireSuccess" + requireSucess);
}
@@ -204,16 +205,16 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
if (this.getNow_steps_type() == 2) {
feedMessage = "烘箱:" + hongXiangConveyorDeviceDriver.getDevice_code();
if (mode != 1) {
feedMessage = feedMessage + "mode未联机,";
feedMessage = feedMessage + "工作模式(mode)信号未联机,";
}
if (door != 1) {
feedMessage = feedMessage + "door未开门,";
feedMessage = feedMessage + "门状态(door)信号未开门,";
}
if (action != 1) {
feedMessage = feedMessage + "action未允许取放,";
feedMessage = feedMessage + "允许取放(action)信号未允许取放,";
}
if (error1 != 0) {
feedMessage = feedMessage + "error1出现故障。";
feedMessage = feedMessage + "故障(error1)信号出现故障,故障值:" + error1 + "";
}
}
}
@@ -230,16 +231,16 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
if (this.getNow_steps_type() == 2) {
feedMessage = "行架机械手:";
if (mode != 3) {
feedMessage = feedMessage + "mode不为运行中状态,";
feedMessage = feedMessage + "工作模式(mode)不为运行中状态,";
}
if (action != 1) {
feedMessage = feedMessage + "action不为取货中状态,";
feedMessage = feedMessage + "动作信号(action)不为取货中状态,";
}
if (move != 0) {
feedMessage = feedMessage + "move不为无货状态,";
feedMessage = feedMessage + "光电信号(move)不为无货状态,";
}
if (task == 0) {
feedMessage = feedMessage + "task为0。";
feedMessage = feedMessage + "当前上报任务号(task)不应该为0。";
}
}
}
@@ -266,16 +267,16 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
if (this.getNow_steps_type() == 3) {
feedMessage = "行架机械手:";
if (mode != 3) {
feedMessage = feedMessage + "mode不为运行中状态,";
feedMessage = feedMessage + "工作模式(mode)不为运行中状态,";
}
if (action != 2) {
feedMessage = feedMessage + "action不为取货完成状态,";
feedMessage = feedMessage + "动作信号(action)不为取货完成状态,";
}
if (move != 1) {
feedMessage = feedMessage + "move不为有货状态,";
feedMessage = feedMessage + "光电信号(move)不为有货状态,";
}
if (task == 0) {
feedMessage = feedMessage + "task为0。";
feedMessage = feedMessage + "当前上报任务号(task)不应该为0。";
}
}
}
@@ -303,16 +304,16 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
} else {
feedMessage = "烘箱:" + hongXiangConveyorDeviceDriver.getDevice_code();
if (mode != 1) {
feedMessage = feedMessage + "mode未联机,";
feedMessage = feedMessage + "工作模式(mode)信号未联机,";
}
if (door != 1) {
feedMessage = feedMessage + "door未开门,";
feedMessage = feedMessage + "门状态(door)信号未开门,";
}
if (action != 1) {
feedMessage = feedMessage + "action未允许取放,";
feedMessage = feedMessage + "允许取放(action)信号未允许取放,";
}
if (error1 != 0) {
feedMessage = feedMessage + "error1出现故障。";
feedMessage = feedMessage + "故障(error1)信号出现故障。";
}
}
} else {
@@ -327,16 +328,16 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
if (this.getNow_steps_type() == 4) {
feedMessage = "行架机械手:";
if (mode != 3) {
feedMessage = feedMessage + "mode不为运行中状态,";
feedMessage = feedMessage + "工作模式(mode)不为运行中状态,";
}
if (action != 3) {
feedMessage = feedMessage + "action不为放货中状态,";
feedMessage = feedMessage + "动作信号(action)不为放货中状态,";
}
if (move != 1) {
feedMessage = feedMessage + "move不为有货状态,";
feedMessage = feedMessage + "光电信号(move)不为有货状态,";
}
if (task == 0) {
feedMessage = feedMessage + "task为0。";
feedMessage = feedMessage + "当前上报任务号(task)不应该为0。";
}
}
}
@@ -391,16 +392,16 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
if (this.getNow_steps_type() == 5) {
feedMessage = "行架机械手:";
if (mode != 3) {
feedMessage = feedMessage + "mode不为运行中状态,";
feedMessage = feedMessage + "工作模式(mode)不为运行中状态,";
}
if (action != 4) {
feedMessage = feedMessage + "action不为放货完成状态,";
feedMessage = feedMessage + "动作信号(action)不为放货完成状态,";
}
if (move != 0) {
feedMessage = feedMessage + "move不为无货状态,";
feedMessage = feedMessage + "光电信号(move)不为无货状态,";
}
if (task == 0) {
feedMessage = feedMessage + "task为0。";
feedMessage = feedMessage + "当前上报任务号(task)不应该为0。";
}
}
}
@@ -442,16 +443,16 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
//if (!requireSucess) {
String remark = "未查找任务原因为:";
if (mode != 2) {
remark = remark + "mode不是待机状态,";
remark = remark + "工作模式(mode)不是待机状态,";
}
if (move != 0) {
remark = remark + "move为有货状态,";
remark = remark + "光电信号(move)为有货状态,";
}
if (task != 0) {
remark = remark + "task任务号不为0,";
remark = remark + "当前上报任务号(task)应该为0,";
}
if (requireSucess) {
remark = remark + "标记requireSucess为true";
remark = remark + "右击该图标,将请求任务复位标记(requireSucess)改为否";
}
this.setNotCreateTaskMessage(remark);
//}
@@ -828,7 +829,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
String requestSucess = data.getString("requireSucess");
if (StrUtil.equals(requestSucess, "0")) {
this.requireSucess = false;
} else if(StrUtil.equals(requestSucess, "1")) {
} else if (StrUtil.equals(requestSucess, "1")) {
this.requireSucess = true;
}
}

View File

@@ -141,7 +141,7 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
@Override
public synchronized void execute(){
public synchronized void execute() {
String message = null;
try {
device_code = this.getDeviceCode();
@@ -163,6 +163,9 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
if (mode == 2) {
logServer.deviceExecuteLog(device_code, "", "", "开始请求标记复位`此时请求标记值为:" + requireSucess);
requireSucess = false;
this.setNow_steps_type1(0);
this.setNow_steps_type2(0);
this.setNow_steps_type3(0);
logServer.deviceExecuteLog(device_code, "", "", "请求标记复位成功`此时请求标记值为:" + requireSucess);
}
logServer.deviceItemValue(this.device_code, "mode", String.valueOf(mode));
@@ -280,7 +283,7 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
int move = siemensConveyorDeviceDriver.getMove();
int mode = siemensConveyorDeviceDriver.getMode();
if (mode == 2 && move == 1) {
if(to_command2 != 2){
if (to_command2 != 2) {
this.writing("to_command2", "2");
}
if (type == 2) {
@@ -291,11 +294,12 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
} else {
log.warn("后工位取货位无货,取货位:{},mode:{},move:{}", start_device_code, mode, move);
if (this.getNow_steps_type2() == 2 || this.getNow_steps_type3() == 2) {
feedMessage = "后工位未取货原因-->";
feedMessage = "后工位未取货原因-->取货位:" + siemensConveyorDeviceDriver.getDevice_code();
if (mode != 2) {
feedMessage += "后工位取货位工作模式不为待机(mode != 2),";
} else if (move != 1) {
feedMessage += "后工位取货位无货(move != 1)";
feedMessage += "工作模式不为待机(mode != 2),";
}
if (move != 1) {
feedMessage += "光电信号不应该为无货状态(move != 1)";
}
}
}
@@ -310,17 +314,17 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
feedMessage += "后工位动作信号不为取货中(action2 != 1),";
}
if (move2 != 0) {
feedMessage += "后工位光电信号不为空(move2 != 0),";
feedMessage += "后工位光电信号应该为0(move2 != 0),";
}
if (task2 == 0) {
feedMessage += "后工位没有任务(task2 == 0)";
feedMessage += "后工位没有任务(task2 == 0)";
}
}
}
//单任务/或双任务 后工位收到取货完成信号并反馈
if (mode == 3 && action2 == 2 && move2 == 1 && task2 > 0) {
if(to_command2 != 3){
if (to_command2 != 3) {
this.writing("to_command2", "3");
}
if (type == 2) {
@@ -336,20 +340,20 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
feedMessage += "行架工作模式不为运行中(mode != 3),";
}
if (action2 != 2) {
feedMessage += "后工位未取货完成(action2 != 2),";
feedMessage += "后工位动作信号未取货完成(action2 != 2),";
}
if (move2 == 0) {
feedMessage += "后工位光电信号为空(move2 == 0),";
feedMessage += "后工位光电信号不应该为0(move2 == 0),";
}
if (task2 == 0) {
feedMessage += "后工位没有任务(task2 == 0)";
feedMessage += "后工位没有任务(task2 == 0)";
}
}
}
//单任务/双任务 前工位取货时判断动作信号并反馈
if (mode == 3 && action1 == 1 && move1 == 0 && task1 > 0) {
if(to_command1 != 2){
if (to_command1 != 2) {
this.writing("to_command1", "2");
}
if (type == 1) {
@@ -359,7 +363,7 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
}
} else {
if (this.getNow_steps_type1() == 2 || this.getNow_steps_type3() == 4) {
feedMessage = "前工位未取货原因";
feedMessage = "前工位未取货原因:";
if (mode != 3) {
feedMessage += "行架工作模式不为运行中(mode != 3),";
}
@@ -367,17 +371,17 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
feedMessage += "前工位动作信号不为取货中(action2 != 1),";
}
if (move1 != 0) {
feedMessage += "前工位光电信号不为空(move2 != 0),";
feedMessage += "前工位光电信号应该为0(move2 != 0),";
}
if (task1 == 0) {
feedMessage += "前工位没有任务(task2 == 0)";
feedMessage += "前工位没有任务(task2 == 0)";
}
}
}
//单任务/双任务 前工位取货完成并反馈
if (mode == 3 && action1 == 2 && move1 == 1 && task1 > 0) {
if(to_command1 != 3){
if (to_command1 != 3) {
this.writing("to_command1", "3");
}
if (type == 1) {
@@ -393,13 +397,13 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
feedMessage += "行架工作模式不为运行中(mode != 3),";
}
if (action1 != 2) {
feedMessage += "前工位未取货完成(action2 != 2),";
feedMessage += "前工位动作信号未取货完成(action2 != 2),";
}
if (move1 == 0) {
feedMessage += "前工位光电信号为空(move2 == 0),";
feedMessage += "前工位光电信号不应该为无货状态(move2 == 0),";
}
if (task1 == 0) {
feedMessage += "前工位没有任务(task2 == 0)";
feedMessage += "前工位没有任务(task2 == 0)";
}
}
}
@@ -407,7 +411,7 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
//单任务/双任务 后工位放货时判断信号并反馈
if (mode == 3 && action2 == 3 && move2 == 1 && task2 > 0) {
if(to_command2 != 4){
if (to_command2 != 4) {
this.writing("to_command2", "4");
}
if (type == 2) {
@@ -425,10 +429,10 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
feedMessage += "后工位动作信号不为放货中(action2 != 3),";
}
if (move2 == 0) {
feedMessage += "后工位光电信号为(move2 == 0),";
feedMessage += "后工位光电信号为不应该为0(move2 == 0),";
}
if (task2 == 0) {
feedMessage += "后工位没有任务(task2 == 0)";
feedMessage += "后工位没有任务(task2 == 0)";
}
}
}
@@ -440,7 +444,7 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
if (inst2 != null) {
if (StrUtil.equals(inst2.getInstruction_status(), "1")) {
finish_instruction(inst2);
if(to_command2 != 5){
if (to_command2 != 5) {
this.writing("to_command2", "5");
}
this.setNow_steps_type2(6);
@@ -454,13 +458,13 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
feedMessage += "行架工作模式不为运行中(mode != 3),";
}
if (action2 != 4) {
feedMessage += "后工位未放货完成(action2 != 4),";
feedMessage += "后工位动作信号未放货完成(action2 != 4),";
}
if (move2 != 0) {
feedMessage += "后工位光电信号为有货(move2 != 0),";
feedMessage += "后工位光电信号应该为无货状态(move2 != 0),";
}
if (task2 == 0) {
feedMessage += "后工位没有任务(task2 == 0),";
feedMessage += "后工位没有任务(task2 == 0),";
}
if (type != 2) {
feedMessage += "不是后工位单任务(type != 2)";
@@ -470,7 +474,7 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
//双任务 后工位反馈任务完成 并反馈
if (mode == 3 && action2 == 4 && move2 == 0 && task1 > 0 && task2 > 0 && type == 3) {
if(to_command2 != 5){
if (to_command2 != 5) {
this.writing("to_command2", "5");
}
this.setNow_steps_type3(8);
@@ -481,16 +485,16 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
feedMessage += "行架工作模式不为运行中(mode != 3),";
}
if (action2 != 4) {
feedMessage += "后工位未放货完成(action2 != 4),";
feedMessage += "后工位动作信号未放货完成(action2 != 4),";
}
if (move2 != 0) {
feedMessage += "后工位光电信号为有货(move2 != 0),";
feedMessage += "后工位光电信号不应该为有货状态(move2 != 0),";
}
if (task1 == 0) {
feedMessage += "前工位没有任务(task1 == 0),";
feedMessage += "前工位没有任务(task1 == 0),";
}
if (task2 == 0) {
feedMessage += "后工位没有任务(task2 == 0),";
feedMessage += "后工位没有任务(task2 == 0),";
}
if (type != 3) {
feedMessage += "不是双任务(type != 3)";
@@ -518,7 +522,7 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
int move = siemensConveyorDeviceDriver.getMove();
int mode = siemensConveyorDeviceDriver.getMode();
if (move == 1 && mode == 2) {
if(to_command1 != 4){
if (to_command1 != 4) {
this.writing("to_command1", "4");
}
if (type == 1) {
@@ -531,9 +535,10 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
if (this.getNow_steps_type1() == 4 || this.getNow_steps_type3() == 8) {
feedMessage = "前工位未放货原因-->";
if (mode != 2) {
feedMessage += "前工位放货位工作模式不为待机(mode != 2),";
} else if (move == 0) {
feedMessage += "前工位放货位无货(move == 0)";
feedMessage += "前工位放货位工作模式不为待机状态(mode != 2),";
}
if (move == 0) {
feedMessage += "前工位放货位不应该为无货状态(move == 0)";
}
}
}
@@ -548,10 +553,10 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
feedMessage += "前工位动作信号不为放货中(action1 != 3),";
}
if (move1 == 0) {
feedMessage += "前工位光电信号为空(move1 == 0),";
feedMessage += "前工位光电信号不应为无货状态(move1 == 0),";
}
if (task1 == 0) {
feedMessage += "前工位没有任务(task1 == 0),";
feedMessage += "前工位没有任务(task1 == 0),";
}
}
}
@@ -564,7 +569,7 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
if (inst1 != null) {
if (StrUtil.equals(inst1.getInstruction_status(), "1")) {
this.finish_instruction(inst1);
if(to_command1 != 5){
if (to_command1 != 5) {
this.writing("to_command1", "5");
}
this.setNow_steps_type1(6);
@@ -578,13 +583,13 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
feedMessage += "行架工作模式不为运行中(mode != 3),";
}
if (action1 != 4) {
feedMessage += "前工位未放货完成(action1 != 4),";
feedMessage += "前工位动作信号未放货完成(action1 != 4),";
}
if (move1 != 0) {
feedMessage += "前工位光电信号为有货(move1 != 0),";
feedMessage += "前工位光电信号为不应为有货状态(move1 != 0),";
}
if (task1 == 0) {
feedMessage += "前工位没有任务(task1 == 0),";
feedMessage += "前工位没有任务(task1 == 0),";
}
if (type != 1) {
feedMessage += "不为前工位单任务(type != 1)";
@@ -600,7 +605,7 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
if (inst1 != null) {
if (StrUtil.equals(inst1.getInstruction_status(), "1")) {
this.finish_instruction(inst1);
if(to_command1 != 5){
if (to_command1 != 5) {
this.writing("to_command1", "5");
}
this.setNow_steps_type3(10);
@@ -614,16 +619,16 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
feedMessage += "行架工作模式不为运行中(mode != 3),";
}
if (action1 != 4) {
feedMessage += "前工位未放货完成(action1 != 4),";
feedMessage += "前工位动作信号未放货完成(action1 != 4),";
}
if (move1 != 0) {
feedMessage += "前工位光电信号为有货(move1 != 0),";
feedMessage += "前工位光电信号为不应为有货状态(move1 != 0),";
}
if (task1 == 0) {
feedMessage += "前工位没有任务(task1 == 0),";
}
if (task2 == 0) {
feedMessage += "后工位没有任务(task2 == 0),";
feedMessage += "后工位没有任务(task2 == 0),";
}
if (type != 3) {
feedMessage += "不是双任务(type != 3)";
@@ -688,10 +693,10 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
remark = remark + "行架工作模式不为待机(mode != 2),";
}
if (move1 != 0) {
remark = remark + "前工位有货(move1 != 0),";
remark = remark + "前工位光电信号不应该为有货状态(move1 != 0),";
}
if (move2 != 0) {
remark = remark + "后工位有货(move2 != 0),";
remark = remark + "后工位光电信号不应该为有货状态(move2 != 0),";
}
if (action1 != 0) {
remark = remark + "前工位动作信号不为0(action1 != 0),";
@@ -700,10 +705,10 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
remark = remark + "后工位动作信号不为0(action2 != 0),";
}
if (task1 != 0) {
remark = remark + "前工位存在任务(task1 != 0),";
remark = remark + "前工位存在任务(task1 != 0),";
}
if (task2 != 0) {
remark = remark + "后工位存在任务(task2 != 0),";
remark = remark + "后工位存在任务(task2 != 0),";
}
this.setNotCreateTaskMessage(remark);
}