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;
}

View File

@@ -1,32 +1,24 @@
universal_off-line=\u8131\u673A
universal_stand-alone=\u5355\u673A
universal_standby=\u5F85\u673A
universal_operation=\u8FD0\u884C\u4E2D
universal_no=\u65E0\u8D27
universal_yes=\u6709\u8D27
universal_two_yes=\u6709\u6258\u76D8\u6709\u8D27
universal_delivery=\u53D6\u8D27\u4E2D
universal_completed=\u53D6\u8D27\u5B8C\u6210
universal_releasing=\u653E\u8D27\u4E2D
universal_releasing_completed=\u653E\u8D27\u5B8C\u6210
universal_remark1=\u672A\u67E5\u627E\u4EFB\u52A1\u539F\u56E0\u4E3A\uFF1A
universal_remark2=\u5DE5\u4F5C\u6A21\u5F0F(mode)\u4E0D\u662F\u5F85\u673A\u72B6\u6001
universal_remark3=\u5149\u7535\u4FE1\u53F7(move)\u4E3A\u6709\u8D27\u72B6\u6001
universal_remark4=\u5F53\u524D\u4E0A\u62A5\u4EFB\u52A1\u53F7(task)\u5E94\u8BE5\u4E3A0
universal_remark5=\u53F3\u51FB\u8BE5\u56FE\u6807,\u5C06\u8BF7\u6C42\u4EFB\u52A1\u590D\u4F4D\u6807\u8BB0(requireSucess)\u6539\u4E3A\u5426\u3002
universal_notCreateInstMessage=\u672A\u627E\u5230\u5173\u8054\u8BBE\u5907\u7684\u4EFB\u52A1\uFF0C\u6307\u4EE4\u65E0\u6CD5\u521B\u5EFA
universal_message1=\u653E\u8D27\u5B8C\u6210
universal_message2=\u653E\u8D27\u5931\u8D25
universal_message3=\u6709\u62A5\u8B66
universal_message4=信号连接异常!
universal_feedMessage1=\u5DE5\u4F5C\u6A21\u5F0F(mode)\u4E0D\u4E3A\u8FD0\u884C\u4E2D\u72B6\u6001
universal_feedMessage2=\u52A8\u4F5C\u4FE1\u53F7(action)\u4E0D\u4E3A\u653E\u8D27\u5B8C\u6210\u72B6\u6001
universal_feedMessage3=\u5149\u7535\u4FE1\u53F7(move)\u4E0D\u4E3A\u65E0\u8D27\u72B6\u6001
universal_feedMessage4=\u5F53\u524D\u4E0A\u62A5\u4EFB\u52A1\u53F7(task)\u4E0D\u5E94\u8BE5\u4E3A0
universal_feedMessage5=\u884C\u67B6\u673A\u68B0\u624B
mark=复位
no_mark=未复位
two_message1=\u53CD\u9988\u91CD\u91CF\u4EE5\u53CA\u6536\u5377\u8F74LMS\u6210\u529F...
two_message2=\u53CD\u9988\u91CD\u91CF\u4EE5\u53CA\u6536\u5377\u8F74LMS\u5931\u8D25...
two_message3=\u53CD\u9988\u8BF7\u6C42\u6210\u529F,\u54CD\u5E94\u53C2\u6570:
two_message4=action\u4E0D\u4E3A\u53CD\u9988\u91CD\u91CF\u72B6\u6001
two_message5=\u7533\u8BF7\u4E0B\u6EE1\u6599\u8BF7\u6C42\u4E2D...
two_message6=\u7533\u8BF7\u4E0B\u6EE1\u6599\u4EFB\u52A1\u63A5\u53E3\u4E0D\u901A
two_message7=\u7533\u8BF7\u4E0B\u6EE1\u6599\u4EFB\u52A1\u6210\u529F
two_message8=\u7533\u8BF7\u4E0B\u6EE1\u6599\u4EFB\u52A1\u5931\u8D25
two_message9=\u7533\u8BF7\u53D6\u6D88\u4EFB\u52A1\u4E2D...
two_message10=\u7533\u8BF7\u53D6\u6D88\u4EFB\u52A1\u63A5\u53E3\u4E0D\u901A
two_message11=\u7533\u8BF7\u53D6\u6D88\u4EFB\u52A1\u6210\u529F
two_message12=\u7533\u8BF7\u53D6\u6D88\u4EFB\u52A1\u5931\u8D25
two_message13=\u7533\u8BF7\u8868\u5904\u4E0A\u7A7A\u8F74\u8BF7\u6C42\u4E2D...
two_message14=\u7533\u8BF7\u8868\u5904\u4E0A\u7A7A\u8F74\u8BF7\u6C42\u63A5\u53E3\u4E0D\u901A
two_message15=\u7533\u8BF7\u8868\u5904\u4E0A\u7A7A\u8F74\u8BF7\u6C42\u6210\u529F
two_message16=\u7533\u8BF7\u8868\u5904\u4E0A\u7A7A\u8F74\u8BF7\u6C42\u5931\u8D25
two_message17=\u7533\u8BF7AGV\u642C\u8FD0\u4EFB\u52A1\u4E2D
two_message18=\u7533\u8BF7AGV\u642C\u8FD0\u4EFB\u52A1\u63A5\u53E3\u4E0D\u901A
two_message19=\u7533\u8BF7AGV\u642C\u8FD0\u4EFB\u52A1\u6210\u529F
two_message20=\u7533\u8BF7AGV\u642C\u8FD0\u4EFB\u52A1\u5931\u8D25
two_mode1=\u7533\u8BF7\u5165\u5E93\u4EFB\u52A1
two_mode2=\u7533\u8BF7\u7A7A\u6258\u76D8\u5165\u5E93
two_mode3=\u7533\u8BF7AGV\u4EFB\u52A1
two_mode4=\u7533\u8BF7\u7A7A\u6258\u76D8\u51FA\u5E93

