| | |
| | | && staProtocol.isInEnable() |
| | | && !staProtocol.isEmptyMk() |
| | | && staProtocol.getWorkNo() == 9999 |
| | | && staProtocol.isPakMk() && (staProtocol.getEmptyInType() != 1 && staProtocol.getEmptyInType() != 2)) { |
| | | && staProtocol.isPakMk() |
| | | // && (staProtocol.getEmptyInType() != 1 && staProtocol.getEmptyInType() != 2) |
| | | ) { |
| | | News.warnNoLog("" + mark + " - 0" + " - 开始执行"); |
| | | |
| | | String barcode = barcodeThread.getBarcode(); |
| | |
| | | continue; |
| | | } |
| | | |
| | | if (inSta.getStaNo() == 1002 || inSta.getStaNo() == 1007) { |
| | | //检测是否有出库任务 |
| | | List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() |
| | | .in("io_type", 101, 103, 107) |
| | | .in("sta_no", 1003, 1004) |
| | | ); |
| | | if (!wrkMasts.isEmpty()) { |
| | | News.error("" + mark + " - 4" + " - 入库,检测存在出库任务,等待出库任务执行完成,托盘码={}", barcode); |
| | | continue; |
| | | } |
| | | } |
| | | // if (inSta.getStaNo() == 1002 || inSta.getStaNo() == 1007) { |
| | | // //检测是否有出库任务 |
| | | // List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() |
| | | // .in("io_type", 101, 103, 107) |
| | | // .in("sta_no", 1003, 1004) |
| | | // ); |
| | | // if (!wrkMasts.isEmpty()) { |
| | | // News.error("" + mark + " - 4" + " - 入库,检测存在出库任务,等待出库任务执行完成,托盘码={}", barcode); |
| | | // continue; |
| | | // } |
| | | // } |
| | | |
| | | try { |
| | | LocTypeDto locTypeDto = new LocTypeDto(staProtocol); |
| | |
| | | |
| | | short staNo = dto.getStaNo().shortValue(); |
| | | |
| | | int sourceStaNo = dto.getSourceStaNo(); |
| | | if (sourceStaNo == 1007) { |
| | | staNo = 2002; |
| | | } |
| | | |
| | | if (inSta.getStaNo() == 1002) { |
| | | staNo = 2002; |
| | | } |
| | | // int sourceStaNo = dto.getSourceStaNo(); |
| | | // if (sourceStaNo == 1007) { |
| | | // staNo = 2002; |
| | | // } |
| | | // |
| | | // if (inSta.getStaNo() == 1002) { |
| | | // staNo = 2002; |
| | | // } |
| | | |
| | | barcodeThread.setBarcode(""); |
| | | staProtocol.setWorkNo(dto.getWorkNo().shortValue()); |
| | |
| | | continue; |
| | | } |
| | | |
| | | if (crnProtocol.getCrnNo() == 1) { |
| | | //判断堆垛机和当前任务是否处于一个巷道 |
| | | if (Utils.getLaneByLocNo(wrkMast.getLocNo()) != crnProtocol.getCrnLane()) { |
| | | //判断堆垛机所在巷道是否存在其他任务,如存在则优先执行 |
| | | List<WrkMast> currentWrkMasts = wrkMastService.selectLaneWrkMast(crnProtocol.getCrnLane(), false); |
| | | // if (!currentWrkMasts.isEmpty()) { |
| | | // continue;//当前堆垛机所在巷道存在任务 |
| | | // if (crnProtocol.getCrnNo() == 1) { |
| | | // //判断堆垛机和当前任务是否处于一个巷道 |
| | | // if (Utils.getLaneByLocNo(wrkMast.getLocNo()) != crnProtocol.getCrnLane()) { |
| | | // //判断堆垛机所在巷道是否存在其他任务,如存在则优先执行 |
| | | // List<WrkMast> currentWrkMasts = wrkMastService.selectLaneWrkMast(crnProtocol.getCrnLane(), false); |
| | | //// if (!currentWrkMasts.isEmpty()) { |
| | | //// continue;//当前堆垛机所在巷道存在任务 |
| | | //// } |
| | | // } |
| | | } |
| | | } |
| | | // } |
| | | |
| | | // 双深库位且浅库位有货,则需先对浅库位进行库位移转 |
| | | if (Utils.isDeepLoc(slaveProperties, wrkMast.getLocNo())) { |
| | |
| | | public synchronized void locToCrnStn(CrnSlave slave, CrnProtocol crnProtocol, Integer mark) { |
| | | News.warnNoLog("" + mark + " - 2" + " - 0" + " - 堆垛机入出库作业下发:执行出库"); |
| | | |
| | | int devpTaskStackOver = 20; |
| | | Config config = configService.selectOne(new EntityWrapper<Config>() |
| | | .eq("code", "devpTaskStackOver")); |
| | | if (config != null) { |
| | | devpTaskStackOver = Integer.parseInt(config.getValue()); |
| | | } |
| | | int devpCheckTaskStackOver = 2; |
| | | Config config2 = configService.selectOne(new EntityWrapper<Config>() |
| | | .eq("code", "devpCheckTaskStackOver")); |
| | | if (config2 != null) { |
| | | devpCheckTaskStackOver = Integer.parseInt(config2.getValue()); |
| | | } |
| | | |
| | | int outNumber = 13; |
| | | Config config3 = configService.selectOne(new EntityWrapper<Config>() |
| | | .eq("code", "fullBoardOutboundNumber")); |
| | | if (config3 != null) { |
| | | outNumber = Integer.parseInt(config3.getValue()); |
| | | } |
| | | |
| | | |
| | | Integer devpWorkingCount = commonService.queryDevpWorkingCount(); |
| | | if (devpWorkingCount > devpTaskStackOver) { |
| | | News.warn("" + mark + " - 2" + " - 0" + " - 输送线任务过载,当前输送线承载数量:{}", devpWorkingCount); |
| | | return; |
| | | } |
| | | // int devpTaskStackOver = 20; |
| | | // Config config = configService.selectOne(new EntityWrapper<Config>() |
| | | // .eq("code", "devpTaskStackOver")); |
| | | // if (config != null) { |
| | | // devpTaskStackOver = Integer.parseInt(config.getValue()); |
| | | // } |
| | | // int devpCheckTaskStackOver = 2; |
| | | // Config config2 = configService.selectOne(new EntityWrapper<Config>() |
| | | // .eq("code", "devpCheckTaskStackOver")); |
| | | // if (config2 != null) { |
| | | // devpCheckTaskStackOver = Integer.parseInt(config2.getValue()); |
| | | // } |
| | | // |
| | | // int outNumber = 13; |
| | | // Config config3 = configService.selectOne(new EntityWrapper<Config>() |
| | | // .eq("code", "fullBoardOutboundNumber")); |
| | | // if (config3 != null) { |
| | | // outNumber = Integer.parseInt(config3.getValue()); |
| | | // } |
| | | // |
| | | // |
| | | // Integer devpWorkingCount = commonService.queryDevpWorkingCount(); |
| | | // if (devpWorkingCount > devpTaskStackOver) { |
| | | // News.warn("" + mark + " - 2" + " - 0" + " - 输送线任务过载,当前输送线承载数量:{}", devpWorkingCount); |
| | | // return; |
| | | // } |
| | | |
| | | for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) { |
| | | // 获取工作状态为11(生成出库ID)的出库工作档 |
| | |
| | | staProtocol = staProtocol.clone(); |
| | | } |
| | | |
| | | if (wrkMast.getStaNo() == 1003 || wrkMast.getStaNo() == 1007 || wrkMast.getStaNo() == 1004) { |
| | | //检测是否有入库任务 |
| | | List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() |
| | | .in("io_type", 1, 53, 57) |
| | | .notIn("wrk_sts", 3, 4, 5) |
| | | .in("source_sta_no", 1002, 1007) |
| | | ); |
| | | if (!inWrkMasts.isEmpty()) { |
| | | News.error("" + mark + " - 2" + " - 检测存在入库任务,等待入库任务执行完成再出库,工作号={}" + wrkMast.getWrkNo()); |
| | | continue; |
| | | } |
| | | } |
| | | // if (wrkMast.getStaNo() == 1003 || wrkMast.getStaNo() == 1007 || wrkMast.getStaNo() == 1004) { |
| | | // //检测是否有入库任务 |
| | | // List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() |
| | | // .in("io_type", 1, 53, 57) |
| | | // .notIn("wrk_sts", 3, 4, 5) |
| | | // .in("source_sta_no", 1002, 1007) |
| | | // ); |
| | | // if (!inWrkMasts.isEmpty()) { |
| | | // News.error("" + mark + " - 2" + " - 检测存在入库任务,等待入库任务执行完成再出库,工作号={}" + wrkMast.getWrkNo()); |
| | | // continue; |
| | | // } |
| | | // } |
| | | |
| | | //zhangc |
| | | if (wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107) { |
| | | if (wrkMast.getStaNo() == 1058) { |
| | | List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() |
| | | .in("wrk_sts", 12, 14) |
| | | .eq("sta_no", 1058) |
| | | ); |
| | | if (!Cools.isEmpty(inWrkMasts) && inWrkMasts.size() >= devpCheckTaskStackOver) { |
| | | News.error("" + mark + " - 2" + " - 检测存在1058站点,存在两笔工作中的任务,工作号={}" + wrkMast.getWrkNo()); |
| | | continue; |
| | | } |
| | | } else if (wrkMast.getStaNo() == 1062) { |
| | | List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() |
| | | .in("wrk_sts", 12, 14) |
| | | .eq("sta_no", 1062) |
| | | ); |
| | | if (!Cools.isEmpty(inWrkMasts) && inWrkMasts.size() >= devpCheckTaskStackOver) { |
| | | News.error("" + mark + " - 2" + " - 检测存在1062站点,存在两笔工作中的任务,工作号={}" + wrkMast.getWrkNo()); |
| | | continue; |
| | | } |
| | | } |
| | | }else if (wrkMast.getIoType() == 101) { |
| | | List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() |
| | | .in("wrk_sts", 12, 14) |
| | | ); |
| | | if (!Cools.isEmpty(inWrkMasts) && inWrkMasts.size() >= outNumber) { |
| | | News.error("" + mark + " - 4" + " - 检测到全板出库的任务已经到达上线,工作号={}" + wrkMast.getWrkNo()); |
| | | continue; |
| | | } |
| | | } |
| | | // if (wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107) { |
| | | // if (wrkMast.getStaNo() == 1058) { |
| | | // List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() |
| | | // .in("wrk_sts", 12, 14) |
| | | // .eq("sta_no", 1058) |
| | | // ); |
| | | // if (!Cools.isEmpty(inWrkMasts) && inWrkMasts.size() >= devpCheckTaskStackOver) { |
| | | // News.error("" + mark + " - 2" + " - 检测存在1058站点,存在两笔工作中的任务,工作号={}" + wrkMast.getWrkNo()); |
| | | // continue; |
| | | // } |
| | | // } else if (wrkMast.getStaNo() == 1062) { |
| | | // List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() |
| | | // .in("wrk_sts", 12, 14) |
| | | // .eq("sta_no", 1062) |
| | | // ); |
| | | // if (!Cools.isEmpty(inWrkMasts) && inWrkMasts.size() >= devpCheckTaskStackOver) { |
| | | // News.error("" + mark + " - 2" + " - 检测存在1062站点,存在两笔工作中的任务,工作号={}" + wrkMast.getWrkNo()); |
| | | // continue; |
| | | // } |
| | | // } |
| | | // }else if (wrkMast.getIoType() == 101) { |
| | | // List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() |
| | | // .in("wrk_sts", 12, 14) |
| | | // ); |
| | | // if (!Cools.isEmpty(inWrkMasts) && inWrkMasts.size() >= outNumber) { |
| | | // News.error("" + mark + " - 4" + " - 检测到全板出库的任务已经到达上线,工作号={}" + wrkMast.getWrkNo()); |
| | | // continue; |
| | | // } |
| | | // } |
| | | |
| | | // // 入出库模式判断 |
| | | // if (devpThread.ioMode != IoModeType.PAKOUT_MODE) { continue; } |
| | |
| | | if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")) { |
| | | |
| | | //根据参数判断是否校验可出信号 |
| | | String crnOutVerifyOut = "Y"; |
| | | Config crnOutVerifyOutEnableConfig = configService.selectOne(new EntityWrapper<Config>() |
| | | .eq("code", "crnOutVerifyOutEnable")); |
| | | if (crnOutVerifyOutEnableConfig != null) { |
| | | crnOutVerifyOut = crnOutVerifyOutEnableConfig.getValue(); |
| | | } |
| | | |
| | | if (crnOutVerifyOut.equals("Y")) { |
| | | if (!staProtocol.isOutEnable()) { |
| | | continue; |
| | | } |
| | | |
| | | if (staProtocol.getWorkNo() > 0) { |
| | | continue; |
| | | } |
| | | } |
| | | // String crnOutVerifyOut = "Y"; |
| | | // Config crnOutVerifyOutEnableConfig = configService.selectOne(new EntityWrapper<Config>() |
| | | // .eq("code", "crnOutVerifyOutEnable")); |
| | | // if (crnOutVerifyOutEnableConfig != null) { |
| | | // crnOutVerifyOut = crnOutVerifyOutEnableConfig.getValue(); |
| | | // } |
| | | // |
| | | // if (crnOutVerifyOut.equals("Y")) { |
| | | // if (!staProtocol.isOutEnable()) { |
| | | // continue; |
| | | // } |
| | | // |
| | | // if (staProtocol.getWorkNo() > 0) { |
| | | // continue; |
| | | // } |
| | | // } |
| | | |
| | | |
| | | // 命令下发区 -------------------------------------------------------------------------- |
| | |
| | | break; |
| | | } |
| | | |
| | | if (crnProtocol.getCrnNo() == 1) { |
| | | String turnCrnExecuteCurrentChannel = "Y"; |
| | | Config turnCrnExecuteCurrentChannelConfig = configService.selectOne(new EntityWrapper<Config>() |
| | | .eq("code", "turnCrnExecuteCurrentChannel") |
| | | ); |
| | | if (turnCrnExecuteCurrentChannelConfig != null) { |
| | | turnCrnExecuteCurrentChannel = turnCrnExecuteCurrentChannelConfig.getValue(); |
| | | } |
| | | |
| | | if (turnCrnExecuteCurrentChannel.equals("Y")) { |
| | | //判断堆垛机和当前任务是否处于一个巷道 |
| | | if (Utils.getLaneByLocNo(wrkMast.getSourceLocNo()) != crnProtocol.getCrnLane()) { |
| | | //判断堆垛机所在巷道是否存在其他任务,如存在则优先执行 |
| | | List<WrkMast> currentWrkMasts = wrkMastService.selectLaneWrkMast(crnProtocol.getCrnLane(), false); |
| | | if (!currentWrkMasts.isEmpty()) { |
| | | continue;//当前堆垛机所在巷道存在任务 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // if (crnProtocol.getCrnNo() == 1) { |
| | | // String turnCrnExecuteCurrentChannel = "Y"; |
| | | // Config turnCrnExecuteCurrentChannelConfig = configService.selectOne(new EntityWrapper<Config>() |
| | | // .eq("code", "turnCrnExecuteCurrentChannel") |
| | | // ); |
| | | // if (turnCrnExecuteCurrentChannelConfig != null) { |
| | | // turnCrnExecuteCurrentChannel = turnCrnExecuteCurrentChannelConfig.getValue(); |
| | | // } |
| | | // |
| | | // if (turnCrnExecuteCurrentChannel.equals("Y")) { |
| | | // //判断堆垛机和当前任务是否处于一个巷道 |
| | | // if (Utils.getLaneByLocNo(wrkMast.getSourceLocNo()) != crnProtocol.getCrnLane()) { |
| | | // //判断堆垛机所在巷道是否存在其他任务,如存在则优先执行 |
| | | // List<WrkMast> currentWrkMasts = wrkMastService.selectLaneWrkMast(crnProtocol.getCrnLane(), false); |
| | | // if (!currentWrkMasts.isEmpty()) { |
| | | // continue;//当前堆垛机所在巷道存在任务 |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | // 双深库位且浅库位有货,则需先对浅库位进行库位移转 |
| | | if (Utils.isDeepLoc(slaveProperties, wrkMast.getSourceLocNo())) { |
| | |
| | | mainService.generateStoreWrkFile0(2); // WMS入库 |
| | | Thread.sleep(500); |
| | | // 拣料、并板、盘点再入库 |
| | | mainService.stnToCrnStnPick(3); |
| | | // mainService.stnToCrnStnPick(3); |
| | | // 拣料、并板、盘点再入库-条码 |
| | | mainService.stnToCrnStnPickBarcode(33); |
| | | // 出库 ===>> 堆垛机出库站到出库站 |
| | |
| | | // 空托盘入库-立库 ===>> 空栈板初始化入库,叉车入库站放货 |
| | | mainService.storeEmptyPlt(8); |
| | | // 空托盘入库-产线 |
| | | mainService.storeEmptyPltLine(13); |
| | | // mainService.storeEmptyPltLine(13); |
| | | |
| | | // 出库 ===>> 工作档信息写入led显示器 |
| | | mainService.ledExecute(9); |
| | |
| | | mainService.ledReset(10); |
| | | |
| | | // RGV ===>> 执行对RGV操作 |
| | | mainService.rgvExecute(11); |
| | | // mainService.rgvExecute(11); |
| | | // RGV ===>> 执行对RGV工作档的完成操作 |
| | | mainService.rgvFinished(12); |
| | | // mainService.rgvFinished(12); |
| | | // RGV ===>> 执行对RGV工作档的完成操作 站到站 |
| | | mainService.rgvFinished2(14); |
| | | // mainService.rgvFinished2(14); |
| | | |
| | | //堆垛机无任务两分钟,回入库口待机 |
| | | mainService.crnMove(); |
| | |
| | | private Long deviceDataLogTime = System.currentTimeMillis(); |
| | | |
| | | public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{ |
| | | add(1008);add(1009);add(1010);add(1011);add(1012);add(1013);add(1014);add(1015); |
| | | add(1016);add(1017);add(1018);add(1019);add(1020);add(1021);add(1022);add(1023); |
| | | add(1024);add(1025);add(1026);add(1027);add(1028);add(1029);add(1030);add(1031); |
| | | 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(1049);add(1050);add(1051);add(1052);add(1053);add(1054);add(1055); |
| | | add(1056);add(1057);add(1058);add(1059);add(1060);add(1061);add(1062);add(1063); |
| | | add(1064);add(1065);add(1066);add(1067);add(1068);add(1069);add(1070);add(1071); |
| | | add(1072);add(1073);add(1074);add(1075);add(1076);add(1077);add(1078);add(1079); |
| | | add(1080);add(1081);add(1082);add(1083);add(1084);add(1085);add(1086);add(1087); |
| | | add(1088);add(1089);add(1090);add(2003); |
| | | add(401);add(402); |
| | | }}; |
| | | |
| | | public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{ |
| | | add(2000);add(2001);add(2002);add(1001);add(1002);add(1003);add(1004);add(1005);add(1006);add(1007); |
| | | // add(2000);add(2001);add(2002);add(1001);add(1002);add(1003);add(1004);add(1005);add(1006);add(1007); |
| | | }}; |
| | | |
| | | |
| | |
| | | }}; |
| | | |
| | | public static final ArrayList<Integer> barcode2 = new ArrayList<Integer>() {{ |
| | | add(3); |
| | | add(4); |
| | | // add(3); |
| | | // add(4); |
| | | }}; |
| | | |
| | | /** |
| | |
| | | # 空板入库口1 |
| | | emptyInSta[1]: |
| | | staNo: 402 |
| | | barcode: ${wcs-slave.barcode[0].id} |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 402 |
| | | led: ${wcs-slave.led[0].id} |
| | | led: ${wcs-slave.led[1].id} |
| | | # 拣料入库口1 |
| | | pickSta[0]: |
| | | staNo: 401 |
| | |
| | | # 拣料入库口1 |
| | | pickSta[1]: |
| | | staNo: 402 |
| | | barcode: ${wcs-slave.barcode[0].id} |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 402 |
| | | led: ${wcs-slave.led[0].id} |
| | | led: ${wcs-slave.led[1].id} |
| | | # 出库口1 |
| | | outSta[0]: |
| | | staNo: 401 |
| | |
| | | mapInfo = {"mapName":"WCS","rackCount":16,"crnCount":4,"stbCount":16,"hpPosition":1,"minBayNo":2,"floors":1,"racks":[ |
| | | // {"type":"rack","id":"rack23","top":558,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31}, |
| | | // {"type":"rack","id":"rack26","top":631,"left":642,"width":667,"height":18,"minBayNo":2,"maxBayNo":31}, |
| | | // {"type":"rack","id":"rack25","top":612,"left":642,"width":667,"height":18,"minBayNo":2,"maxBayNo":31}, |
| | | // {"type":"rack","id":"rack24","top":577,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31}, |
| | | // {"type":"rack","id":"rack19","top":469,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31}, |
| | | // {"type":"rack","id":"rack22","top":539,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31}, |
| | | // {"type":"rack","id":"rack21","top":519,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31}, |
| | | // {"type":"rack","id":"rack20","top":488,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31}, |
| | | // {"type":"rack","id":"rack4","top":122,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":61}, |
| | | // {"type":"rack","id":"rack5","top":141,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":61}, |
| | | // {"type":"rack","id":"rack111","top":49,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":61}, |
| | | // {"type":"rack","id":"rack15","top":376,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31}, |
| | | // {"type":"rack","id":"rack18","top":449,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31}, |
| | | // {"type":"rack","id":"rack17","top":430,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31}, |
| | | // {"type":"rack","id":"rack16","top":396,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31}, |
| | | // {"type":"rack","id":"rack11","top":287,"left":400,"width":1100,"height":18,"minBayNo":2,"maxBayNo":24}, |
| | | // {"type":"rack","id":"rack14","top":357,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31}, |
| | | {"type":"rack","id":"rack13","top":341,"left":400,"width":1100,"height":20,"minBayNo":2,"maxBayNo":30}, |
| | | {"type":"rack","id":"rack12","top":302,"left":400,"width":1100,"height":20,"minBayNo":2,"maxBayNo":30}, |
| | | // {"type":"rack","id":"rack7","top":193,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31}, |
| | | // {"type":"rack","id":"rack10","top":268,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31}, |
| | | // {"type":"rack","id":"rack9","top":249,"left":641,"width":1100,"height":20,"minBayNo":2,"maxBayNo":28}, |
| | | // {"type":"rack","id":"rack8","top":212,"left":641,"width":1100,"height":20,"minBayNo":2,"maxBayNo":28}, |
| | | // {"type":"rack","id":"rack2","top":83,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":61}, |
| | | // {"type":"rack","id":"rack3","top":103,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":61}, |
| | | // {"type":"rack","id":"rack6","top":174,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31} |
| | | ], |
| | | "crns":[ |
| | | // {"type":"track","id":"lb_track8","text":"","top":76,"left":1327,"width":1,"height":93}, |
| | | // {"type":"track","id":"lb_track7","text":"","top":75,"left":596,"width":733,"height":1}, |
| | | // {"type":"track","id":"lb_track1","text":"","top":604,"left":593,"width":733,"height":1}, |
| | | // {"type":"track","id":"lb_track2","text":"","top":513,"left":595,"width":733,"height":1}, |
| | | // {"type":"crane","id":"crn-5","text":"5","top":507,"left":731,"width":67,"height":13}, |
| | | // {"type":"crane","id":"crn-6","text":"6","top":597,"left":731,"width":67,"height":13}, |
| | | // {"type":"crane","id":"crn-1","text":"1","top":162,"left":730,"width":67,"height":13}, |
| | | // {"type":"track","id":"lb_track3","text":"","top":424,"left":593,"width":733,"height":1}, |
| | | // {"type":"crane","id":"crn-2","text":"2","top":234,"left":741,"width":67,"height":13}, |
| | | {"type":"track","id":"lb_track4","text":"","top":333,"left":400,"width":1100,"height":1}, |
| | | {"type":"crane","id":"crn-3","text":"3","top":325,"left":1450,"width":67,"height":13}, |
| | | // {"type":"track","id":"lb_track5","text":"","top":241,"left":595,"width":733,"height":1}, |
| | | // {"type":"track","id":"lb_track6","text":"","top":168,"left":596,"width":733,"height":1}, |
| | | // {"type":"crane","id":"crn-4","text":"4","top":417,"left":730,"width":67,"height":13} |
| | | {"type":"crane","id":"crn-1","text":"1","top":325,"left":1450,"width":67,"height":13}, |
| | | ], |
| | | "areas":[{"type":"Control_floor","id":"tabControl_floor1","text":"楼层","top":41,"left":80,"width":1269,"height":781,"floors":[ |
| | | {"type":"floor","id":"page_floor1","text":"1F","top":4,"left":22,"width":1243,"height":773,"stns": |
| | | [ |
| | | // {"type":"stn","id":"site-1064","text":"1064","top":720,"left":769,"width":59,"height":20}, |
| | | // {"type":"stn","id":"site-2003","text":"2003","top":456,"left":309,"width":37,"height":20}, |
| | | // {"type":"stn","id":"site-2002","text":"2002","top":455,"left":221,"width":37,"height":20}, |
| | | // {"type":"stn","id":"site-1004","text":"1004","top":334,"left":296,"width":37,"height":20}, |
| | | // {"type":"stn","id":"site-1002","text":"1002","top":291,"left":296,"width":37,"height":20}, |
| | | // {"type":"stn","id":"site-1006","text":"1006","top":312,"left":296,"width":37,"height":20}, |
| | | // {"type":"stn","id":"site-1007","text":"1007","top":312,"left":258,"width":37,"height":20}, |
| | | // {"type":"stn","id":"site-1003","text":"1003","top":312,"left":220,"width":37,"height":20}, |
| | | // {"type":"stn","id":"site-1075","text":"1075","top":723,"left":406,"width":71,"height":20}, |
| | | // {"type":"stn","id":"site-1076","text":"1076","top":701,"left":406,"width":71,"height":20}, |
| | | // {"type":"stn","id":"site-1077","text":"1077","top":679,"left":406,"width":71,"height":20}, |
| | | // {"type":"stn","id":"site-1078","text":"1078","top":657,"left":406,"width":71,"height":20}, |
| | | // {"type":"stn","id":"site-1079","text":"1079","top":598,"left":406,"width":71,"height":57}, |
| | | // {"type":"stn","id":"site-1047","text":"1047","top":578,"left":405,"width":93,"height":17}, |
| | | // {"type":"stn","id":"site-1081","text":"1081","top":417,"left":405,"width":71,"height":158}, |
| | | // {"type":"stn","id":"site-1034","text":"1034","top":398,"left":405,"width":95,"height":17}, |
| | | // {"type":"stn","id":"site-1083","text":"1083","top":320,"left":405,"width":71,"height":75}, |
| | | // {"type":"stn","id":"site-1084","text":"1084","top":198,"left":405,"width":71,"height":121}, |
| | | // {"type":"stn","id":"site-1059","text":"1059","top":700,"left":480,"width":161,"height":20}, |
| | | // {"type":"stn","id":"site-1018","text":"1018","top":178,"left":405,"width":95,"height":17}, |
| | | // {"type":"stn","id":"site-1086","text":"1086","top":146,"left":406,"width":71,"height":30}, |
| | | // {"type":"stn","id":"site-1087","text":"1087","top":125,"left":406,"width":71,"height":19}, |
| | | // {"type":"stn","id":"site-1088","text":"1088","top":105,"left":406,"width":71,"height":19}, |
| | | // {"type":"stn","id":"site-1074","text":"1074","top":678,"left":1141,"width":59,"height":20}, |
| | | // {"type":"stn","id":"site-1073","text":"1073","top":657,"left":1141,"width":59,"height":20}, |
| | | // {"type":"stn","id":"site-1071","text":"1071","top":678,"left":1017,"width":59,"height":20}, |
| | | // {"type":"stn","id":"site-1072","text":"1072","top":657,"left":1079,"width":59,"height":20}, |
| | | // {"type":"stn","id":"site-1070","text":"1070","top":657,"left":1017,"width":59,"height":20}, |
| | | // {"type":"stn","id":"site-1069","text":"1069","top":657,"left":955,"width":59,"height":20}, |
| | | // {"type":"stn","id":"site-1068","text":"1068","top":678,"left":893,"width":59,"height":20}, |
| | | // {"type":"stn","id":"site-1067","text":"1067","top":657,"left":893,"width":59,"height":20}, |
| | | // {"type":"stn","id":"site-1066","text":"1066","top":657,"left":831,"width":59,"height":20}, |
| | | // {"type":"stn","id":"site-1065","text":"1065","top":700,"left":707,"width":59,"height":20}, |
| | | // {"type":"stn","id":"site-1063","text":"1063","top":700,"left":769,"width":59,"height":20}, |
| | | // {"type":"stn","id":"site-1062","text":"1062","top":678,"left":769,"width":59,"height":20}, |
| | | // {"type":"stn","id":"site-1061","text":"1061","top":657,"left":769,"width":59,"height":20}, |
| | | // {"type":"stn","id":"site-1058","text":"1058","top":721,"left":645,"width":59,"height":20}, |
| | | // {"type":"stn","id":"site-1057","text":"1057","top":700,"left":645,"width":59,"height":20}, |
| | | // {"type":"stn","id":"site-1056","text":"1056","top":678,"left":645,"width":59,"height":20}, |
| | | // {"type":"stn","id":"site-1060","text":"1060","top":657,"left":707,"width":59,"height":20}, |
| | | // {"type":"stn","id":"site-1055","text":"1055","top":657,"left":645,"width":59,"height":20}, |
| | | // {"type":"stn","id":"site-1054","text":"1054","top":657,"left":574,"width":67,"height":20}, |
| | | // {"type":"stn","id":"site-1053","text":"1053","top":657,"left":479,"width":91,"height":20}, |
| | | // {"type":"stn","id":"site-1052","text":"1052","top":614,"left":573,"width":67,"height":17}, |
| | | // {"type":"stn","id":"site-1051","text":"1051","top":597,"left":502,"width":67,"height":58}, |
| | | // {"type":"stn","id":"site-1049","text":"1049","top":577,"left":571,"width":67,"height":17}, |
| | | // {"type":"stn","id":"site-1048","text":"1048","top":578,"left":501,"width":67,"height":17}, |
| | | // {"type":"stn","id":"site-1045","text":"1045","top":523,"left":571,"width":67,"height":17}, |
| | | // {"type":"stn","id":"site-1044","text":"1044","top":506,"left":501,"width":67,"height":69}, |
| | | // {"type":"stn","id":"site-1042","text":"1042","top":488,"left":571,"width":67,"height":17}, |
| | | // {"type":"stn","id":"site-1041","text":"1041","top":466,"left":501,"width":67,"height":39}, |
| | | // {"type":"stn","id":"site-1039","text":"1039","top":433,"left":571,"width":67,"height":17}, |
| | | // {"type":"stn","id":"site-1038","text":"1038","top":418,"left":501,"width":67,"height":45}, |
| | | // {"type":"stn","id":"site-1036","text":"1036","top":397,"left":571,"width":67,"height":17}, |
| | | // {"type":"stn","id":"site-1035","text":"1035","top":398,"left":501,"width":67,"height":17}, |
| | | // {"type":"stn","id":"site-304","text":"304","top":344,"left":1500,"width":67,"height":17}, |
| | | // {"type":"stn","id":"site-305","text":"305","top":344,"left":1570,"width":67,"height":17}, |
| | | // {"type":"stn","id":"site-306","text":"306","top":344,"left":1640,"width":67,"height":17}, |
| | | // {"type":"stn","id":"site-1029","text":"1029","top":308,"left":571,"width":67,"height":17}, |
| | | {"type":"stn","id":"site-401","text":"401","top":287,"left":1433,"width":67,"height":17}, |
| | | // {"type":"stn","id":"site-1026","text":"1026","top":250,"left":571,"width":67,"height":17}, |
| | | {"type":"stn","id":"site-402","text":"402","top":287,"left":400,"width":67,"height":17}, |
| | | // {"type":"stn","id":"site-303","text":"303","top":306,"left":1640,"width":67,"height":17}, |
| | | // {"type":"stn","id":"site-307","text":"307","top":370,"left":1200,"width":67,"height":17}, |
| | | // {"type":"stn","id":"site-106","text":"106","top":252,"left":571,"width":67,"height":17}, |
| | | // {"type":"stn","id":"site-105","text":"105","top":243,"left":501,"width":67,"height":25}, |
| | | // {"type":"stn","id":"site-1020","text":"1020","top":177,"left":571,"width":67,"height":17}, |
| | | // {"type":"stn","id":"site-1019","text":"1019","top":178,"left":502,"width":67,"height":17}, |
| | | // {"type":"stn","id":"site-1016","text":"1016","top":142,"left":571,"width":67,"height":17}, |
| | | // {"type":"stn","id":"site-1015","text":"1015","top":129,"left":502,"width":67,"height":46}, |
| | | // {"type":"stn","id":"site-1012","text":"1012","top":105,"left":502,"width":67,"height":23}, |
| | | // {"type":"stn","id":"site-1008","text":"1008","top":82,"left":337,"width":67,"height":21}, |
| | | // {"type":"stn","id":"site-1009","text":"1009","top":82,"left":406,"width":95,"height":21}, |
| | | // {"type":"stn","id":"site-1010","text":"1010","top":82,"left":502,"width":67,"height":21}, |
| | | // {"type":"stn","id":"site-1013","text":"1013","top":105,"left":571,"width":67,"height":17} |
| | | ]}]}]} |