opt: ndc部分驱动完善

This commit is contained in:
2025-08-28 17:08:37 +08:00
parent b6c6749df7
commit e8977efa20
6 changed files with 72 additions and 21 deletions

View File

@@ -213,6 +213,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
standardOrdinarySiteDeviceDriver.setAgvphase(phase);
standardOrdinarySiteDeviceDriver.setIndex(index);
standardOrdinarySiteDeviceDriver.setInst(inst);
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0);
}
if (device.getDeviceDriver() instanceof UnpackingMachineDeviceDriver) {
@@ -225,7 +226,8 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
} catch (Exception e) {
e.printStackTrace();
}
if (unpackingMachineDeviceDriver.getAction() == 1) {
if (unpackingMachineDeviceDriver.getAction() == 1 && unpackingMachineDeviceDriver.getMode() > 0
&& unpackingMachineDeviceDriver.getMove() == 1) {
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0);
LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(this.getDeviceCode())
@@ -234,7 +236,10 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
logDto.setLog_level(4);
luceneExecuteLogService.deviceExecuteLog(logDto);
} else {
message = "设备号:" + device_code + ",动作信号:" + unpackingMachineDeviceDriver.getAction() + ",指令号:" + ikey + "不满足取货条件";
message = "设备号:" + device_code + ",模式信号:" + unpackingMachineDeviceDriver.getMode()
+ ",动作信号:" + unpackingMachineDeviceDriver.getAction()
+ ",光电信号:" + unpackingMachineDeviceDriver.getMove()
+ ",指令号:" + ikey + "不满足取货条件";
LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(this.getDeviceCode())
.content(message)
@@ -254,7 +259,9 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
} catch (Exception e) {
e.printStackTrace();
}
if (unpackingConveyorDeviceDriver.getAction() == 1) {
if (unpackingConveyorDeviceDriver.getAction() == 1 && unpackingConveyorDeviceDriver.getMode() > 0
&& unpackingConveyorDeviceDriver.getMove() > 0) {
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0);
LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(this.getDeviceCode())
@@ -263,7 +270,10 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
logDto.setLog_level(4);
luceneExecuteLogService.deviceExecuteLog(logDto);
} else {
message = "设备号:" + device_code + ",动作信号:" + unpackingConveyorDeviceDriver.getAction() + ",指令号:" + ikey + "不满足取货条件";
message = "设备号:" + device_code + ",模式信号:" + unpackingConveyorDeviceDriver.getMode()
+ ",动作信号:" + unpackingConveyorDeviceDriver.getAction()
+ ",光电信号:" + unpackingConveyorDeviceDriver.getMove()
+ ",指令号:" + ikey + "不满足取货条件";
LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(this.getDeviceCode())
.content(message)
@@ -513,7 +523,8 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
} catch (Exception e) {
e.printStackTrace();
}
if (unpackingMachineDeviceDriver.getAction() == 1) {
if (unpackingMachineDeviceDriver.getAction() == 1 && unpackingMachineDeviceDriver.getMode() > 0
&& unpackingMachineDeviceDriver.getMove() == 0) {
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0);
LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(this.getDeviceCode())
@@ -522,7 +533,10 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
logDto.setLog_level(4);
luceneExecuteLogService.deviceExecuteLog(logDto);
} else {
message = "设备号:" + device_code + ",动作信号:" + unpackingMachineDeviceDriver.getAction() + ",指令号:" + ikey + "不满足取货条件";
message = "设备号:" + device_code + ",模式信号:" + unpackingMachineDeviceDriver.getMode()
+ ",动作信号:" + unpackingMachineDeviceDriver.getAction()
+ ",光电信号:" + unpackingMachineDeviceDriver.getMove()
+ ",指令号:" + ikey + "不满足取货条件";
LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(this.getDeviceCode())
.content(message)
@@ -788,7 +802,8 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
} catch (Exception e) {
e.printStackTrace();
}
if (unpackingMachineDeviceDriver.getAction() == 1) {
if (unpackingMachineDeviceDriver.getAction() == 1 && unpackingMachineDeviceDriver.getMode() > 0
&& unpackingMachineDeviceDriver.getMove() > 0) {
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0);
LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(this.getDeviceCode())
@@ -797,7 +812,10 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
logDto.setLog_level(4);
luceneExecuteLogService.deviceExecuteLog(logDto);
} else {
message = "设备号:" + device_code + ",动作信号:" + unpackingMachineDeviceDriver.getAction() + ",指令号:" + ikey + "不满足取货条件";
message = "设备号:" + device_code + ",模式信号:" + unpackingMachineDeviceDriver.getMode()
+ ",动作信号:" + unpackingMachineDeviceDriver.getAction()
+ ",光电信号:" + unpackingMachineDeviceDriver.getMove()
+ ",指令号:" + ikey + "不满足取货条件";
LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(this.getDeviceCode())
.content(message)
@@ -1065,7 +1083,8 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
} catch (Exception e) {
e.printStackTrace();
}
if (unpackingMachineDeviceDriver.getAction() == 1) {
if (unpackingMachineDeviceDriver.getAction() == 1 && unpackingMachineDeviceDriver.getMode() > 0
&& unpackingMachineDeviceDriver.getMove() == 0) {
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0);
LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(this.getDeviceCode())
@@ -1074,7 +1093,10 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
logDto.setLog_level(4);
luceneExecuteLogService.deviceExecuteLog(logDto);
} else {
message = "设备号:" + device_code + ",动作信号:" + unpackingMachineDeviceDriver.getAction() + ",指令号:" + ikey + "不满足取货条件";
message = "设备号:" + device_code + ",模式信号:" + unpackingMachineDeviceDriver.getMode()
+ ",动作信号:" + unpackingMachineDeviceDriver.getAction()
+ ",光电信号:" + unpackingMachineDeviceDriver.getMove()
+ ",指令号:" + ikey + "不满足取货条件";
LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(this.getDeviceCode())
.content(message)
@@ -1093,7 +1115,8 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
} catch (Exception e) {
e.printStackTrace();
}
if (unpackingConveyorDeviceDriver.getAction() == 1) {
if (unpackingConveyorDeviceDriver.getAction() == 1 && unpackingConveyorDeviceDriver.getMove() == 0
&& unpackingConveyorDeviceDriver.getMode() > 0) {
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0);
LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(this.getDeviceCode())

View File

@@ -207,6 +207,7 @@ public class ProductionLineDockingStationDeviceDriver extends AbstractOpcDeviceD
@Override
public JSONObject getDeviceStatusName() throws Exception {
// 设备监控数据
JSONObject jo = new JSONObject();
String mode = "";
String move = "";
@@ -243,6 +244,7 @@ public class ProductionLineDockingStationDeviceDriver extends AbstractOpcDeviceD
@Override
public void setDeviceStatus(JSONObject data) {
// 设备监控改动
}

View File

@@ -40,9 +40,10 @@ public class UnpackingConveyorDeviceDriver extends AbstractOpcDeviceDriver imple
@Resource
private AcsToWmsService acsToWmsService;
/**
* 请求时间
*/
private Date instruction_require_time = new Date();
private Date instruction_finished_time = new Date();
private Date instruction_apply_time = new Date();
private int instruction_require_time_out = 3000;
/** 心跳 */
@@ -69,6 +70,7 @@ public class UnpackingConveyorDeviceDriver extends AbstractOpcDeviceDriver imple
String message = null;
Boolean iserror = false;
String device_code;
Boolean flag = false;
@Override
public Device getDevice() {
@@ -85,15 +87,30 @@ public class UnpackingConveyorDeviceDriver extends AbstractOpcDeviceDriver imple
move = itemProtocol.getMove();
error = itemProtocol.getError();
if (mode == 5 && mode != last_mode) {
// 1、请求LMS横移
ApplyPlugPullSitResponse response = acsToWmsService.actionMove(new JSONObject().fluentPut("device_code", device_code));
if (response.getCode() == 200) {
// 2、复位
this.writing("to_command", 5);
if (mode != last_mode && flag) {
flag = false;
}
Date date = new Date();
if (date.getTime() - this.instruction_require_time.getTime()
< (long) this.instruction_require_time_out) {
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out);
return;
} else {
this.instruction_require_time = date;
if (mode == 5 && !flag) {
// 1、请求LMS横移
ApplyPlugPullSitResponse response = acsToWmsService.actionMove(new JSONObject().fluentPut("device_code", device_code));
if (response.getCode() == 200) {
// 2、复位
this.writing("to_command", 5);
flag = true;
}
}
}
} catch (Exception e) {
return;
}

View File

@@ -25,6 +25,7 @@ public class ItemProtocol {
* 工作模式
*/
public static String item_mode = "mode";
public static String item_move = "move";
/**
* 动作信号
*/
@@ -60,6 +61,9 @@ public class ItemProtocol {
public int getMode() {
return this.getOpcIntegerValue(item_mode);
}
public int getMove() {
return this.getOpcIntegerValue(item_move);
}
public int getAction() {
return this.getOpcIntegerValue(item_action);

View File

@@ -48,6 +48,8 @@ public class UnpackingMachineDeviceDriver extends AbstractOpcDeviceDriver implem
/** 工作模式 */
int mode = 0;
int last_mode = 0;
int move = 0;
int last_move = 0;
/** 动作信号: 0-不允许取放1-允许取放 */
int action = 0;
int last_action = 0;
@@ -86,6 +88,7 @@ public class UnpackingMachineDeviceDriver extends AbstractOpcDeviceDriver implem
action = itemProtocol.getAction();
gross_weight = itemProtocol.getGross_weight();
net_weight = itemProtocol.getNet_weight();
move = itemProtocol.getMove();
} catch (Exception e) {
return;
@@ -109,6 +112,7 @@ public class UnpackingMachineDeviceDriver extends AbstractOpcDeviceDriver implem
last_net_weight = net_weight;
last_to_command = to_command;
last_to_operate = to_operate;
last_move = move;
}

View File

@@ -10,15 +10,16 @@ import com.alibaba.fastjson.JSONObject;
public interface DeviceStageMonitor {
/**
* 根据设备获取设备状态(中文名:如故障、联机等)
*
* @return
* @throws Exception
*/
public JSONObject getDeviceStatusName() throws Exception;
JSONObject getDeviceStatusName() throws Exception;
/**
* 根据舞台数据修改设备驱动状态
*
* @param data
*/
public void setDeviceStatus(JSONObject data);
void setDeviceStatus(JSONObject data);
}