View File

@@ -1,28 +1,25 @@
universal_off-line=off-line
universal_stand-alone=stand-alone
universal_standby=standby
universal_operation=operation
universal_no=Out of stock
universal_yes=In stock
universal_two_yes=There are pallets and goods
universal_delivery=Taking delivery
universal_completed=Pick-up completed
universal_releasing=Releasing goods
universal_releasing_completed=Release completed
universal_remark1=The task is not found because
universal_remark2=Working mode (mode) is not standby
universal_remark3=Photoelectric signal (move) is in stock status
universal_remark4=The current report task ID should be 0
universal_remark5=Right-click the icon and change the Request task reset flag (requireSucess) to No
universal_notCreateInstMessage=Instructions cannot be created because the task for the associated device is not found
universal_message1=Release completed
universal_message2=Delivery failure
universal_message3=Have an alarm
universal_message4=Signal connection abnormal
universal_feedMessage1=mode is not in the running state
universal_feedMessage2=action signal (action signal) is not a release completed status
universal_feedMessage3=Photoelectric signal (move) is not out of stock
universal_feedMessage4=The current report task number (task) should not be 0
universal_feedMessage5=Gantry manipulator
mark=Reset
no_mark=Unreset
two_message1=Feedback weight as well as reel LMS success...
two_message2=Feedback weight as well as reel LMS failure...
two_message3=The feedback request is successful, and the response parameters are:
two_message4=The action is not a feedback weight state
two_message5=The application is under a full material request...
two_message6=The interface for applying for a full material task is not working
two_message7=The application for the full material task is successful
two_message8=The application for the full material task failed
two_message9=Applying to cancel a task...
two_message10=The API for applying for task cancellation is not available
two_message11=The request to cancel the task is successful
two_message12=The request to cancel the task failed
two_message13=The application form is in the upper space axis request...
two_message14=The upper axis request interface at the application form is not connected
two_message15=The request for the upper axis at the application form was successful
two_message16=The request for the overspace axis at the application form failed
two_message17=Applying for AGV handling tasks
two_message18=The interface for applying for AGV handling tasks is not working
two_message19=The application for AGV handling task was successful
two_message20=Failed to apply for AGV handling task
two_mode1=Request a warehouse entry task
two_mode2=Request empty pallets for storage
two_mode3=Request AGV
two_mode4=Request empty pallets out of warehouse

View File

