Merge remote-tracking branch 'origin/hylywcs' into hylywcs
| | |
| | | } |
| | | // 命令下发 ------------------------------------------------------------------------------- |
| | | if (!commands.isEmpty()) { |
| | | if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(1, commands))) { |
| | | log.error("{}号LED命令下发失败!!![ip:{}] [port:{}]", led.getId(), led.getIp(), led.getPort()); |
| | | continue; |
| | | if (led.getId() == 7) { |
| | | if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, commands))) { |
| | | log.error("{}号LED命令下发失败!!![ip:{}] [port:{}]", led.getId(), led.getIp(), led.getPort()); |
| | | continue; |
| | | } else { |
| | | ledThread.setLedMk(false); |
| | | } |
| | | } else { |
| | | ledThread.setLedMk(false); |
| | | if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(1, commands))) { |
| | | log.error("{}号LED命令下发失败!!![ip:{}] [port:{}]", led.getId(), led.getIp(), led.getPort()); |
| | | continue; |
| | | } else { |
| | | ledThread.setLedMk(false); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | try { |
| | |
| | | LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getId()); |
| | | // led显示默认内容 |
| | | if (reset && !ledThread.isLedMk()) { |
| | | ledThread.setLedMk(true); |
| | | if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(2, new ArrayList<>()))) { |
| | | log.error("{}号LED命令下发失败!!![ip:{}] [port:{}]", led.getId(), led.getIp(), led.getPort()); |
| | | } else { |
| | | if (led.getId() == 7) { |
| | | ledThread.setLedMk(true); |
| | | if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(4, new ArrayList<>()))) { |
| | | log.error("{}号LED命令下发失败!!![ip:{}] [port:{}]", led.getId(), led.getIp(), led.getPort()); |
| | | } else { |
| | | |
| | | } |
| | | } else { |
| | | ledThread.setLedMk(true); |
| | | if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(2, new ArrayList<>()))) { |
| | | log.error("{}号LED命令下发失败!!![ip:{}] [port:{}]", led.getId(), led.getIp(), led.getPort()); |
| | | } else { |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | devpThread.ioModeOf2F = IoModeType.PAKIN_MODE; |
| | | } |
| | | break; |
| | | case 401://1F |
| | | if (pakout != null) { |
| | | if (devpThread.ioModeOf4F != IoModeType.PAKOUT_MODE) { |
| | | // 出库切换中 |
| | | devpThread.ioModeOf4F = IoModeType.PAKOUT_BOOTING; |
| | | WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo()); |
| | | if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading() |
| | | && !devpThread.getStation().get(inSta.getStaNo()+1).isLoading() |
| | | && devpThread.getStation().get(inSta.getStaNo()+1).getWorkNo()==0) { |
| | | // 出库模式 |
| | | devpThread.ioModeOf4F = IoModeType.PAKOUT_MODE; |
| | | } |
| | | } |
| | | } else { |
| | | // 入库模式 |
| | | devpThread.ioModeOf4F = IoModeType.PAKIN_MODE; |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | |
| | |
| | | private boolean ledMk = false; |
| | | private boolean resetStatus = false; // 复位状态 |
| | | |
| | | // 显示器 |
| | | private StringBuffer stringBuffer = new StringBuffer(); |
| | | private List<LedCommand> commandList; |
| | | |
| | | private StringBuffer errorMsg = new StringBuffer(); |
| | | |
| | | public LedThread(Slave slave) { |
| | | this.slave = slave; |
| | | try { |
| | |
| | | // 复位 |
| | | case 2: |
| | | reset(); |
| | | break; |
| | | // 写数据 液晶 |
| | | case 3: |
| | | write7((List<LedCommand>)task.getData()); |
| | | break; |
| | | // 复位 液晶 |
| | | case 4: |
| | | reset7(); |
| | | break; |
| | | case 5: |
| | | error((String) task.getData()); |
| | | break; |
| | | case 6: |
| | | errorReset(); |
| | | break; |
| | | default: |
| | | break; |
| | |
| | | } |
| | | close(); |
| | | } |
| | | private void write7(List<LedCommand> list) { |
| | | commandList = list; |
| | | |
| | | StringBuilder sb = new StringBuilder(); |
| | | for (LedCommand command : list) { |
| | | sb.append(command.getTitle()).append("(").append(command.getWorkNo()).append(")").append("\n"); |
| | | sb.append("源库位:").append(command.getSourceLocNo()).append("\n"); |
| | | sb.append("目标站:").append(command.getStaNo()).append("\n"); |
| | | if (!command.isEmptyMk()) { |
| | | for (MatDto matDto : command.getMatDtos()) { |
| | | sb.append("物料编码:").append(matDto.getMatNo()).append("\n"); |
| | | sb.append("数量:").append(matDto.getCount()).append("\n"); |
| | | } |
| | | } |
| | | sb.append("\n"); |
| | | } |
| | | stringBuffer.delete(0, stringBuffer.length()); |
| | | stringBuffer.append(sb.toString()); |
| | | |
| | | errorReset(); |
| | | } |
| | | |
| | | |
| | | private void reset7() { |
| | | commandList = null; |
| | | |
| | | stringBuffer.delete(0, stringBuffer.length()); |
| | | } |
| | | |
| | | |
| | | private void error(String msg) { |
| | | errorMsg.delete(0, errorMsg.length()); |
| | | errorMsg.append(msg); |
| | | } |
| | | |
| | | public void errorReset() { |
| | | this.errorMsg.delete(0, errorMsg.length()); |
| | | } |
| | | |
| | | @Override |
| | | public boolean connect() { |
| | |
| | | public static final ArrayList<Integer> staNos = new ArrayList<Integer>() {{ |
| | | add(101);add(102);add(103);add(104); |
| | | add(201);add(202);add(203);add(204); |
| | | add(301);add(302);add(303);add(304);add(305);add(306); |
| | | add(301);add(302);add(303);add(304);add(305);add(306);add(401);add(402); |
| | | }}; |
| | | |
| | | /** |
| | |
| | | */ |
| | | public IoModeType ioModeOf2F = IoModeType.NONE; |
| | | // public IoModeType ioMode = IoModeType.NONE; |
| | | public IoModeType ioModeOf4F = IoModeType.NONE; |
| | | // public IoModeType ioMode = IoModeType.NONE; |
| | | |
| | | public SiemensDevpThread(DevpSlave slave) { |
| | | this.slave = slave; |
| | |
| | | name: @pom.build.finalName@ |
| | | datasource: |
| | | driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver |
| | | url: jdbc:sqlserver://10.10.10.210:1433;databasename=hylyasrs |
| | | url: jdbc:sqlserver://localhost:1433;databasename=hylyasrs |
| | | username: sa |
| | | password: sa@123 |
| | | mvc: |
| | |
| | | row: 10 |
| | | bay: 1 |
| | | lev: 1 |
| | | |
| | | # 堆垛机4 |
| | | crn[3]: |
| | | id: 4 |
| | | ip: 10.10.10.121 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | # 偏移量,当堆垛机站点列号=1时,偏移量=2 |
| | | offset: 2 |
| | | demo: false |
| | | # 堆垛机入库站点 |
| | | crnInStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 401 |
| | | row: 14 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机入库站点 |
| | | crnInStn[1]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 401 |
| | | row: 14 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 401 |
| | | row: 14 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 输送线 |
| | | devp[0]: |
| | | id: 1 |
| | |
| | | inSta[2]: |
| | | staNo: 305 |
| | | barcode: ${wcs-slave.barcode[2].id} |
| | | # 入库口4 |
| | | inSta[3]: |
| | | staNo: 401 |
| | | barcode: ${wcs-slave.barcode[3].id} |
| | | # 空板入库口1 |
| | | emptyInSta[0]: |
| | | staNo: 103 |
| | |
| | | # 空板入库口3 |
| | | emptyInSta[2]: |
| | | staNo: 305 |
| | | # 空板入库口4 |
| | | emptyInSta[3]: |
| | | staNo: 401 |
| | | # 出库口1 |
| | | outSta[0]: |
| | | staNo: 102 |
| | |
| | | # 出库口3 |
| | | outSta[2]: |
| | | staNo: 303 |
| | | # 出库口4 |
| | | outSta[3]: |
| | | staNo: 402 |
| | | # 拣料入库口1 |
| | | pickSta[0]: |
| | | staNo: 102 |
| | |
| | | pickSta[2]: |
| | | staNo: 303 |
| | | barcode: ${wcs-slave.barcode[2].id} |
| | | # 拣料入库口4 |
| | | pickSta[3]: |
| | | staNo: 402 |
| | | barcode: ${wcs-slave.barcode[3].id} |
| | | # 条码扫描仪 |
| | | barcode[0]: |
| | | id: 1 |
| | |
| | | port: 51236 |
| | | barcode[2]: |
| | | id: 3 |
| | | ip: 10.10.10.52 |
| | | port: 51236 |
| | | barcode[3]: |
| | | id: 4 |
| | | ip: 10.10.10.52 |
| | | port: 51236 |
| | | # LED1 |
| | |
| | | ip: 10.10.10.206 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staArr: 305 |
| | | staArr: 305 |
| | | # LED7 |
| | | led[6]: |
| | | id: 7 |
| | | ip: 10.10.10.207 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staArr: 402 |
| | |
| | | .operator-item { |
| | | display: inline-block; |
| | | height: 100%; |
| | | width: 20%; |
| | | text-align: center; |
| | | position: relative; |
| | | vertical-align: middle; |
| | | padding: 0 20px; |
| | | padding: 10px 0px 10px 50px; |
| | | } |
| | | .operator-item .select-title { |
| | | display: inline-block; |
| | |
| | | z-index: 999; |
| | | } |
| | | .operator-item .select-container { |
| | | padding: 30px 0; |
| | | padding: 10px 0; |
| | | height: 100%; |
| | | border: 1px solid #8d8d8d; |
| | | border-radius: 5px; |
| | |
| | | } |
| | | .select-container-item { |
| | | display: inline-block; |
| | | padding: 0 10px; |
| | | margin: 0px auto; |
| | | padding: 0; |
| | | } |
| | | .select-container-item input { |
| | | height: 20px; |
| | |
| | | |
| | | /* 表格 */ |
| | | .plc-log-header { |
| | | height: 05%; |
| | | height: 15%; |
| | | } |
| | | .plc-log-body { |
| | | height: 95%; |
| | | height: 85%; |
| | | overflow: auto; |
| | | } |
| | | |
| | | /* 入出库模式 */ |
| | | .io-mode-oper { |
| | | height: 100%; |
| | | /*overflow: hidden;*/ |
| | | padding: 10px 20px; |
| | | } |
| | | .io-mode-oper fieldset { |
| | | padding: 15px 0 10px 0; |
| | | border-width: 1px; |
| | | border-style: solid; |
| | | height: 100%; |
| | | } |
| | | .io-mode-oper legend { |
| | | text-align: center; |
| | | padding: 0 10px; |
| | | font-size: 16px; |
| | | font-weight: 300; |
| | | } |
| | | |
| | | /* 站点表格 */ |
| | | #site-table { |
| | |
| | | bNum = bNum - minBayNo; |
| | | } |
| | | }else { |
| | | bNum = minBayNo |
| | | for (let j = 0; j < bLen; j++) { |
| | | |
| | | bay = "<button class='item' style='width: "+ bayWidth +"px'>" + bNum + "</button>" |
| | | bays = bays + bay |
| | | bNum = bNum + minBayNo; |
| | | if (minBayNo % 2 == 0) { |
| | | bNum = minBayNo |
| | | for (let j = 0; j < bLen; j++) { |
| | | bay = "<button class='item' style='width: "+ bayWidth +"px'>" + bNum + "</button>" |
| | | bays = bays + bay |
| | | bNum = bNum + minBayNo; |
| | | } |
| | | } else { |
| | | bNum = minBayNo + 1 |
| | | for (let j = 0; j < bLen; j++) { |
| | | bay = "<button class='item' style='width: "+ bayWidth +"px'>" + bNum + "</button>" |
| | | bays = bays + bay |
| | | bNum = bNum + minBayNo; |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | rack = "<div class='rack' id='" + rackss[i].id + |
| | |
| | | "hpPosition": 0, |
| | | "minBayNo": 2, |
| | | "floors": 1, |
| | | "racks": [{ |
| | | "type": "rack", |
| | | "id": "rack12", |
| | | "top": 484, |
| | | "left": 430, |
| | | "width": 1088, |
| | | "height": 24, |
| | | "minBayNo": 2, |
| | | "maxBayNo": 64 |
| | | }, { |
| | | "type": "rack", |
| | | "id": "rack11", |
| | | "top": 458, |
| | | "left": 430, |
| | | "width": 1088, |
| | | "height": 24, |
| | | "minBayNo": 2, |
| | | "maxBayNo": 64 |
| | | }, { |
| | | "type": "rack", |
| | | "id": "rack10", |
| | | "top": 399, |
| | | "left": 430, |
| | | "width": 1088, |
| | | "height": 24, |
| | | "minBayNo": 2, |
| | | "maxBayNo": 64 |
| | | }, { |
| | | "type": "rack", |
| | | "id": "rack9", |
| | | "top": 373, |
| | | "left": 430, |
| | | "width": 1088, |
| | | "height": 24, |
| | | "minBayNo": 2, |
| | | "maxBayNo": 64 |
| | | }, { |
| | | "type": "rack", |
| | | "id": "rack8", |
| | | "top": 344, |
| | | "left": 430, |
| | | "width": 1088, |
| | | "height": 24, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 16 |
| | | }, { |
| | | "type": "rack", |
| | | "id": "rack7", |
| | | "top": 318, |
| | | "left": 430, |
| | | "width": 1088, |
| | | "height": 24, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 16 |
| | | }, { |
| | | "type": "rack", |
| | | "id": "rack6", |
| | | "top": 263, |
| | | "left": 430, |
| | | "width": 1088, |
| | | "height": 24, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 16 |
| | | }, { |
| | | "type": "rack", |
| | | "id": "rack5", |
| | | "top": 237, |
| | | "left": 430, |
| | | "width": 1088, |
| | | "height": 24, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 16 |
| | | }, { |
| | | "type": "rack", |
| | | "id": "rack3", |
| | | "top": 180, |
| | | "left": 430, |
| | | "width": 1020, |
| | | "height": 24, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 30 |
| | | }, { |
| | | "type": "rack", |
| | | "id": "rack1", |
| | | "top": 97, |
| | | "left": 430, |
| | | "width": 1020, |
| | | "height": 24, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 30 |
| | | }, { |
| | | "type": "rack", |
| | | "id": "rack4", |
| | | "top": 207, |
| | | "left": 430, |
| | | "width": 1020, |
| | | "height": 24, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 30 |
| | | }, { |
| | | "type": "rack", |
| | | "id": "rack2", |
| | | "top": 123, |
| | | "left": 430, |
| | | "width": 1020, |
| | | "height": 24, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 30 |
| | | }], |
| | | "rackDescs": [{ |
| | | "type": "rackDescs", |
| | | "id": "lb_desc12", |
| | | "text": "#12", |
| | | "top": 485, |
| | | "left": 1530, |
| | | "width": 41, |
| | | "height": 23 |
| | | }, { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc11", |
| | | "text": "#11", |
| | | "top": 460, |
| | | "left": 1530, |
| | | "width": 38, |
| | | "height": 23 |
| | | }, { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc10", |
| | | "text": "#10", |
| | | "top": 399, |
| | | "left": 1530, |
| | | "width": 42, |
| | | "height": 23 |
| | | }, { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc9", |
| | | "text": "#9", |
| | | "top": 375, |
| | | "left": 1530, |
| | | "width": 33, |
| | | "height": 23 |
| | | }, { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc8", |
| | | "text": "#8", |
| | | "top": 349, |
| | | "left": 1530, |
| | | "width": 33, |
| | | "height": 23 |
| | | }, { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc7", |
| | | "text": "#7", |
| | | "top": 321, |
| | | "left": 1530, |
| | | "width": 32, |
| | | "height": 23 |
| | | }, { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc6", |
| | | "text": "#6", |
| | | "top": 264, |
| | | "left": 1530, |
| | | "width": 33, |
| | | "height": 23 |
| | | }, { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc5", |
| | | "text": "#5", |
| | | "top": 235, |
| | | "left": 1530, |
| | | "width": 32, |
| | | "height": 23 |
| | | }, { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc4", |
| | | "text": "#4", |
| | | "top": 206, |
| | | "left": 1460, |
| | | "width": 33, |
| | | "height": 23 |
| | | }, { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc3", |
| | | "text": "#3", |
| | | "top": 179, |
| | | "left": 1460, |
| | | "width": 32, |
| | | "height": 23 |
| | | }, { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc2", |
| | | "text": "#2", |
| | | "top": 123, |
| | | "left": 1460, |
| | | "width": 33, |
| | | "height": 23 |
| | | }, { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc1", |
| | | "text": "#1", |
| | | "top": 95, |
| | | "left": 1460, |
| | | "width": 30, |
| | | "height": 23 |
| | | }], |
| | | "crns": [{ |
| | | "type": "crane", |
| | | "id": "crn-1", |
| | | "text": "1", |
| | | "top": 153, |
| | | "left": 500, |
| | | "width": 93, |
| | | "height": 22 |
| | | }, { |
| | | "type": "crane", |
| | | "id": "crn-2", |
| | | "text": "2", |
| | | "top": 291, |
| | | "left": 500, |
| | | "width": 93, |
| | | "height": 22 |
| | | }, { |
| | | "type": "crane", |
| | | "id": "crn-3", |
| | | "text": "3", |
| | | "top": 428, |
| | | "left": 500, |
| | | "width": 93, |
| | | "height": 22 |
| | | }, { |
| | | "type": "track", |
| | | "id": "lb_track2", |
| | | "text": "", |
| | | "top": 300, |
| | | "left": 405, |
| | | "width": 1130, |
| | | "height": 2 |
| | | }, { |
| | | "type": "track", |
| | | "id": "lb_track3", |
| | | "text": "", |
| | | "top": 438, |
| | | "left": 405, |
| | | "width": 1130, |
| | | "height": 2 |
| | | }, { |
| | | "type": "track", |
| | | "id": "lb_track1", |
| | | "text": "", |
| | | "top": 164, |
| | | "left": 405, |
| | | "width": 1060, |
| | | "height": 2 |
| | | }], |
| | | "racks": [ |
| | | { |
| | | "type": "rack", |
| | | "id": "rack1", |
| | | "top": 97, |
| | | "left": 430, |
| | | "width": 1020, |
| | | "height": 24, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 30 |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack2", |
| | | "top": 123, |
| | | "left": 430, |
| | | "width": 1020, |
| | | "height": 24, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 30 |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack3", |
| | | "top": 180, |
| | | "left": 430, |
| | | "width": 1020, |
| | | "height": 24, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 30 |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack4", |
| | | "top": 207, |
| | | "left": 430, |
| | | "width": 1020, |
| | | "height": 24, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 30 |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack5", |
| | | "top": 237, |
| | | "left": 430, |
| | | "width": 1088, |
| | | "height": 24, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 16 |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack6", |
| | | "top": 263, |
| | | "left": 430, |
| | | "width": 1088, |
| | | "height": 24, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 16 |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack7", |
| | | "top": 318, |
| | | "left": 430, |
| | | "width": 1088, |
| | | "height": 24, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 16 |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack8", |
| | | "top": 344, |
| | | "left": 430, |
| | | "width": 1088, |
| | | "height": 24, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 16 |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack9", |
| | | "top": 373, |
| | | "left": 430, |
| | | "width": 1088, |
| | | "height": 24, |
| | | "minBayNo": 2, |
| | | "maxBayNo": 64 |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack10", |
| | | "top": 399, |
| | | "left": 430, |
| | | "width": 1088, |
| | | "height": 24, |
| | | "minBayNo": 2, |
| | | "maxBayNo": 64 |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack11", |
| | | "top": 458, |
| | | "left": 430, |
| | | "width": 1088, |
| | | "height": 24, |
| | | "minBayNo": 2, |
| | | "maxBayNo": 64 |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack12", |
| | | "top": 484, |
| | | "left": 430, |
| | | "width": 1088, |
| | | "height": 24, |
| | | "minBayNo": 2, |
| | | "maxBayNo": 64 |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack13", |
| | | "top": 512, |
| | | "left": 430, |
| | | "width": 1020, |
| | | "height": 24, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 23 |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack14", |
| | | "top": 538, |
| | | "left": 430, |
| | | "width": 1020, |
| | | "height": 24, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 23 |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack15", |
| | | "top": 610, |
| | | "left": 430, |
| | | "width": 1020, |
| | | "height": 24, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 23 |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack16", |
| | | "top": 636, |
| | | "left": 430, |
| | | "width": 1020, |
| | | "height": 24, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 23 |
| | | }, |
| | | ], |
| | | "rackDescs": [ |
| | | { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc1", |
| | | "text": "#1", |
| | | "top": 95, |
| | | "left": 1460, |
| | | "width": 30, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc2", |
| | | "text": "#2", |
| | | "top": 123, |
| | | "left": 1460, |
| | | "width": 33, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc3", |
| | | "text": "#3", |
| | | "top": 179, |
| | | "left": 1460, |
| | | "width": 32, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc4", |
| | | "text": "#4", |
| | | "top": 206, |
| | | "left": 1460, |
| | | "width": 33, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc5", |
| | | "text": "#5", |
| | | "top": 235, |
| | | "left": 1530, |
| | | "width": 32, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc6", |
| | | "text": "#6", |
| | | "top": 264, |
| | | "left": 1530, |
| | | "width": 33, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc7", |
| | | "text": "#7", |
| | | "top": 321, |
| | | "left": 1530, |
| | | "width": 32, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc8", |
| | | "text": "#8", |
| | | "top": 349, |
| | | "left": 1530, |
| | | "width": 33, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc9", |
| | | "text": "#9", |
| | | "top": 375, |
| | | "left": 1530, |
| | | "width": 33, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc10", |
| | | "text": "#10", |
| | | "top": 399, |
| | | "left": 1530, |
| | | "width": 42, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc11", |
| | | "text": "#11", |
| | | "top": 460, |
| | | "left": 1530, |
| | | "width": 38, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc12", |
| | | "text": "#12", |
| | | "top": 485, |
| | | "left": 1530, |
| | | "width": 41, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc13", |
| | | "text": "#13", |
| | | "top": 514, |
| | | "left": 1460, |
| | | "width": 41, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc14", |
| | | "text": "#14", |
| | | "top": 540, |
| | | "left": 1460, |
| | | "width": 41, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc15", |
| | | "text": "#15", |
| | | "top": 610, |
| | | "left": 1460, |
| | | "width": 41, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc16", |
| | | "text": "#16", |
| | | "top": 636, |
| | | "left": 1460, |
| | | "width": 41, |
| | | "height": 23 |
| | | }, |
| | | ], |
| | | "crns": [ |
| | | { |
| | | "type": "crane", |
| | | "id": "crn-1", |
| | | "text": "1", |
| | | "top": 153, |
| | | "left": 500, |
| | | "width": 93, |
| | | "height": 22 |
| | | }, |
| | | { |
| | | "type": "crane", |
| | | "id": "crn-2", |
| | | "text": "2", |
| | | "top": 291, |
| | | "left": 500, |
| | | "width": 93, |
| | | "height": 22 |
| | | }, |
| | | { |
| | | "type": "crane", |
| | | "id": "crn-3", |
| | | "text": "3", |
| | | "top": 428, |
| | | "left": 500, |
| | | "width": 93, |
| | | "height": 22 |
| | | }, |
| | | { |
| | | "type": "crane", |
| | | "id": "crn-4", |
| | | "text": "4", |
| | | "top": 574, |
| | | "left": 500, |
| | | "width": 93, |
| | | "height": 22 |
| | | }, |
| | | { |
| | | "type": "track", |
| | | "id": "lb_track1", |
| | | "text": "", |
| | | "top": 164, |
| | | "left": 405, |
| | | "width": 1060, |
| | | "height": 2 |
| | | }, |
| | | { |
| | | "type": "track", |
| | | "id": "lb_track2", |
| | | "text": "", |
| | | "top": 300, |
| | | "left": 405, |
| | | "width": 1130, |
| | | "height": 2 |
| | | }, |
| | | { |
| | | "type": "track", |
| | | "id": "lb_track3", |
| | | "text": "", |
| | | "top": 438, |
| | | "left": 405, |
| | | "width": 1130, |
| | | "height": 2 |
| | | }, |
| | | { |
| | | "type": "track", |
| | | "id": "lb_track4", |
| | | "text": "", |
| | | "top": 586, |
| | | "left": 405, |
| | | "width": 1130, |
| | | "height": 2 |
| | | }, |
| | | |
| | | ], |
| | | "stns": [{ |
| | | "type": "stn", |
| | | "id": "site-306", |
| | |
| | | "left": 225, |
| | | "width": 100, |
| | | "height": 24 |
| | | }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-401", |
| | | "text": "401", |
| | | "top": 538, |
| | | "left": 326, |
| | | "width": 100, |
| | | "height": 24 |
| | | }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-402", |
| | | "text": "402", |
| | | "top": 538, |
| | | "left": 224, |
| | | "width": 100, |
| | | "height": 24 |
| | | } |
| | | ] |
| | | } |
| | |
| | | <!-- 设备任务选择 --> |
| | | <div class="task-select"> |
| | | <!-- 堆垛机选择 --> |
| | | <div id="crn-select" class="operator-item"> |
| | | <div id="crn-select" class="operator-item" style="width: 55%"> |
| | | <span class="select-title">堆垛机号</span> |
| | | <div class="select-container"> |
| | | <div class="select-container" style="padding: 20px 0;"> |
| | | <label><input type="radio" name="crnSelect" value="1" checked> 1号堆垛机</label> |
| | | <label><input type="radio" name="crnSelect" value="2"> 2号堆垛机</label> |
| | | <label><input type="radio" name="crnSelect" value="3"> 3号堆垛机</label> |
| | |
| | | <fieldset> |
| | | <legend>入出库模式(IO-Mode)</legend> |
| | | <div class="io-mode-box"> |
| | | <label>2F</label> |
| | | <label>F2</label> |
| | | <button id="io-mode-2" class="ioModeBtn" onclick="ioModeSwitch(this.id)"> - </button> |
| | | </div> |
| | | <div class="io-mode-box"> |
| | | <label>F4</label> |
| | | <button id="io-mode-4" class="ioModeBtn" onclick="ioModeSwitch(this.id)"> - </button> |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- <div style="height: 40%">--> |