add:新增后端二楼驱动国际化

This commit is contained in:
2024-02-29 10:30:48 +08:00
parent 42e572a003
commit 544e5dfaea
24 changed files with 365 additions and 265 deletions

View File

@@ -7,6 +7,7 @@ import org.nl.acs.AcsConfig;
import org.nl.acs.agv.server.NDCAgvService;
import org.nl.acs.device.domain.Device;
import org.nl.acs.device.service.DeviceService;
import org.nl.acs.device_driver.agv.ndcone.AgvNdcOneDeviceDriver;
import org.nl.acs.device_driver.agv.ndctwo.AgvNdcTwoDeviceDriver;
import org.nl.acs.device_driver.autodoor.standard_autodoor.StandardAutodoorDeviceDriver;
import org.nl.acs.ext.wms.service.AcsToWmsService;
@@ -99,7 +100,7 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
byte[] b = new byte[1024];
s = new Socket();
s.connect(socketAddress,2*1000);
s.connect(socketAddress, 2 * 1000);
s.setKeepAlive(true);//长链接
// s.setSoTimeout(1000* 60 * 10);//读取超时时间
dos = new DataOutputStream(s.getOutputStream());
@@ -171,6 +172,7 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
}
AgvNdcTwoDeviceDriver agvNdcTwoDeviceDriver;
AgvNdcOneDeviceDriver agvNdcOneDeviceDriver;
//开始任务
if (phase == 0x01) {
if (!ObjectUtil.isEmpty(inst)) {
@@ -194,6 +196,9 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
if (agvDevice.getDeviceDriver() instanceof AgvNdcTwoDeviceDriver) {
agvNdcTwoDeviceDriver = (AgvNdcTwoDeviceDriver) agvDevice.getDeviceDriver();
agvNdcTwoDeviceDriver.setInstruction(null);
}else if (device.getDeviceDriver() instanceof AgvNdcOneDeviceDriver) {
agvNdcOneDeviceDriver = (AgvNdcOneDeviceDriver) device.getDeviceDriver();
agvNdcOneDeviceDriver.setInstruction(null);
}
}
inst.setInstruction_status("2");
@@ -224,7 +229,7 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
log.info(agvaddr + "对应设备号为空!");
return;
}
if(ObjectUtil.isNotEmpty(device)) {
if (ObjectUtil.isNotEmpty(device)) {
if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) {
standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver();
try {
@@ -233,7 +238,7 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
log.info("下发电气信号失败:" + e.getMessage());
e.printStackTrace();
}
if (standardAutodoorDeviceDriver.getAction() == 1 && standardAutodoorDeviceDriver.getTo_command() == 1 ) {
if (standardAutodoorDeviceDriver.getAction() == 1 && standardAutodoorDeviceDriver.getTo_command() == 1) {
log.info("下发开门信号值为:{}", standardAutodoorDeviceDriver.getTo_command());
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
}
@@ -247,7 +252,7 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
log.info(agvaddr + "对应设备号为空!");
return;
}
if(ObjectUtil.isNotEmpty(device)){
if (ObjectUtil.isNotEmpty(device)) {
if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) {
standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver();
try {
@@ -270,17 +275,20 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
} else {
device = deviceAppService.findDeviceByCode(Integer.toString(arr[20]));
}
try{
if(ObjectUtil.isNotEmpty(device)){
try {
if (ObjectUtil.isNotEmpty(device)) {
if (device.getDeviceDriver() instanceof AgvNdcTwoDeviceDriver) {
agvNdcTwoDeviceDriver = (AgvNdcTwoDeviceDriver) device.getDeviceDriver();
agvNdcTwoDeviceDriver.processSocket(arr);
} else if (device.getDeviceDriver() instanceof AgvNdcOneDeviceDriver) {
agvNdcOneDeviceDriver = (AgvNdcOneDeviceDriver) device.getDeviceDriver();
agvNdcOneDeviceDriver.processSocket(arr);
}
} else {
log.info("当前phase"+ phase +"未找到对应设备");
log.info("当前phase" + phase + "未找到对应设备");
}
} catch (Exception e){
log.info("processSocket出错:{},{}" ,e, e.getMessage());
} catch (Exception e) {
log.info("processSocket出错:{},{}", e, e.getMessage());
e.printStackTrace();
}
}
@@ -333,13 +341,13 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
dos.flush();
} catch (Exception e) {
// TODO Auto-generated catch block
try{
try {
Thread.sleep(5000);
log.info("再次下发agv数据:" + Bytes2HexString(b));
System.out.println("再次下发agv数据:" + Bytes2HexString(b));
dos.write(b);
dos.flush();
} catch (Exception e1){
} catch (Exception e1) {
e1.printStackTrace();
}

View File

@@ -174,12 +174,30 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
barcode = this.itemProtocol.getBarcode();
iserror = this.itemProtocol.isError;
if (mode != last_mode) {
requireSucess = false;
logServer.deviceItemValue(this.device_code, "mode", String.valueOf(mode));
logServer.deviceExecuteLog(this.device_code, "", "", "信号mode" + last_mode + "->" + mode);
}
if (move != last_move) {
logServer.deviceItemValue(this.device_code, "move", String.valueOf(move));
logServer.deviceExecuteLog(this.device_code, "", "", "信号move" + last_move + "->" + move);
}
if (action != last_action) {
logServer.deviceItemValue(this.device_code, "action", String.valueOf(action));
logServer.deviceExecuteLog(this.device_code, "", "", "信号action" + last_action + "->" + action);
}
if (error != last_error) {
logServer.deviceItemValue(this.device_code, "error", String.valueOf(error));
logServer.deviceExecuteLog(this.device_code, "", "", "信号error" + last_error + "->" + error);
}
// 更新指令状态
if (mode == 3 && task > 0) {
Date date = new Date();
if (date.getTime() - this.instruction_update_time.getTime() < (long) this.instruction_update_time_out) {
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_update_time_out);
log.trace(LangProcess.msg("universal_feedMessage6"), this.instruction_update_time_out);
} else {
this.instruction_update_time = date;
@@ -213,45 +231,45 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
ja.add(jo);
HttpResponse body = acsToWmsService.feedbackTaskStatusToWms(ja);
if (body.getStatus() == 200) {
message = "反馈重量以及收卷轴LMS成功...";
message = LangProcess.msg("two_message1");
requireSucess = true;
LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(device_code)
.content("反馈尺寸成请求成功,响应参数:" + JSON.toJSONString(body))
.content(LangProcess.msg("two_message3") + JSON.toJSONString(body))
.build();
luceneExecuteLogService.deviceExecuteLog(logDto);
Map<String, Object> map = new LinkedHashMap<>();
map.put("to_command", "5");
this.writing(map);
} else {
message = "反馈重量以及收卷轴LMS失败...";
message = LangProcess.msg("two_message2");
requireSucess = false;
LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(device_code)
.content("反馈重量以及收卷轴LMS失败...")
.content(LangProcess.msg("two_message2"))
.build();
luceneExecuteLogService.deviceExecuteLog(logDto);
}
} else {
LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(device_code)
.content("当前指令号为空")
.content(LangProcess.msg("universal_message6"))
.build();
luceneExecuteLogService.deviceExecuteLog(logDto);
}
} else {
feedMessage = "行架机械手:";
feedMessage = LangProcess.msg("universal_feedMessage5");
if (mode != 3) {
feedMessage = feedMessage + "mode不为运行中状态,";
feedMessage = feedMessage + LangProcess.msg("universal_feedMessage1");
}
if (action != 5) {
feedMessage = feedMessage + "action不为反馈重量状态,";
feedMessage = feedMessage + LangProcess.msg("two_message4");
}
if (move != 1) {
feedMessage = feedMessage + "move不为有货状态,";
feedMessage = feedMessage + LangProcess.msg("universal_feedMessage7");
}
if (task == 0) {
feedMessage = feedMessage + "task为0。";
feedMessage = feedMessage + LangProcess.msg("universal_feedMessage8");
}
}
@@ -262,7 +280,7 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
if (StrUtil.equals(inst2.getInstruction_status(), InstructionStatusEnum.BUSY.getIndex())) {
try {
requireSucess = true;
message = "任务完成...";
message = LangProcess.msg("universal_message7");
finish_instruction(inst2);
Map<String, Object> map = new LinkedHashMap<>();
map.put("to_command", "6");
@@ -280,7 +298,7 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
feedMessage = var17.getMessage();
LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(device_code)
.content("读取信号值时出现异常:" + var17.getMessage() + ",this.itemProtocol is null:" + ObjectUtil.isEmpty(this.itemProtocol))
.content(LangProcess.msg("universal_message8") + var17.getMessage() + ",this.itemProtocol is null:" + ObjectUtil.isEmpty(this.itemProtocol))
.build();
luceneExecuteLogService.deviceExecuteLog(logDto);
@@ -288,11 +306,11 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
if (mode == 0) {
this.setIsonline(false);
message = "未联机";
message = LangProcess.msg("universal_off-line");
//有报警
} else if (error != 0) {
this.setIserror(true);
message = "有报警";
message = LangProcess.msg("universal_message3");
//无报警
} else {
this.setIsonline(true);
@@ -314,19 +332,19 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
//if (!requireSucess) {
String remark = LangProcess.msg("universal_remark1");
if (mode != 2) {
remark = remark + "工作模式(mode)不是待机状态,";
remark = remark + LangProcess.msg("universal_remark2");
}
if (move != 0) {
remark = remark + "光电信号(move)为有货状态,";
remark = remark + LangProcess.msg("universal_remark3");
}
if (task != 0) {
remark = remark + "当前上报任务号(task)应该为0,";
remark = remark + LangProcess.msg("universal_remark4");
if (ObjectUtil.isNotEmpty(this.inst)) {
this.inst = null;
}
}
if (requireSucess) {
remark = remark + "请右击该图标,将请求任务复位标记(requireSucess)改为否。";
remark = remark + LangProcess.msg("universal_remark5");
}
this.setNotCreateTaskMessage(remark);
//}
@@ -359,7 +377,7 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
public synchronized boolean applyTask() {
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);
log.trace(LangProcess.msg("universal_feedMessage6"), this.instruction_require_time_out);
return false;
} else {
this.instruction_require_time = date;
@@ -448,7 +466,7 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
notCreateInstMessage = e.getMessage();
LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(device_code)
.content("创建指令时出现异常:" + e.getMessage())
.content(LangProcess.msg("universal_message9") + e.getMessage())
.build();
luceneExecuteLogService.deviceExecuteLog(logDto);
return false;
@@ -461,19 +479,19 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
Device startDevice = deviceAppService.findDeviceByCode(instdto.getStart_device_code());
Device nextDevice = deviceAppService.findDeviceByCode(instdto.getNext_device_code());
if (ObjectUtil.isEmpty(startDevice.getExtraValue().get("address"))) {
notCreateInstMessage = "设备:" + startDevice.getDevice_code() + "未设置电气调度号!";
notCreateInstMessage = startDevice.getDevice_code() + LangProcess.msg("universal_notCreateInstMessage1");
LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(device_code)
.content("设备:" + startDevice.getDevice_code() + "未设置电气调度号!")
.content(startDevice.getDevice_code() + LangProcess.msg("universal_notCreateInstMessage1"))
.build();
luceneExecuteLogService.deviceExecuteLog(logDto);
throw new BadRequestException(LangProcess.msg("device_checkAdd", startDevice.getDevice_code()));
}
if (ObjectUtil.isEmpty(nextDevice.getExtraValue().get("address"))) {
notCreateInstMessage = "设备:" + nextDevice.getDevice_code() + "未设置电气调度号!";
notCreateInstMessage = nextDevice.getDevice_code() + LangProcess.msg("universal_notCreateInstMessage1");
LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(device_code)
.content("设备:" + nextDevice.getDevice_code() + "未设置电气调度号!")
.content(nextDevice.getDevice_code() + LangProcess.msg("universal_notCreateInstMessage1"))
.build();
luceneExecuteLogService.deviceExecuteLog(logDto);
throw new BadRequestException(LangProcess.msg("device_checkAdd", nextDevice.getDevice_code()));
@@ -491,7 +509,7 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
notCreateInstMessage = "";
notCreateTaskMessage = "";
} else {
notCreateInstMessage = "未找到关联设备的任务,指令无法创建";
notCreateInstMessage = LangProcess.msg("universal_notCreateInstMessage");
}
return true;
}
@@ -528,7 +546,7 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
}
LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(device_code)
.content("下发多个电气信号:" + itemMap)
.content(LangProcess.msg("universal_message10") + itemMap)
.build();
luceneExecuteLogService.deviceExecuteLog(logDto);
}
@@ -559,19 +577,19 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
String action = "";
String walk_y = "";
if (this.getMode() == 0) {
mode = "脱机";
mode = LangProcess.msg("universal_off-line");
} else if (this.getMode() == 1) {
mode = "单机";
mode = LangProcess.msg("universal_stand-alone");
} else if (this.getMode() == 2) {
mode = "待机";
mode = LangProcess.msg("universal_standby");
} else if (this.getMode() == 3) {
mode = "运行中";
mode = LangProcess.msg("universal_operation");
}
if (this.getMove() == 0) {
move = "无货";
move = LangProcess.msg("universal_no");
} else if (this.getMove() == 1) {
move = "有货";
move = LangProcess.msg("universal_yes");
}
String requireSucess = "0";
@@ -580,13 +598,13 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
}
jo.put("requireSucess", requireSucess);
if (this.getAction() == 1) {
action = "取货中";
action = LangProcess.msg("universal_delivery");
} else if (this.getAction() == 2) {
action = "取货完成";
action = LangProcess.msg("universal_completed");
} else if (this.getAction() == 3) {
action = "放货中";
action = LangProcess.msg("universal_releasing");
} else if (this.getAction() == 4) {
action = "放货完成";
action = LangProcess.msg("universal_releasing_completed");
}
if(error == 0 && iserror){
message = "信号连接异常!";

View File

@@ -28,6 +28,7 @@ import org.nl.acs.opc.DeviceAppService;
import org.nl.acs.route.service.RouteLineService;
import org.nl.acs.task.service.TaskService;
import org.nl.config.SpringContextHolder;
import org.nl.config.language.LangProcess;
import org.nl.config.lucene.service.LuceneExecuteLogService;
import org.nl.system.service.param.ISysParamService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -142,7 +143,7 @@ public class BlankingButtonDriver extends AbstractOpcDeviceDriver implements Dev
if (mode == 0) {
this.setIsonline(false);
message = "未联机";
message = LangProcess.msg("universal_off-line");
// 有报警
// } else if (error != 0) {
// this.setIsonline(false);
@@ -154,7 +155,7 @@ public class BlankingButtonDriver extends AbstractOpcDeviceDriver implements Dev
this.setIserror(false);
if (error != 0) {
this.setIserror(true);
message = "有报警";
message = LangProcess.msg("universal_message3");
}
message = "";
Instruction instruction = null;
@@ -162,10 +163,10 @@ public class BlankingButtonDriver extends AbstractOpcDeviceDriver implements Dev
switch (mode) {
case 2:
log.debug("设备运转模式:等待工作");
log.debug(LangProcess.msg("universal_standby"));
break;
case 3:
log.debug("设备运转模式:等待工作");
log.debug(LangProcess.msg("universal_operation"));
break;
case 9:
// 表处下满料请求
@@ -205,60 +206,26 @@ public class BlankingButtonDriver extends AbstractOpcDeviceDriver implements Dev
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);
log.trace(LangProcess.msg("universal_feedMessage6"), this.instruction_require_time_out);
return;
} else {
this.instruction_require_time = date;
if (StrUtil.equals(paramService.findByCode(AcsConfig.HASWMS).getValue(), CommonFinalParam.ONE)) {
message = "申请下满料请求中...";
message = LangProcess.msg("two_message5");
BlankingButtonRequest blankingButtonRequest = new BlankingButtonRequest();
blankingButtonRequest.setDevice_code(device_code);
blankingButtonRequest.setType("1");
BlankingButtonResponse response = acsToWmsService.applyBlankButtonTask(blankingButtonRequest);
if (ObjectUtil.isEmpty(response)) {
message = "申请下满料任务接口不通";
message = LangProcess.msg("two_message6");
} else {
if (response.getCode()== 200) {
this.writing("to_command","9");
message = "申请下满料任务成功";
message = LangProcess.msg("two_message7");
requireSucess = true;
} else {
requireSucess = false;
message = "申请下满料任务失败," + response.getMessage();
this.writing("to_command","99");
}
}
}
}
}
/**
* 申请取消任务
*/
public synchronized void applyTakeEmptyShaft() {
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 (StrUtil.equals(paramService.findByCode(AcsConfig.HASWMS).getValue(), CommonFinalParam.ONE)) {
message = "申请取消任务中...";
BlankingButtonRequest blankingButtonRequest = new BlankingButtonRequest();
blankingButtonRequest.setDevice_code(device_code);
blankingButtonRequest.setType("2");
BlankingButtonResponse response = acsToWmsService.applyBlankButtonTask(blankingButtonRequest);
if (ObjectUtil.isEmpty(response)) {
message = "申请取消任务接口不通";
} else {
if (response.getCode()== 200) {
this.writing("to_command","10");
message = "申请取消任务成功";
requireSucess = true;
} else {
requireSucess = false;
message = "申请取消任务失败," + response.getMessage();
message = LangProcess.msg("two_message8") + response.getMessage();
this.writing("to_command","99");
}
}
@@ -273,26 +240,60 @@ public class BlankingButtonDriver extends AbstractOpcDeviceDriver implements Dev
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);
log.trace(LangProcess.msg("universal_feedMessage6"), this.instruction_require_time_out);
return;
} else {
this.instruction_require_time = date;
if (StrUtil.equals(paramService.findByCode(AcsConfig.HASWMS).getValue(), CommonFinalParam.ONE)) {
message = "申请取消任务中...";
message = LangProcess.msg("two_message9");
BlankingButtonRequest blankingButtonRequest = new BlankingButtonRequest();
blankingButtonRequest.setDevice_code(device_code);
blankingButtonRequest.setType("2");
BlankingButtonResponse response = acsToWmsService.applyBlankButtonTask(blankingButtonRequest);
if (ObjectUtil.isEmpty(response)) {
message = "申请AGV搬运任务接口不通";
message = LangProcess.msg("two_message10");
} else {
if (response.getCode()== 200) {
this.writing("to_command","10");
message = "申请AGV搬运任务成功";
message = LangProcess.msg("two_message11");
requireSucess = true;
} else {
requireSucess = false;
message = "申请AGV搬运任务失败," + response.getMessage();
message = LangProcess.msg("two_message12") + response.getMessage();
this.writing("to_command","99");
}
}
}
}
}
/**
* 表处上空轴请求
*/
public synchronized void applyTakeEmptyShaft() {
Date date = new Date();
if (date.getTime() - this.instruction_require_time.getTime()
< (long) this.instruction_require_time_out) {
log.trace(LangProcess.msg("universal_feedMessage6"), this.instruction_require_time_out);
return;
} else {
this.instruction_require_time = date;
if (StrUtil.equals(paramService.findByCode(AcsConfig.HASWMS).getValue(), CommonFinalParam.ONE)) {
message = LangProcess.msg("two_message13");
BlankingButtonRequest blankingButtonRequest = new BlankingButtonRequest();
blankingButtonRequest.setDevice_code(device_code);
blankingButtonRequest.setType("2");
BlankingButtonResponse response = acsToWmsService.applyBlankButtonTask(blankingButtonRequest);
if (ObjectUtil.isEmpty(response)) {
message = LangProcess.msg("two_message14");
} else {
if (response.getCode()== 200) {
this.writing("to_command","10");
message = LangProcess.msg("two_message15");
requireSucess = true;
} else {
requireSucess = false;
message = LangProcess.msg("two_message16") + response.getMessage();
this.writing("to_command","99");
}
}

View File

@@ -29,6 +29,7 @@ import org.nl.acs.opc.DeviceAppService;
import org.nl.acs.route.service.RouteLineService;
import org.nl.acs.task.service.TaskService;
import org.nl.config.SpringContextHolder;
import org.nl.config.language.LangProcess;
import org.nl.system.service.param.ISysParamService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -136,7 +137,7 @@ public class GreenFoilMachineButtonDriver extends AbstractOpcDeviceDriver implem
if (mode == 0) {
this.setIsonline(false);
message = "未联机";
message = LangProcess.msg("universal_off-line");
// 有报警
// } else if (error != 0) {
// this.setIsonline(false);
@@ -145,7 +146,7 @@ public class GreenFoilMachineButtonDriver extends AbstractOpcDeviceDriver implem
// //无报警
} else if (error != 0) {
this.setIserror(true);
message = "有报警";
message = LangProcess.msg("universal_message3");
}else {
this.setIsonline(true);
this.setIserror(false);
@@ -155,10 +156,10 @@ public class GreenFoilMachineButtonDriver extends AbstractOpcDeviceDriver implem
switch (mode) {
case 2:
log.debug("设备运转模式:等待工作");
log.debug(LangProcess.msg("universal_standby"));
break;
case 3:
log.debug("设备运转模式:等待工作");
log.debug(LangProcess.msg("universal_operation"));
break;
case 4:
// 申请AGV取空取满放空放满任务
@@ -207,18 +208,18 @@ public class GreenFoilMachineButtonDriver extends AbstractOpcDeviceDriver implem
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);
log.trace(LangProcess.msg("universal_feedMessage6"), this.instruction_require_time_out);
return;
} else {
this.instruction_require_time = date;
if (StrUtil.equals(paramService.findByCode(AcsConfig.HASWMS).getValue(), CommonFinalParam.ONE)) {
message = "申请AGV搬运任务中...";
message = LangProcess.msg("two_message17");
ApplyGreenFoilButtonRequest applyGreenFoilButtonRequest = new ApplyGreenFoilButtonRequest();
applyGreenFoilButtonRequest.setDevice_code(device_code);
applyGreenFoilButtonRequest.setType(String.valueOf(mode));
ApplyGreenFoilButtonResponse response = acsToWmsService.applyGreenFoilButtonTask(applyGreenFoilButtonRequest);
if (ObjectUtil.isEmpty(response)) {
message = "申请AGV搬运任务接口不通";
message = LangProcess.msg("two_message18");
} else {
if (response.getCode()== 200) {
if (mode==4){
@@ -228,11 +229,11 @@ public class GreenFoilMachineButtonDriver extends AbstractOpcDeviceDriver implem
}else if (mode==9){
this.writing("to_command","9");
}
message = "申请AGV搬运任务成功";
message = LangProcess.msg("two_message19");
requireSucess = true;
} else {
requireSucess = false;
message = "申请AGV搬运任务失败," + response.getMessage();
message = LangProcess.msg("two_message20") + response.getMessage();
this.writing("to_command","99");
}
}

View File

@@ -26,6 +26,8 @@ import org.nl.acs.monitor.DeviceStageMonitor;
import org.nl.acs.opc.DeviceAppService;
import org.nl.acs.route.service.RouteLineService;
import org.nl.acs.task.service.TaskService;
import org.nl.acs.task.service.dto.TaskDto;
import org.nl.config.language.LangProcess;
import org.nl.config.language.LangProcess;
import org.nl.system.service.param.ISysParamService;
import org.nl.config.SpringContextHolder;
@@ -241,7 +243,6 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
}
if (mode == 0) {
this.setIsonline(false);
message = "未联机";
@@ -260,18 +261,22 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
//插拔轴机工位申请任务
switch (mode) {
case 1:
log.debug("弃用(留作兼容)");
log.debug(LangProcess.msg("universal_stand-alone"));
break;
case 2:
log.info("待机");
log.info(LangProcess.msg("universal_standby"));
break;
case 3:
log.info("运行中");
log.info(LangProcess.msg("universal_operation"));
break;
case 4:
if (move == 1 && !requireSucess) {
//申请套管
apply_casing(mode);
Instruction inst = instructionService.findByCode(String.valueOf(task));
TaskDto taskDto = taskserver.findByCode(inst.getTask_code());
if (StrUtil.equals("1", taskDto.getIs_bushing())) {
if (move == 1 && !requireSucess) {
//申请套管
apply_casing(mode);
}
}
break;
case 5:
@@ -309,18 +314,18 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
last_error = error;
last_task = task;
last_heartbeat = heartbeat;
last_barcode =barcode;
last_weight1=weight1;
last_weight2=weight2;
last_material1=material1;
last_material2=material2;
last_barcode = barcode;
last_weight1 = weight1;
last_weight2 = weight2;
last_material1 = material1;
last_material2 = material2;
last_to_command = to_command;
last_to_material1 =to_material1;
last_to_material1 = to_material1;
last_to_material2 = to_material2;
last_to_qty=to_qty;
last_to_qzz_type=to_qzz_type;
last_to_qty = to_qty;
last_to_qzz_type = to_qzz_type;
last_to_is_changeShaft = to_is_changeShaft;
last_to_location=to_location;
last_to_location = to_location;
last_to_size = to_size;
}
@@ -330,15 +335,17 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
private synchronized void apply_casing(int mode) {
ApplyPlugPullSiteRequest applyPlugPullSiteRequest = new ApplyPlugPullSiteRequest();
ApplyPlugPullSitResponse applyPlugPullSitResponse;
Instruction inst1 = null;
if(task!=0) {
inst1 = instructionService.findByCode(String.valueOf(task));
String task_code1 = inst1.getTask_code();
applyPlugPullSiteRequest.setTask_code(task_code1);
Instruction inst;
if (task != 0) {
inst = instructionService.findByCode(String.valueOf(task));
String task_code = inst.getTask_code();
TaskDto dto = taskserver.findByCode(task_code);
String size = dto.getSize();
applyPlugPullSiteRequest.setSize(size);
applyPlugPullSiteRequest.setTask_code(task_code);
}
applyPlugPullSiteRequest.setDevice_code(device_code);
applyPlugPullSiteRequest.setType("1");
//TODO 气涨轴尺寸反馈
applyPlugPullSitResponse = acsToWmsService.applyPlugPullSiteRequest(applyPlugPullSiteRequest);
if (applyPlugPullSitResponse.getCode() == 200) {
this.writeSignal(mode);
@@ -361,7 +368,7 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
private synchronized void bushingSucess(int mode) {
ApplyPlugPullSiteRequest applyPlugPullSiteRequest = new ApplyPlugPullSiteRequest();
ApplyPlugPullSitResponse applyPlugPullSitResponse;
if(task!=0) {
if (task != 0) {
Instruction inst1 = instructionService.findByCode(String.valueOf(task));
String task_code1 = inst1.getTask_code();
applyPlugPullSiteRequest.setTask_code(task_code1);
@@ -442,9 +449,10 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
/**
* 下发电气信号
*
* @param mode
*/
public void writeSignal(int mode){
public void writeSignal(int mode) {
Map<String, Object> map = new LinkedHashMap<>();
map.put("to_command", mode);
this.writing(map);
@@ -492,7 +500,7 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
return this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code() + ".";
}
/**
/**
* 将扩展表中的字符串数据转换成集合
*/
@Override
@@ -519,27 +527,34 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
String action = "";
String move = "";
if (this.getMode() == 0) {
mode = "未联机";
mode = LangProcess.msg("universal_off-line");
} else if (this.getMode() == 1) {
mode = "单机";
mode = LangProcess.msg("universal_stand-alone");
} else if (this.getMode() == 2) {
mode = "联机";
mode = LangProcess.msg("universal_standby");
} else if (this.getMode() == 3) {
mode = "运行中";
mode = LangProcess.msg("universal_operation");
}
if (this.getMove() == 0) {
move = "无货";
move = LangProcess.msg("universal_no");
jo.put("hasGoods", false);
} else if (this.getMove() == 1) {
move = "有货";
move = LangProcess.msg("universal_yes");
jo.put("hasGoods", true);
} else if (this.getMove() == 2) {
move = "有托盘有货";
move = LangProcess.msg("universal_two_yes");
jo.put("hasGoods", true);
}
if(this.itemProtocol.getIsError() && error == 0){
this.setMessage(LangProcess.msg("universal_message4"));
jo.put("requireSucess", requireSucess);
if (this.getAction() == 1) {
action = LangProcess.msg("universal_delivery");
} else if (this.getAction() == 2) {
action = LangProcess.msg("universal_completed");
} else if (this.getAction() == 3) {
action = LangProcess.msg("universal_releasing");
} else if (this.getAction() == 4) {
action = LangProcess.msg("universal_releasing_completed");
}
jo.put("device_name", this.getDevice().getDevice_name());
jo.put("mode", mode);

View File

@@ -165,7 +165,7 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
logServer.deviceExecuteLog(this.device_code, "", "", "信号mode" + last_mode + "->" + mode);
}
if (task > 0 && !requireSucess) {
if (mode == 3 && task > 0 && !requireSucess) {
update_instruction_status();
}

View File

@@ -44,4 +44,9 @@ public class ApplyPlugPullSiteRequest extends BaseRequest {
* 条码
*/
private String barcode;
/**
* 尺寸 3,6寸
*/
private String size;
}

View File

@@ -167,6 +167,11 @@ public class CreateTaskRequest extends BaseRequest {
*/
private String truss_type;
/**
* 气涨轴尺寸
*/
private String size;
/**
* 空轴位
*/

View File

@@ -114,6 +114,7 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
String truss_type = request.getTruss_type();
String empty_site = request.getEmpty_site();
String is_bushing = request.getIs_bushing();
String size = request.getSize();
String version = request.getVersion();
String bushing_num = request.getBushing_num();
String storage_task_type = request.getDtl_type();
@@ -335,6 +336,7 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
jo.put("truss_type", JSONUtil.toJsonStr(truss_type));
jo.put("empty_site", JSONUtil.toJsonStr(empty_site));
jo.put("is_bushing", JSONUtil.toJsonStr(is_bushing));
jo.put("size", JSONUtil.toJsonStr(size));
jo.put("version", JSONUtil.toJsonStr(version));
jo.put("bushing_num", JSONUtil.toJsonStr(bushing_num));

View File

@@ -325,7 +325,12 @@ public class TaskDto implements Serializable {
private String empty_shaft_site;
/**
* 是否套管
* 气涨轴尺寸
*/
private String size;
/**
* 是否套管 0不套管 1套管
*/
private String is_bushing;
}