@@ -1,28 +1,24 @@
universal_off-line=Akses internet
universal_stand-alone=(s) single-player
universal_standby=siaga
universal_operation=operasi
universal_no=bayar
universal_yes=Yang aku mau
universal_two_yes=Ada nampan dengan barang
universal_delivery=Mengambil barang
universal_completed=Pengambilan barang selesai
universal_releasing=Letakkan barang
universal_releasing_completed=Pengiriman selesai
universal_remark1=Alasan tugas yang tidak dicari adalah
universal_remark2=Mode tidak dalam mode siaga
universal_remark3=Sinyal fotolistrik untuk kondisi pengiriman
universal_remark4=Kita tugaskan tugaskan task
universal_remark5=Klik kanan pada ikon dan ubah not (requicess) untuk penugasan ulang
universal_notCreateInstMessage=Misi untuk divais yang diasosiasikan tidak ditemukan, perintah tidak dapat dibuat
universal_message1=Pengiriman selesai
universal_message2=Gagal memasukkan barang
universal_message3=Alarm berbunyi
universal_message4=Koneksi sinyal abnormal
universal_feedMessage1=Mode kerja tidak untuk mode dalam mode
universal_feedMessage2=Sinyal aksi tidak lengkap untuk penempatan
universal_feedMessage3=tidak ada status pengiriman
universal_feedMessage4=Tugaskan tugaskan tugaskan bukan hanya 0
universal_feedMessage5=Pengemudi-mekanik line
mark=Setel ulang
no_mark=Belum diatur ulang
two_message1=Bobot umpan balik serta kesuksesan LMS gulungan...
two_message2=Berat umpan balik serta kegagalan LMS gulungan...
two_message3=Permintaan umpan balik berhasil, dan parameter responsnya adalah:
two_message4=Tindakan ini bukan status bobot umpan balik
two_message5=Aplikasi ini berada di bawah permintaan material lengkap ...
two_message6=Antarmuka untuk melamar tugas material penuh tidak berfungsi
two_message7=Aplikasi untuk tugas material penuh berhasil
two_message8=Aplikasi untuk tugas material penuh gagal
two_message9=Menerapkan untuk membatalkan tugas...
two_message10=API untuk mengajukan pembatalan tugas tidak tersedia
two_message11=Permintaan untuk membatalkan tugas berhasil
two_message12=Permintaan untuk membatalkan tugas gagal
two_message13=Formulir aplikasi ada di permintaan sumbu ruang atas ...
two_message14=Antarmuka permintaan sumbu atas pada formulir aplikasi tidak terhubung
two_message15=Permintaan untuk sumbu atas pada formulir aplikasi berhasil
two_message16=Permintaan untuk sumbu overspace pada formulir aplikasi gagal
two_message17=Melamar tugas penanganan AGV
two_message18=Antarmuka untuk melamar tugas penanganan AGV tidak berfungsi
two_message19=Aplikasi untuk tugas penanganan AGV berhasil
two_message20=Gagal melamar tugas penanganan AGV
two_mode1=Berlaku untuk tugas pustaka
two_mode2=Pendaftaran nampan kosong
two_mode3=Permintaan AGV
two_mode4=Mendaftar untuk pengiriman nampan kosong

View File

