| | |
| | | import com.core.common.DateUtils; |
| | | import com.core.common.SpringUtils; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.BasDevp; |
| | | import com.zy.asrs.entity.BasDevpOpt; |
| | | import com.zy.asrs.entity.BasRgvMap; |
| | | import com.zy.asrs.entity.BasRgvOpt; |
| | | import com.zy.asrs.service.BasDevpOptService; |
| | | import com.zy.asrs.service.BasDevpService; |
| | | import com.zy.asrs.service.BasRgvMapService; |
| | | import com.zy.asrs.service.BasRgvOptService; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.common.utils.News; |
| | | import com.zy.core.DevpThread; |
| | | import com.zy.core.cache.MessageQueue; |
| | |
| | | add(1022);add(1024); |
| | | add(1025);add(1026);add(1028); |
| | | add(1029);add(1031); |
| | | add(1032);add(1033);add(1035); |
| | | add(1032);add(1033);add(1034);add(1035); |
| | | add(1036);add(1037);add(1038); |
| | | add(1039);add(1040);add(1041); |
| | | add(1042);add(1043);add(1044);add(1045);add(1046);add(1047);add(1048);add(1050);add(1051);add(1052);add(1053);add(1054);add(1055);add(1056);add(1057); |
| | |
| | | OperateResultExOne<byte[]> result4 = null;//1054-1079 |
| | | OperateResultExOne<byte[]> result5 = null;//1080-1110 |
| | | OperateResultExOne<byte[]> resultErr = null; |
| | | if(staNoSize == 99){ |
| | | if(staNoSize == 100){ |
| | | result1 = siemensS7Net.Read("DB100.0", (short) (2768));//1001-1028 |
| | | result2 = siemensS7Net.Read("DB101.0", (short) (1268));//1029-1037 |
| | | result3 = siemensS7Net.Read("DB104.0", (short) (1268));//1042-1053 |
| | |
| | | station.put(siteId, staProtocol); |
| | | } |
| | | staProtocol.setSiteId(siteId); |
| | | if (staNoSize == 99) { |
| | | if (staNoSize == 100) { |
| | | if (siteId < 1029) { |
| | | result = result1; |
| | | } else if (siteId < 1042) { |
| | |
| | | boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, offset + offset3, 1); |
| | | staProtocol.setAutoing(!status[0]); // 自动 |
| | | boolean[] status1 = siemensS7Net.getByteTransform().TransBool(result.Content, offset + offset3 - 4, 3); |
| | | boolean[] statusErr = siemensS7Net.getByteTransform().TransBool(result.Content, offset + 54, 1); |
| | | boolean[] statusErr = siemensS7Net.getByteTransform().TransBool(result.Content, offset + offset3 - 8, 3); |
| | | boolean loading = false; |
| | | if(!status1[0]) |
| | | // && statusErr[2]) |
| | | { |
| | | loading = true; |
| | | } |
| | |
| | | staProtocol.setInEnable(status1[2]); // 可入 |
| | | staProtocol.setOutEnable(status1[2]);// 可出 |
| | | staProtocol.setErr(status1[6]); |
| | | // staProtocol.setInEnable(status1[1]); // 可入 |
| | | // staProtocol.setOutEnable(status1[3]);// 可出 |
| | | // staProtocol.setEmptyMk(status[4]); // 空板信号 |
| | | // staProtocol.setFullPlt(status[5]); // 满托盘 |
| | | // staProtocol.setHigh(status[6]); // 高库位 |
| | | // staProtocol.setLow(status[7]); // 低库位 |
| | | |
| | | staProtocol.setPassTimeOut(statusErr[0]); |
| | | staProtocol.setObjectNoIdError(statusErr[1]); |
| | | staProtocol.setIdNoObjectError(statusErr[2]); |
| | | staProtocol.setLmfrError(statusErr[3]); |
| | | staProtocol.setLiftError(statusErr[4]); |
| | | staProtocol.setDlfrError(statusErr[5]); |
| | | staProtocol.setDmfrError(statusErr[6]); |
| | | staProtocol.setVfdError(statusErr[7]); |
| | | staProtocol.setSrvError(statusErr[8]); |
| | | staProtocol.setRes1(statusErr[9]); |
| | | staProtocol.setRes2(statusErr[10]); |
| | | staProtocol.setRes3(statusErr[11]); |
| | | staProtocol.setCommunicationTimeOut(statusErr[12]); |
| | | staProtocol.setParameterIncompleteError(statusErr[13]); |
| | | staProtocol.setDataNotClear(statusErr[14]); |
| | | staProtocol.setSetParameterError(statusErr[15]); |
| | | staProtocol.setRes4(statusErr[16]); |
| | | staProtocol.setRes5(statusErr[17]); |
| | | staProtocol.setDataError(statusErr[18]); |
| | | |
| | | if( (staProtocol.getPassTimeOut() || |
| | | staProtocol.getObjectNoIdError() || |
| | | staProtocol.getIdNoObjectError() || |
| | | staProtocol.getLmfrError() || |
| | | staProtocol.getLiftError() || |
| | | staProtocol.getDlfrError() || |
| | | staProtocol.getDmfrError() || |
| | | staProtocol.getVfdError() || |
| | | staProtocol.getSrvError() || |
| | | staProtocol.getRes1() || |
| | | staProtocol.getRes2() || |
| | | staProtocol.getRes3() || |
| | | staProtocol.getCommunicationTimeOut() || |
| | | staProtocol.getParameterIncompleteError() || |
| | | staProtocol.getDataNotClear() || |
| | | staProtocol.getSetParameterError() || |
| | | staProtocol.getDataError()) && staProtocol.isWriteMk() |
| | | ){ |
| | | staProtocol.setErrorMk(true);//若存在异常触发写入 |
| | | } |
| | | |
| | | if( !staProtocol.getPassTimeOut() && |
| | | !staProtocol.getObjectNoIdError() && |
| | | !staProtocol.getIdNoObjectError() && |
| | | !staProtocol.getLmfrError() && |
| | | !staProtocol.getLiftError() && |
| | | !staProtocol.getDlfrError() && |
| | | !staProtocol.getDmfrError() && |
| | | !staProtocol.getVfdError() && |
| | | !staProtocol.getSrvError() && |
| | | !staProtocol.getRes1() && |
| | | !staProtocol.getRes2() && |
| | | !staProtocol.getRes3() && |
| | | !staProtocol.getCommunicationTimeOut() && |
| | | !staProtocol.getParameterIncompleteError() && |
| | | !staProtocol.getDataNotClear() && |
| | | !staProtocol.getSetParameterError() && |
| | | !staProtocol.getDataError() |
| | | ){ |
| | | staProtocol.setWriteMk(true);//无异常后才能继续写入 |
| | | staProtocol.setErrorMk(false);//若存在异常触发写入 |
| | | |
| | | } |
| | | |
| | | |
| | | if (!staProtocol.isPakMk() && (!staProtocol.isLoading() || staProtocol.getWorkNo()==0)) { |
| | | staProtocol.setPakMk(true); |
| | |
| | | for (Integer siteId : staNos) { |
| | | StaProtocol staProtocol = station.get(siteId); |
| | | basDevps.add(staProtocol.toSqlModel()); |
| | | } |
| | | if(staProtocol.isWriteMk() && staProtocol.isErrorMk()){ |
| | | try { |
| | | // 日志记录异常情况 |
| | | BasDevpErrorLog basDevpErrorLogs = new BasDevpErrorLog(); |
| | | basDevpErrorLogs = staProtocol.toSqlModelError(); |
| | | BasDevpErrorLogService basDevpErrorLogService = SpringUtils.getBean(BasDevpErrorLogService.class); |
| | | basDevpErrorLogService.insert(basDevpErrorLogs); |
| | | staProtocol.setWriteMk(false); |
| | | } catch (Exception ignore) { |
| | | log.error(ignore.getMessage()); |
| | | } |
| | | } |
| | | |
| | | } |
| | | BasDevpService basDevpService = SpringUtils.getBean(BasDevpService.class); |
| | | |
| | | if (null != basDevpService && !basDevpService.updateBatchById(basDevps)) { |
| | | throw new Exception("更新数据库数据失败"); |
| | | } |
| | | |
| | | |
| | | } catch (Exception e) { |
| | | initSite(); |
| | | e.printStackTrace(); |