diff --git a/web/src/main/java/com/zhehekeji/web/service/MyProtocolDecoder.java b/web/src/main/java/com/zhehekeji/web/service/MyProtocolDecoder.java index f520857..5bd616d 100644 --- a/web/src/main/java/com/zhehekeji/web/service/MyProtocolDecoder.java +++ b/web/src/main/java/com/zhehekeji/web/service/MyProtocolDecoder.java @@ -71,6 +71,8 @@ public class MyProtocolDecoder extends FixedLengthFrameDecoder { byte b7 = in.readByte(); byte b8 = in.readByte(); byte[] bytes = new byte[]{b1, b2, b3, b4, b5, b6, b7, b8}; + String signal = "pl43"+plcId+type+String.valueOf(taskId)+short1+short2+short3+short4+short5+short6+short7+short8+":"+code+b1+b2+b3+b4+b5+b6+b7+b8; + log.info("plcId:{},原始信号:{}", plcId, signal); if (type.equals("0A")) { //心跳 log.debug("receive heart plcId:{}", plcId); @@ -86,12 +88,15 @@ public class MyProtocolDecoder extends FixedLengthFrameDecoder { } else if (type.equals("0C")) { log.info("action code,{} plcId:{},orderInfo:{}", code, plcId, plcOrderInfo.toString()); - Integer times = 1; + if(!code.equals("C6")){ - times = OrderAction.put(plcOrderInfo.getOrderNum()); + Integer times = OrderAction.put(plcOrderInfo.getOrderNum()); + //执行动作 + plcService.action(plcOrderInfo, plcId, times, code); + }else { + plcService.action(plcOrderInfo, plcId, 1, code); } - //执行动作 - plcService.action(plcOrderInfo, plcId, times, code); + } else if (type.equals("0D")) { diff --git a/web/src/main/java/com/zhehekeji/web/service/PlcService.java b/web/src/main/java/com/zhehekeji/web/service/PlcService.java index 0ba6121..773c5ea 100644 --- a/web/src/main/java/com/zhehekeji/web/service/PlcService.java +++ b/web/src/main/java/com/zhehekeji/web/service/PlcService.java @@ -115,17 +115,18 @@ public class PlcService { log.error("异常的任务次数,orderInfo:{},plcId:{},time:{}",plcOrderInfo.toString(),plcId,times); return; } - if(times == 1 || times == 3){ + if(true){ //找到球机IO配置的预置点 - if(leftRight == 1){ - code = code+"-L"; - }else if(leftRight == 2){ - code = code+"-R"; + if(!"C6".equals(code)){ + if(leftRight == 1){ + code = code+"-L"; + }else if(leftRight == 2){ + code = code+"-R"; + } } log.info("预置点:{}",code); move(street.getCamera1Id(),street.getCamera2Id(),code); - return; } //2 得到相应的货架号(目前订单 只支持单伸货架) //todo 后面可能会有双伸,这里要改,plc那里也要改