@@ -1,28 +1,24 @@
universal_off-line=\u8131\u673A
universal_stand-alone=\u5355\u673A
universal_standby=\u5F85\u673A
universal_operation=\u8FD0\u884C\u4E2D
universal_no=\u65E0\u8D27
universal_yes=\u6709\u8D27
universal_two_yes=\u6709\u6258\u76D8\u6709\u8D27
universal_delivery=\u53D6\u8D27\u4E2D
universal_completed=\u53D6\u8D27\u5B8C\u6210
universal_releasing=\u653E\u8D27\u4E2D
universal_releasing_completed=\u653E\u8D27\u5B8C\u6210
universal_remark1=\u672A\u67E5\u627E\u4EFB\u52A1\u539F\u56E0\u4E3A\uFF1A
universal_remark2=\u5DE5\u4F5C\u6A21\u5F0F(mode)\u4E0D\u662F\u5F85\u673A\u72B6\u6001
universal_remark3=\u5149\u7535\u4FE1\u53F7(move)\u4E3A\u6709\u8D27\u72B6\u6001
universal_remark4=\u5F53\u524D\u4E0A\u62A5\u4EFB\u52A1\u53F7(task)\u5E94\u8BE5\u4E3A0
universal_remark5=\u53F3\u51FB\u8BE5\u56FE\u6807,\u5C06\u8BF7\u6C42\u4EFB\u52A1\u590D\u4F4D\u6807\u8BB0(requireSucess)\u6539\u4E3A\u5426\u3002
universal_notCreateInstMessage=\u672A\u627E\u5230\u5173\u8054\u8BBE\u5907\u7684\u4EFB\u52A1\uFF0C\u6307\u4EE4\u65E0\u6CD5\u521B\u5EFA
universal_message1=\u653E\u8D27\u5B8C\u6210
universal_message2=\u653E\u8D27\u5931\u8D25
universal_message3=\u6709\u62A5\u8B66
universal_message4=信号连接异常!
universal_feedMessage1=\u5DE5\u4F5C\u6A21\u5F0F(mode)\u4E0D\u4E3A\u8FD0\u884C\u4E2D\u72B6\u6001
universal_feedMessage2=\u52A8\u4F5C\u4FE1\u53F7(action)\u4E0D\u4E3A\u653E\u8D27\u5B8C\u6210\u72B6\u6001
universal_feedMessage3=\u5149\u7535\u4FE1\u53F7(move)\u4E0D\u4E3A\u65E0\u8D27\u72B6\u6001
universal_feedMessage4=\u5F53\u524D\u4E0A\u62A5\u4EFB\u52A1\u53F7(task)\u4E0D\u5E94\u8BE5\u4E3A0
universal_feedMessage5=\u884C\u67B6\u673A\u68B0\u624B
mark=复位
no_mark=未复位
two_message1=\u53CD\u9988\u91CD\u91CF\u4EE5\u53CA\u6536\u5377\u8F74LMS\u6210\u529F...
two_message2=\u53CD\u9988\u91CD\u91CF\u4EE5\u53CA\u6536\u5377\u8F74LMS\u5931\u8D25...
two_message3=\u53CD\u9988\u8BF7\u6C42\u6210\u529F,\u54CD\u5E94\u53C2\u6570:
two_message4=action\u4E0D\u4E3A\u53CD\u9988\u91CD\u91CF\u72B6\u6001
two_message5=\u7533\u8BF7\u4E0B\u6EE1\u6599\u8BF7\u6C42\u4E2D...
two_message6=\u7533\u8BF7\u4E0B\u6EE1\u6599\u4EFB\u52A1\u63A5\u53E3\u4E0D\u901A
two_message7=\u7533\u8BF7\u4E0B\u6EE1\u6599\u4EFB\u52A1\u6210\u529F
two_message8=\u7533\u8BF7\u4E0B\u6EE1\u6599\u4EFB\u52A1\u5931\u8D25
two_message9=\u7533\u8BF7\u53D6\u6D88\u4EFB\u52A1\u4E2D...
two_message10=\u7533\u8BF7\u53D6\u6D88\u4EFB\u52A1\u63A5\u53E3\u4E0D\u901A
two_message11=\u7533\u8BF7\u53D6\u6D88\u4EFB\u52A1\u6210\u529F
two_message12=\u7533\u8BF7\u53D6\u6D88\u4EFB\u52A1\u5931\u8D25
two_message13=\u7533\u8BF7\u8868\u5904\u4E0A\u7A7A\u8F74\u8BF7\u6C42\u4E2D...
two_message14=\u7533\u8BF7\u8868\u5904\u4E0A\u7A7A\u8F74\u8BF7\u6C42\u63A5\u53E3\u4E0D\u901A
two_message15=\u7533\u8BF7\u8868\u5904\u4E0A\u7A7A\u8F74\u8BF7\u6C42\u6210\u529F
two_message16=\u7533\u8BF7\u8868\u5904\u4E0A\u7A7A\u8F74\u8BF7\u6C42\u5931\u8D25
two_message17=\u7533\u8BF7AGV\u642C\u8FD0\u4EFB\u52A1\u4E2D
two_message18=\u7533\u8BF7AGV\u642C\u8FD0\u4EFB\u52A1\u63A5\u53E3\u4E0D\u901A
two_message19=\u7533\u8BF7AGV\u642C\u8FD0\u4EFB\u52A1\u6210\u529F
two_message20=\u7533\u8BF7AGV\u642C\u8FD0\u4EFB\u52A1\u5931\u8D25
two_mode1=\u7533\u8BF7\u5165\u5E93\u4EFB\u52A1
two_mode2=\u7533\u8BF7\u7A7A\u6258\u76D8\u5165\u5E93
two_mode3=\u7533\u8BF7AGV\u4EFB\u52A1
two_mode4=\u7533\u8BF7\u7A7A\u6258\u76D8\u51FA\u5E93

View File

