| | |
| | | } |
| | | |
| | | public LocTypeDto(StaProtocol staProtocol) { |
| | | // if (staProtocol.isHigh() == staProtocol.isLow()) { |
| | | // throw new CoolException("plc高低检测异常"); |
| | | // } |
| | | if (staProtocol.getSiteId() == 106 || staProtocol.getSiteId() == 159){ |
| | | this.locType1 = 2; // 高库位 |
| | | }else { |
| | | this.locType1 = 1; // 低库位 |
| | | if (staProtocol.locType.id.shortValue()!=1 && staProtocol.locType.id.shortValue()!=2 && staProtocol.locType.id.shortValue()!=3) { |
| | | throw new CoolException("plc高低检测异常"); |
| | | } |
| | | this.locType1 = staProtocol.locType.id.shortValue(); |
| | | } |
| | | |
| | | /** |
| | |
| | | |
| | | // 复位信号 |
| | | if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusType().equals(CrnStatusType.WAITING)) { |
| | | News.error("---第一步、[堆垛机号:{}, 工作号:{}, 载货台信号:{}]==>> 状态为10,等待确认!!", |
| | | slave.getId(),crnProtocol.getTaskNo(), crnProtocol.getLoaded()==1 ? "有物" : "无物"); |
| | | // News.error("---第一步、[堆垛机号:{}, 工作号:{}, 载货台信号:{}]==>> 状态为10,等待确认!!", |
| | | // slave.getId(),crnProtocol.getTaskNo(), crnProtocol.getLoaded()==1 ? "有物" : "无物"); |
| | | if (resetFlag) { |
| | | if(crnProtocol.getTaskNo()==9999){ |
| | | backHpFlag = false; |
| | |
| | | crnCommand.setAckFinish((short)1); |
| | | if (write(crnCommand)) { |
| | | resetFlag = false; |
| | | News.error("---第二步、[堆垛机号:{}, 工作号:{}]==>> 复位resetFlag标记成功{}!!", |
| | | slave.getId(), wrkNo, resetFlag); |
| | | // News.error("---第二步、[堆垛机号:{}, 工作号:{}]==>> 复位resetFlag标记成功{}!!", |
| | | // slave.getId(), wrkNo, resetFlag); |
| | | } |
| | | } |
| | | } |
| | |
| | | add(1000); add(1001); add(1002); add(1003); add(1004); add(1005); add(1006); add(1007); 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(2000); add(2001); add(2002); add(2003); add(2004);add(2005); add(2006); add(2007); |
| | | // add(200);add(201);add(202); |
| | | }}; |
| | | public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{ |
| | | add(1400); |
| | | add(1040);add(1041);add(1042);add(1043);add(1044);add(1045);add(1046);add(1047); |
| | | add(2010);add(2011);add(2012);add(2013);add(2014);add(2015);add(2016);add(2017); |
| | | add(3010);add(3011);add(3012);add(3013);add(3014);add(3015);add(3016);add(3017); |
| | | |
| | | // add(200);add(201);add(202); |
| | | }}; |
| | |
| | | // 写数据 ID+目标站 |
| | | case 2: |
| | | writeD((StaProtocol)task.getData(),1); |
| | | log.error("输送线下发命令:"+((StaProtocol) task.getData()).getWorkNo()+","+((StaProtocol) task.getData()).getStaNo()); |
| | | // log.error("输送线下发命令:"+((StaProtocol) task.getData()).getWorkNo()+","+((StaProtocol) task.getData()).getStaNo()); |
| | | break; |
| | | default: |
| | | break; |
| | |
| | | } |
| | | |
| | | private void writeD(StaProtocol staProtocol,Integer count)throws InterruptedException{ |
| | | |
| | | boolean reset = true; |
| | | if (null == staProtocol) { |
| | | return; |
| | | } |
| | | staProtocol = staProtocol.clone(); |
| | | Integer oriWrkNo = staProtocol.getWorkNo(); |
| | | short oriStaNo = staProtocol.getStaNo(); |
| | | ArrayList<Integer> staNos = getStaNo(); |
| | | int index = staNos.indexOf(staProtocol.getSiteId()); |
| | | |
| | | |
| | | if(writeWrk(staProtocol,1)){ |
| | | |
| | | int whileCount = 0; |
| | | OperateResult write3 = siemensS7Net.Write("DB100." + (index*66+6), (short) 1); |
| | | if (write3.IsSuccess){ |
| | | News.info("输送线命令下发[id:"+slave.getId()+"] >>>>>"+"["+1+"]"); |
| | | Thread.sleep(100); |
| | | do { |
| | | OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB100."+(index*66 +6), (short) 2); |
| | | short mk = siemensS7Net.getByteTransform().TransInt16(result2.Content, 0); |
| | | if (mk == 2){ |
| | | OperateResult write5 = siemensS7Net.Write("DB100." + index*66, 0); // 工作号 |
| | | Thread.sleep(100); |
| | | OperateResult write6 = siemensS7Net.Write("DB100." + (index*66+4), (short) 0); // 目标站 |
| | | Thread.sleep(100); |
| | | OperateResult write4 = siemensS7Net.Write("DB100." + (index*66+6), (short) 0); |
| | | reset = false; |
| | | if (write4.IsSuccess && write5.IsSuccess && write6.IsSuccess){ |
| | | News.info("输送线命令下发[id:"+slave.getId()+"] >>>>>"+"["+"0,0,0"+"]"); |
| | | OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB100."+(index*66), (short) 8); |
| | | Integer wrkNo1 = siemensS7Net.getByteTransform().TransInt32(result1.Content, 0); |
| | | short staNo1 = siemensS7Net.getByteTransform().TransInt16(result1.Content, 4); |
| | | short mk1 = siemensS7Net.getByteTransform().TransInt16(result1.Content, 6); |
| | | if (wrkNo1 != 0 || staNo1 !=0 || mk1 !=0){ |
| | | whileCount++; |
| | | News.info("复位失败,输送线命令下发[id:"+slave.getId()+"] >>>>>"+"["+"0,0,0"+"]"); |
| | | }else { |
| | | News.info("输送线复位完成"); |
| | | break; |
| | | } |
| | | |
| | | } |
| | | }else if (reset && mk == 0 ){ |
| | | OperateResult write7 = siemensS7Net.Write("DB100." + (index*66+6), (short) 1); |
| | | News.info("回读1失败,输送线命令下发[id:"+slave.getId()+"] >>>>>"+"["+"1"+"]"); |
| | | Thread.sleep(100); |
| | | whileCount++; |
| | | }else { |
| | | whileCount++; |
| | | } |
| | | }while (whileCount <10); |
| | | } |
| | | }else { |
| | | log.error("输送命令下发失败"+JSON.toJSONString(staProtocol)); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | private boolean writeWrk(StaProtocol staProtocol,Integer count)throws InterruptedException { |
| | | |
| | | if (null == staProtocol) { |
| | | return false; |
| | | } |
| | | Integer oriWrkNo = staProtocol.getWorkNo(); |
| | | short oriStaNo = staProtocol.getStaNo(); |
| | | |
| | | ArrayList<Integer> staNos = getStaNo(); |
| | | int index = staNos.indexOf(staProtocol.getSiteId()); |
| | | |
| | | OperateResult write1 = siemensS7Net.Write("DB100." + index*66, staProtocol.getWorkNo()); // 工作号 |
| | | Thread.sleep(100); |
| | | OperateResult write2 = siemensS7Net.Write("DB100." + (index*66+4), staProtocol.getStaNo()); // 目标站 |
| | | if(write1.IsSuccess && write2.IsSuccess){ |
| | | OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100."+(index*66), (short) 6); |
| | | Integer wrkNo = siemensS7Net.getByteTransform().TransInt32(result.Content, 0); |
| | | short staNo = siemensS7Net.getByteTransform().TransInt16(result.Content, 4); |
| | | if (!oriWrkNo.equals(wrkNo) || oriStaNo != staNo){ |
| | | if (count >= 5){ |
| | | log.error("写入输送线命令失败。输送线plc编号={},站点数据={},写入次数={}", slave.getId(), JSON.toJSON(staProtocol), count); |
| | | return; |
| | | } |
| | | count++; |
| | | writeD(staProtocol,count); |
| | | } |
| | | int whileCount = 0; |
| | | OperateResult write3 = siemensS7Net.Write("DB100." + (index*66+6), (short) 1); |
| | | if (write3.IsSuccess){ |
| | | Thread.sleep(200); |
| | | do { |
| | | OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB100."+(index*66 +6), (short) 2); |
| | | short mk = siemensS7Net.getByteTransform().TransInt16(result2.Content, 0); |
| | | if (mk == 2){ |
| | | OperateResult write5 = siemensS7Net.Write("DB100." + index*66, 0); // 工作号 |
| | | OperateResult write6 = siemensS7Net.Write("DB100." + (index*66+4), (short) 0); // 目标站 |
| | | OperateResult write4 = siemensS7Net.Write("DB100." + (index*66+6), (short) 0); |
| | | if (write4.IsSuccess){ |
| | | OutputQueue.DEVP.offer(MessageFormat.format("【{0}】 输送线命令下发 [id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(staProtocol))); |
| | | News.info("SiemensDevp"+" - 5"+" - 输送线命令下发 [id:{}] >>>>> 命令下发: {}", slave.getId(), JSON.toJSON(staProtocol)); |
| | | break; |
| | | } |
| | | }else { |
| | | whileCount++; |
| | | do { |
| | | log.info("输送递归次数:" + count); |
| | | OperateResult write1 = siemensS7Net.Write("DB100." + index * 66, staProtocol.getWorkNo()); // 工作号 |
| | | Thread.sleep(100); |
| | | OperateResult write2 = siemensS7Net.Write("DB100." + (index * 66 + 4), staProtocol.getStaNo()); // 目标站 |
| | | if (write1.IsSuccess && write2.IsSuccess) { |
| | | News.info("输送线命令下发[id:" + slave.getId() + "] >>>>>" + "[" + staProtocol.getWorkNo() + "," + staProtocol.getStaNo() + "]"); |
| | | OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100." + (index * 66), (short) 6); |
| | | Integer wrkNo = siemensS7Net.getByteTransform().TransInt32(result.Content, 0); |
| | | short staNo = siemensS7Net.getByteTransform().TransInt16(result.Content, 4); |
| | | if (!oriWrkNo.equals(wrkNo) || oriStaNo != staNo) { |
| | | if (count >= 5) { |
| | | log.error("写入输送线命令失败。输送线plc编号={},站点数据={},写入次数={}", slave.getId(), JSON.toJSON(staProtocol), count); |
| | | return false; |
| | | } |
| | | }while (whileCount <5); |
| | | count++; |
| | | }else { |
| | | return true; |
| | | } |
| | | } |
| | | } |
| | | }while (count <=5); |
| | | |
| | | |
| | | |
| | | return true; |
| | | } |
| | | |
| | | // 更新入出库模式 |
| | |
| | | row: 2 |
| | | bay: 47 |
| | | lev: 1 |
| | | # 堆垛机入库站点 |
| | | crnInStn[1]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 2003 |
| | | row: 3 |
| | | bay: 47 |
| | | lev: 2 |
| | | |
| | | # 堆垛机出库站点 |
| | | crnOutStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | |
| | | row: 3 |
| | | bay: 47 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[1]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 2003 |
| | | row: 3 |
| | | bay: 47 |
| | | lev: 2 |
| | | crnInStn[2]: |
| | | devpPlcId: ${wcs-slave.devp[1].id} |
| | | staNo: 1043 |
| | | row: 3 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[2]: |
| | | devpPlcId: ${wcs-slave.devp[1].id} |
| | | staNo: 1043 |
| | | row: 3 |
| | | bay: 1 |
| | | lev: 1 |
| | | crnInStn[3]: |
| | | devpPlcId: ${wcs-slave.devp[1].id} |
| | | staNo: 2013 |
| | | row: 3 |
| | | bay: 1 |
| | | lev: 2 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[3]: |
| | | devpPlcId: ${wcs-slave.devp[1].id} |
| | | staNo: 2013 |
| | | row: 3 |
| | | bay: 1 |
| | | lev: 2 |
| | | crnInStn[4]: |
| | | devpPlcId: ${wcs-slave.devp[1].id} |
| | | staNo: 3013 |
| | | row: 3 |
| | | bay: 1 |
| | | lev: 3 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[4]: |
| | | devpPlcId: ${wcs-slave.devp[1].id} |
| | | staNo: 3013 |
| | | row: 3 |
| | | bay: 1 |
| | | lev: 3 |
| | | # 堆垛机2 |
| | | crn[1]: |
| | | id: 2 |
| | |
| | | row: 6 |
| | | bay: 47 |
| | | lev: 1 |
| | | # 堆垛机入库站点 |
| | | crnInStn[1]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 2004 |
| | | row: 6 |
| | | bay: 47 |
| | | lev: 2 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[1]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 2004 |
| | | row: 6 |
| | | bay: 47 |
| | | lev: 2 |
| | | # 堆垛机入库站点 |
| | | crnInStn[2]: |
| | | devpPlcId: ${wcs-slave.devp[1].id} |
| | | staNo: 1044 |
| | | row: 6 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[2]: |
| | | devpPlcId: ${wcs-slave.devp[1].id} |
| | | staNo: 1044 |
| | | row: 6 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机入库站点 |
| | | crnInStn[3]: |
| | | devpPlcId: ${wcs-slave.devp[1].id} |
| | | staNo: 2014 |
| | | row: 6 |
| | | bay: 1 |
| | | lev: 2 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[3]: |
| | | devpPlcId: ${wcs-slave.devp[1].id} |
| | | staNo: 2014 |
| | | row: 6 |
| | | bay: 1 |
| | | lev: 2 |
| | | # 堆垛机入库站点 |
| | | crnInStn[4]: |
| | | devpPlcId: ${wcs-slave.devp[1].id} |
| | | staNo: 3014 |
| | | row: 6 |
| | | bay: 1 |
| | | lev: 3 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[4]: |
| | | devpPlcId: ${wcs-slave.devp[1].id} |
| | | staNo: 3014 |
| | | row: 6 |
| | | bay: 1 |
| | | lev: 3 |
| | | |
| | | # 输送线1 |
| | | devp[0]: |
| | |
| | | staNo: 1001 |
| | | backSta: 1000 |
| | | led: ${wcs-slave.led[1].id} |
| | | inSta[1]: |
| | | staNo: 2001 |
| | | backSta: 2000 |
| | | led: ${wcs-slave.led[1].id} |
| | | # 空板入库口1 |
| | | emptyInSta[0]: |
| | | staNo: 1001 |
| | |
| | | emptyInSta[1]: |
| | | staNo: 1025 |
| | | backSta: 1000 |
| | | led: ${wcs-slave.led[1].id} |
| | | |
| | | # 空板入库口1 |
| | | emptyInSta[2]: |
| | | staNo: 2001 |
| | | backSta: 200 |
| | | led: ${wcs-slave.led[1].id} |
| | | # 出库口1 |
| | | outSta[0]: |
| | |
| | | slot: 0 |
| | | # 入库口1 |
| | | inSta[0]: |
| | | staNo: 106 |
| | | backSta: 105 |
| | | staNo: 1041 |
| | | backSta: 1040 |
| | | led: ${wcs-slave.led[1].id} |
| | | # 入库口1 |
| | | inSta[1]: |
| | | staNo: 2011 |
| | | backSta: 2010 |
| | | led: ${wcs-slave.led[1].id} |
| | | # 入库口1 |
| | | inSta[2]: |
| | | staNo: 3011 |
| | | backSta: 3010 |
| | | led: ${wcs-slave.led[1].id} |
| | | # 空板入库口1 |
| | | emptyInSta[0]: |
| | | staNo: 106 |
| | | backSta: 105 |
| | | staNo: 1041 |
| | | backSta: 1040 |
| | | led: ${wcs-slave.led[1].id} |
| | | # 空板入库口1 |
| | | emptyInSta[1]: |
| | | staNo: 2011 |
| | | backSta: 2010 |
| | | led: ${wcs-slave.led[1].id} |
| | | # 空板入库口1 |
| | | emptyInSta[2]: |
| | | staNo: 3011 |
| | | backSta: 3010 |
| | | led: ${wcs-slave.led[1].id} |
| | | # 拣料入库口1 |
| | | pickSta[0]: |
| | | staNo: 159 |
| | | staNo: 1041 |
| | | led: ${wcs-slave.led[5].id} |
| | | backSta: 160 |
| | | backSta: 1040 |
| | | # 拣料入库口1 |
| | | pickSta[1]: |
| | | staNo: 2011 |
| | | led: ${wcs-slave.led[5].id} |
| | | backSta: 2010 |
| | | # 拣料入库口1 |
| | | pickSta[2]: |
| | | staNo: 3011 |
| | | led: ${wcs-slave.led[5].id} |
| | | backSta: 3010 |
| | | # 出库口1 |
| | | outSta[0]: |
| | | staNo: 100 |
| | | staNo: 1040 |
| | | led: ${wcs-slave.led[0].id} |
| | | outSta[1]: |
| | | staNo: 152 |
| | | staNo: 1042 |
| | | led: ${wcs-slave.led[3].id} |
| | | outSta[2]: |
| | | staNo: 156 |
| | | led: ${wcs-slave.led[4].id} |
| | | staNo: 2010 |
| | | led: ${wcs-slave.led[3].id} |
| | | outSta[3]: |
| | | staNo: 2012 |
| | | led: ${wcs-slave.led[3].id} |
| | | outSta[4]: |
| | | staNo: 3010 |
| | | led: ${wcs-slave.led[3].id} |
| | | outSta[5]: |
| | | staNo: 3012 |
| | | led: ${wcs-slave.led[3].id} |
| | | |
| | | # LED1 |
| | | led[0]: |
| | |
| | | .floorBtn { |
| | | position: absolute; |
| | | border-radius: 5px; |
| | | left: 1750px; |
| | | left: 10px; |
| | | width: 90px; |
| | | height: 40px; |
| | | color: #ffffff; |
| | |
| | | let floor = areas[i].text |
| | | let barcodes = areas[i].barcode |
| | | floorId = areas[i].id |
| | | var position = (i+1)*100 |
| | | var position = (i+1)*100 +400 |
| | | floorBtn = |
| | | "<button class='floorBtn btn-16' onclick='changFloor("+i+")' style='top: "+position+"px;'>" + floor +"</button>" |
| | | "<button class='floorBtn btn-16' onclick='changFloor("+i+")' style='top: "+10+"px;left: "+position+"px;'>" + floor +"</button>" |
| | | if (mapInfo.areas[0].floors.length == 1) { |
| | | floorBtnss = '' |
| | | } else { |
| | |
| | | "text": "#16", |
| | | "top": 167, |
| | | "left": 1810, |
| | | "width": 30, |
| | | "height": 23 |
| | | "width": 0, |
| | | "height": 0 |
| | | }, { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc2", |
| | | "text": "#1", |
| | | "top": 596, |
| | | "left": 1810, |
| | | "width": 30, |
| | | "height": 23 |
| | | "width": 0, |
| | | "height": 0 |
| | | }], |
| | | "crns": [{ |
| | | "type": "track", |
| | |
| | | "height": 20 |
| | | } |
| | | ] |
| | | },{ |
| | | "type": "floor", |
| | | "id": "page_floor2", |
| | | "text": "2F", |
| | | "top": 4, |
| | | "left": 22, |
| | | "width": 1819, |
| | | "height": 668, |
| | | "stns":[ |
| | | { |
| | | "type": "stn", |
| | | "id": "site-2004", |
| | | "text": "2004", |
| | | "top": 300, |
| | | "left": 1510, |
| | | "width": 80, |
| | | "height": 19 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-2006", |
| | | "text": "2006", |
| | | "top": 300, |
| | | "left": 1592, |
| | | "width": 80, |
| | | "height": 19 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-2003", |
| | | "text": "2003", |
| | | "top": 239, |
| | | "left": 1510, |
| | | "width": 80, |
| | | "height": 19 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-2005", |
| | | "text": "2005", |
| | | "top": 239, |
| | | "left": 1592, |
| | | "width": 80, |
| | | "height": 19 |
| | | },{ |
| | | "type": "track", |
| | | "id": "lb_track9", |
| | | "text": "", |
| | | "top": 180, |
| | | "left": 1680, |
| | | "width": 2, |
| | | "height": 500 |
| | | } |
| | | ,{ |
| | | "type": "track", |
| | | "id": "lb_track10", |
| | | "text": "", |
| | | "top": 180, |
| | | "left": 1720, |
| | | "width": 2, |
| | | "height": 500 |
| | | } |
| | | ,{ |
| | | "type": "stn", |
| | | "id": "site-2001", |
| | | "text": "2001", |
| | | "top": 239, |
| | | "left": 1756, |
| | | "width": 80, |
| | | "height": 19 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-2000", |
| | | "text": "2000", |
| | | "top": 239, |
| | | "left": 1838, |
| | | "width": 80, |
| | | "height": 19 |
| | | } |
| | | ,{ |
| | | "type": "stn", |
| | | "id": "site-2007", |
| | | "text": "2007", |
| | | "top": 300, |
| | | "left": 1674, |
| | | "width": 80, |
| | | "height": 19 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-2002", |
| | | "text": "2002", |
| | | "top": 350, |
| | | "left": 1756, |
| | | "width": 80, |
| | | "height": 19 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-2015", |
| | | "text": "2015", |
| | | "top": 239, |
| | | "left": 365, |
| | | "width": 80, |
| | | "height": 19 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-2013", |
| | | "text": "2013", |
| | | "top": 239, |
| | | "left": 448, |
| | | "width": 80, |
| | | "height": 19 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-2016", |
| | | "text": "2016", |
| | | "top": 352, |
| | | "left": 365, |
| | | "width": 80, |
| | | "height": 19 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-2014", |
| | | "text": "2014", |
| | | "top": 352, |
| | | "left": 448, |
| | | "width": 80, |
| | | "height": 19 |
| | | },{ |
| | | "type": "track", |
| | | "id": "lb_track6", |
| | | "text": "", |
| | | "top": 180, |
| | | "left": 350, |
| | | "width": 2, |
| | | "height": 500 |
| | | },{ |
| | | "type": "track", |
| | | "id": "lb_track7", |
| | | "text": "", |
| | | "top": 180, |
| | | "left": 320, |
| | | "width": 2, |
| | | "height": 500 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-2017", |
| | | "text": "2017", |
| | | "top": 352, |
| | | "left": 282, |
| | | "width": 80, |
| | | "height": 19 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-2010", |
| | | "text": "2010", |
| | | "top": 239, |
| | | "left": 118, |
| | | "width": 80, |
| | | "height": 19 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-2011", |
| | | "text": "2011", |
| | | "top": 239, |
| | | "left": 200, |
| | | "width": 80, |
| | | "height": 19 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-2012", |
| | | "text": "2012", |
| | | "top": 400, |
| | | "left": 200, |
| | | "width": 80, |
| | | "height": 19 |
| | | } |
| | | ], |
| | | "barcode":[ |
| | | { |
| | | "type": "barcode", |
| | | "id": "barcode-1", |
| | | "text": "", |
| | | "top": 749, |
| | | "left": 470, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, |
| | | |
| | | ] |
| | | },{ |
| | | "type": "floor", |
| | | "id": "page_floor3", |
| | | "text": "3F", |
| | | "top": 4, |
| | | "left": 22, |
| | | "width": 1819, |
| | | "height": 668, |
| | | "stns":[ |
| | | { |
| | | "type": "stn", |
| | | "id": "site-3015", |
| | | "text": "3015", |
| | | "top": 239, |
| | | "left": 365, |
| | | "width": 80, |
| | | "height": 19 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-3013", |
| | | "text": "3013", |
| | | "top": 239, |
| | | "left": 448, |
| | | "width": 80, |
| | | "height": 19 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-3016", |
| | | "text": "3016", |
| | | "top": 352, |
| | | "left": 365, |
| | | "width": 80, |
| | | "height": 19 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-3014", |
| | | "text": "3014", |
| | | "top": 352, |
| | | "left": 448, |
| | | "width": 80, |
| | | "height": 19 |
| | | },{ |
| | | "type": "track", |
| | | "id": "lb_track6", |
| | | "text": "", |
| | | "top": 180, |
| | | "left": 350, |
| | | "width": 2, |
| | | "height": 500 |
| | | },{ |
| | | "type": "track", |
| | | "id": "lb_track7", |
| | | "text": "", |
| | | "top": 180, |
| | | "left": 320, |
| | | "width": 2, |
| | | "height": 500 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-3017", |
| | | "text": "3017", |
| | | "top": 352, |
| | | "left": 282, |
| | | "width": 80, |
| | | "height": 19 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-3010", |
| | | "text": "3010", |
| | | "top": 239, |
| | | "left": 118, |
| | | "width": 80, |
| | | "height": 19 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-3011", |
| | | "text": "3011", |
| | | "top": 239, |
| | | "left": 200, |
| | | "width": 80, |
| | | "height": 19 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-3012", |
| | | "text": "3012", |
| | | "top": 400, |
| | | "left": 200, |
| | | "width": 80, |
| | | "height": 19 |
| | | } |
| | | ], |
| | | "barcode":[ |
| | | { |
| | | "type": "barcode", |
| | | "id": "barcode-1", |
| | | "text": "", |
| | | "top": 749, |
| | | "left": 470, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, |
| | | |
| | | ] |
| | | }] |
| | | }] |
| | | } |