@@ -15,16 +15,25 @@ universal_remark3=\u5149\u7535\u4FE1\u53F7(move)\u4E3A\u6709\u8D27\u72B6\u6001
universal_remark4=\u5F53\u524D\u4E0A\u62A5\u4EFB\u52A1\u53F7(task)\u5E94\u8BE5\u4E3A0
universal_remark5=\u53F3\u51FB\u8BE5\u56FE\u6807,\u5C06\u8BF7\u6C42\u4EFB\u52A1\u590D\u4F4D\u6807\u8BB0(requireSucess)\u6539\u4E3A\u5426\u3002
universal_notCreateInstMessage=\u672A\u627E\u5230\u5173\u8054\u8BBE\u5907\u7684\u4EFB\u52A1\uFF0C\u6307\u4EE4\u65E0\u6CD5\u521B\u5EFA
universal_notCreateInstMessage1=\u672A\u8BBE\u7F6E\u7535\u6C14\u8C03\u5EA6\u53F7!
universal_message1=\u653E\u8D27\u5B8C\u6210
universal_message2=\u653E\u8D27\u5931\u8D25
universal_message3=\u6709\u62A5\u8B66
universal_message4=\u672A\u627E\u5230\u7B26\u5408\u6761\u4EF6\u7684\u6307\u4EE4
universal_message5=\u4E0B\u53D1\u7535\u6C14\u4EFB\u52A1\u53F7\u6210\u529F
universal_message6=\u5F53\u524D\u6307\u4EE4\u53F7\u4E3A\u7A7A
universal_message7=\u4EFB\u52A1\u5B8C\u6210...
universal_message8=\u8BFB\u53D6\u4FE1\u53F7\u503C\u65F6\u51FA\u73B0\u5F02\u5E38:
universal_message9=\u521B\u5EFA\u6307\u4EE4\u65F6\u51FA\u73B0\u5F02\u5E38:
universal_message10=\u4E0B\u53D1\u591A\u4E2A\u7535\u6C14\u4FE1\u53F7:
universal_feedMessage1=\u5DE5\u4F5C\u6A21\u5F0F(mode)\u4E0D\u4E3A\u8FD0\u884C\u4E2D\u72B6\u6001
universal_feedMessage2=\u52A8\u4F5C\u4FE1\u53F7(action)\u4E0D\u4E3A\u653E\u8D27\u5B8C\u6210\u72B6\u6001
universal_feedMessage3=\u5149\u7535\u4FE1\u53F7(move)\u4E0D\u4E3A\u65E0\u8D27\u72B6\u6001
universal_feedMessage4=\u5F53\u524D\u4E0A\u62A5\u4EFB\u52A1\u53F7(task)\u4E0D\u5E94\u8BE5\u4E3A0
universal_feedMessage5=\u884C\u67B6\u673A\u68B0\u624B
universal_feedMessage6=\u89E6\u53D1\u65F6\u95F4\u56E0\u4E3A\u5C0F\u4E8E{}\u6BEB\u79D2\uFF0C\u800C\u88AB\u65E0\u89C6
universal_feedMessage7=move\u4E0D\u4E3A\u6709\u8D27\u72B6\u6001
universal_feedMessage8=\u4EFB\u52A1\u53F7\u4E3A0

View File

@@ -17,11 +17,20 @@ universal_message5=Succeeded in delivering the electrical task number
universal_remark4=The current report task ID should be 0
universal_remark5=Right-click the icon and change the Request task reset flag (requireSucess) to No
universal_notCreateInstMessage=Instructions cannot be created because the task for the associated device is not found
universal_notCreateInstMessage1=The electrical dispatch number is not set!
universal_message1=Release completed
universal_message2=Delivery failure
universal_message3=Have an alarm
universal_message6=The current instruction number is empty
universal_message7=Mission accomplished...
universal_message8=An exception occurred when reading the signal value:
universal_message9=An exception occurred while creating the directive
universal_message10=Multiple electrical signals are issued
universal_feedMessage1=mode is not in the running state
universal_feedMessage2=action signal (action signal) is not a release completed status
universal_feedMessage3=Photoelectric signal (move) is not out of stock
universal_feedMessage4=The current report task number (task) should not be 0
universal_feedMessage5=Gantry manipulator
universal_feedMessage6=The trigger time is ignored because it is less than {} milliseconds
universal_feedMessage7=Move is not in stock
universal_feedMessage8=The task number is 0

View File

@@ -15,13 +15,22 @@ universal_remark3=Sinyal fotolistrik untuk kondisi pengiriman
universal_remark4=Kita tugaskan tugaskan task
universal_remark5=Klik kanan pada ikon dan ubah not (requicess) untuk penugasan ulang
universal_notCreateInstMessage=Misi untuk divais yang diasosiasikan tidak ditemukan, perintah tidak dapat dibuat
universal_notCreateInstMessage1=Nomor pengiriman listrik tidak diatur!
universal_message1=Pengiriman selesai
universal_message2=Gagal memasukkan barang
universal_message3=Alarm berbunyi
universal_message4=Tak ada perintah yang ditemukan
universal_message5=Misi kelistrikan berhasil
universal_message6=Nomor instruksi saat ini kosong
universal_message7=Misi tercapai ...
universal_message8=Pengecualian terjadi saat membaca nilai sinyal:
universal_message9=Pengecualian terjadi saat membuat direktif
universal_message10=Beberapa sinyal listrik dikeluarkan
universal_feedMessage1=Mode kerja tidak untuk mode dalam mode
universal_feedMessage2=Sinyal aksi tidak lengkap untuk penempatan
universal_feedMessage3=tidak ada status pengiriman
universal_feedMessage4=Tugaskan tugaskan tugaskan bukan hanya 0
universal_feedMessage5=Pengemudi-mekanik line
universal_feedMessage6=Waktu pemicu diabaikan karena kurang dari {} milidetik
universal_feedMessage7=Pindah tidak tersedia
universal_feedMessage8=Nomor tugasnya adalah 0

View File

@@ -15,13 +15,22 @@ universal_remark3=\u5149\u7535\u4FE1\u53F7(move)\u4E3A\u6709\u8D27\u72B6\u6001
universal_remark4=\u5F53\u524D\u4E0A\u62A5\u4EFB\u52A1\u53F7(task)\u5E94\u8BE5\u4E3A0
universal_remark5=\u53F3\u51FB\u8BE5\u56FE\u6807,\u5C06\u8BF7\u6C42\u4EFB\u52A1\u590D\u4F4D\u6807\u8BB0(requireSucess)\u6539\u4E3A\u5426\u3002
universal_notCreateInstMessage=\u672A\u627E\u5230\u5173\u8054\u8BBE\u5907\u7684\u4EFB\u52A1\uFF0C\u6307\u4EE4\u65E0\u6CD5\u521B\u5EFA
universal_notCreateInstMessage1=\u672A\u8BBE\u7F6E\u7535\u6C14\u8C03\u5EA6\u53F7!
universal_message1=\u653E\u8D27\u5B8C\u6210
universal_message2=\u653E\u8D27\u5931\u8D25
universal_message3=\u6709\u62A5\u8B66
universal_message4=\u672A\u627E\u5230\u7B26\u5408\u6761\u4EF6\u7684\u6307\u4EE4
universal_message5=\u4E0B\u53D1\u7535\u6C14\u4EFB\u52A1\u53F7\u6210\u529F
universal_message6=\u5F53\u524D\u6307\u4EE4\u53F7\u4E3A\u7A7A
universal_message7=\u4EFB\u52A1\u5B8Cuniversal_releasing_completed\u6210...
universal_message8=\u8BFB\u53D6\u4FE1\u53F7\u503C\u65F6\u51FA\u73B0\u5F02\u5E38:
universal_message9=\u521B\u5EFA\u6307\u4EE4\u65F6\u51FA\u73B0\u5F02\u5E38:
universal_message10=\u4E0B\u53D1\u591A\u4E2A\u7535\u6C14\u4FE1\u53F7
universal_feedMessage1=\u5DE5\u4F5C\u6A21\u5F0F(mode)\u4E0D\u4E3A\u8FD0\u884C\u4E2D\u72B6\u6001
universal_feedMessage2=\u52A8\u4F5C\u4FE1\u53F7(action)\u4E0D\u4E3A\u653E\u8D27\u5B8C\u6210\u72B6\u6001
universal_feedMessage3=\u5149\u7535\u4FE1\u53F7(move)\u4E0D\u4E3A\u65E0\u8D27\u72B6\u6001
universal_feedMessage4=\u5F53\u524D\u4E0A\u62A5\u4EFB\u52A1\u53F7(task)\u4E0D\u5E94\u8BE5\u4E3A0
universal_feedMessage5=\u884C\u67B6\u673A\u68B0\u624B
universal_feedMessage6=\u89E6\u53D1\u65F6\u95F4\u56E0\u4E3A\u5C0F\u4E8E{}\u6BEB\u79D2\uFF0C\u800C\u88AB\u65E0\u89C6
universal_feedMessage7=move\u4E0D\u4E3A\u6709\u8D27\u72B6\u6001
universal_feedMessage8=\u4EFB\u52A1\u53F7\u4E3A0