| | |
| | | |
| | | <build> |
| | | <!-- <finalName>rqdzwcs</finalName>--> |
| | | <finalName>czkhwcs</finalName> |
| | | <finalName>wcs</finalName> |
| | | <plugins> |
| | | <plugin> |
| | | <groupId>org.springframework.boot</groupId> |
| | |
| | | import com.zy.asrs.service.LocMastService; |
| | | import com.zy.asrs.service.WrkMastService; |
| | | import com.zy.asrs.service.impl.MainServiceImpl; |
| | | import com.zy.asrs.utils.VersionUtils; |
| | | import com.zy.core.CrnThread; |
| | | import com.zy.core.cache.MessageQueue; |
| | | import com.zy.core.cache.OutputQueue; |
| | |
| | | import com.zy.core.model.protocol.CrnProtocol; |
| | | import com.zy.core.properties.SlaveProperties; |
| | | import com.zy.core.properties.SystemProperties; |
| | | import com.zy.core.thread.RgvThread; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | |
| | | vo.setStatusType(crnProtocol.modeType.desc); // 模式状态 |
| | | vo.setStatus(crnProtocol.getStatusType().desc); // 状态 |
| | | vo.setLoading(crnProtocol.getLoaded()==1?"有物":"无物"); // 有物 |
| | | vo.setLoadTwoing(crnProtocol.getLoadedTwo() == 1 ? "有物" : "无物"); // 有物 |
| | | |
| | | vo.setBay(crnProtocol.getBay()); // 列 |
| | | vo.setLev(crnProtocol.getLevel()); // 层 |
| | | |
| | |
| | | } else { |
| | | vo.setStatus(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.MACHINE_AUTO.getDesc(): CrnStatusType.MACHINE_UN_AUTO.getDesc()); // 模式状态 |
| | | } |
| | | |
| | | if (crnProtocol.getTaskNoTwo() > 0) { |
| | | WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNoTwo()); |
| | | if (wrkMast != null) { |
| | | vo.setSourceStaNo2(wrkMast.getSourceStaNo$()); // 源站 |
| | | vo.setStaNo2(wrkMast.getStaNo$()); // 目标站 |
| | | vo.setSourceLocNo2(wrkMast.getSourceLocNo()); // 源库位 |
| | | vo.setLocNo2(wrkMast.getLocNo()); // 目标库位 |
| | | } |
| | | } else { |
| | | vo.setStatus(crnProtocol.modeType.equals(CrnModeType.AUTO) ? CrnStatusType.MACHINE_AUTO.getDesc() : CrnStatusType.MACHINE_UN_AUTO.getDesc()); // 模式状态 |
| | | } |
| | | |
| | | vo.setXspeed(crnProtocol.getXSpeed()); // 走行速度(m/min) |
| | | vo.setYspeed(crnProtocol.getYSpeed()); // 升降速度(m/min) |
| | | vo.setZspeed(crnProtocol.getZSpeed()); // 叉牙速度(m/min) |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | /****************************************************************/ |
| | | /************************** 手动操作 ******************************/ |
| | | /****************************************************************/ |
| | |
| | | // command.setTraySize(locSts); |
| | | // return crnControl(command)?R.ok():R.error(); |
| | | // } |
| | | |
| | | @ManagerAuth(memo = "库位转移") |
| | | @PostMapping("/operator/stockMove") |
| | | public R crnStockMove(CrnOperatorParam param){ |
| | |
| | | @PostMapping("/operator/taskComplete") |
| | | public R crnTaskComplete(CrnOperatorParam param){ |
| | | CrnCommand command = new CrnCommand(); |
| | | command.setPltType(param.getC()); |
| | | command.setCrnNo(param.getCrnNo()); // 堆垛机编号 |
| | | command.setTaskNo((short) 0); // 工作号 |
| | | command.setAckFinish((short) 1); // 任务完成确认位 |
| | |
| | | command.setDestinationPosZ((short) 0); // 目标库位层 |
| | | return crnControl(command)?R.ok():R.error(); |
| | | } |
| | | |
| | | |
| | | |
| | | // @ManagerAuth(memo = "暂停") |
| | |
| | | throw new CoolException("堆垛机不在线"); |
| | | } |
| | | // 空闲判断 |
| | | // if (crnProtocol.getStatusType().equals(com.zy.core.enums.CrnStatusType.IDLE) && crnProtocol.getTaskNo() == 0) { |
| | | if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, command))) { |
| | | return true; |
| | | } else { |
| | | throw new CoolException("命令下发失败"); |
| | | } |
| | | // } else { |
| | | // throw new CoolException("堆垛机不在空闲状态"); |
| | | // } |
| | | |
| | | } |
| | | } |
| | | return false; |
| | |
| | | |
| | | private Integer rgvNo; |
| | | |
| | | |
| | | private Integer c; |
| | | |
| | | } |
| | |
| | | // 目标库位 |
| | | private String locNo = "-"; |
| | | |
| | | // 源站 |
| | | private String sourceStaNo2 = "-"; |
| | | |
| | | // 目标站 |
| | | private String staNo2 = "-"; |
| | | |
| | | // 源库位 |
| | | private String sourceLocNo2 = "-"; |
| | | |
| | | // 目标库位 |
| | | private String locNo2 = "-"; |
| | | |
| | | // 异常 |
| | | private String error = ""; |
| | | |
| | |
| | | // 有物 |
| | | private String loading = "-"; |
| | | |
| | | // 有物 |
| | | private String loadTwoing = "-"; |
| | | |
| | | // 列 |
| | | private Short bay; |
| | | |
| | |
| | | |
| | | LocMast queryFreeLocMast(@Param("row") Integer row, @Param("locType1") Short locType1); |
| | | |
| | | LocMast queryFreeLocMast2(@Param("row") Integer row, @Param("locType1") Short locType1); |
| | | |
| | | |
| | | @Select("select loc_no from asr_loc_mast where 1=1 and loc_sts = 'O' and crn_no = #{crnNo}") |
| | | List<String> queryGroupEmptyStock(Integer crnNo); |
| | | |
| | |
| | | */ |
| | | LocMast queryFreeLocMast(Integer row, Short locType1); |
| | | |
| | | LocMast queryFreeLocMast2(Integer row, Short locType1); |
| | | /** |
| | | * 获取同组货架的空库位 |
| | | * @param sourceLocNo 源库位 |
| | |
| | | public LocMast queryFreeLocMast(Integer row, Short locType1) { |
| | | return this.baseMapper.queryFreeLocMast(row, locType1); |
| | | } |
| | | @Override |
| | | public LocMast queryFreeLocMast2(Integer row, Short locType1) { |
| | | return this.baseMapper.queryFreeLocMast2(row, locType1); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<String> queryGroupEmptyStock(String sourceLocNo) { |
| | |
| | | |
| | | // 命令下发区 -------------------------------------------------------------------------- |
| | | CrnCommand crnCommand = new CrnCommand(); |
| | | crnCommand.setPltType(getCrnStation(wrkMast.getSourceLocNo())); |
| | | crnCommand.setCrnNo(slave.getId()); // 堆垛机编号 |
| | | crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 工作号 |
| | | crnCommand.setAckFinish((short) 0); // 任务完成确认位 |
| | |
| | | LocMast loc = null; |
| | | for (Integer row : rows) { |
| | | if (Utils.isDeepLoc(slaveProperties, row)) { |
| | | if (shallowLoc.getRow1() == 1 && row == 1) { |
| | | loc = locMastService.queryFreeLocMast2(row, shallowLoc.getLocType1()); |
| | | } else if (shallowLoc.getRow1() == 29 && row == 29) { |
| | | loc = locMastService.queryFreeLocMast2(row, shallowLoc.getLocType1()); |
| | | } else { |
| | | loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType1()); |
| | | } |
| | | |
| | | if (loc != null) { |
| | | if (Utils.isDeepLoc(slaveProperties, loc.getLocNo())) { |
| | |
| | | if (null == loc) { |
| | | for (Integer row : rows) { |
| | | if (Utils.isShallowLoc(slaveProperties, row)) { |
| | | if (shallowLoc.getRow1() == 1 && row == 1) { |
| | | loc = locMastService.queryFreeLocMast2(row, shallowLoc.getLocType1()); |
| | | } else if (shallowLoc.getRow1() == 29 && row == 29) { |
| | | loc = locMastService.queryFreeLocMast2(row, shallowLoc.getLocType1()); |
| | | } else { |
| | | loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType1()); |
| | | } |
| | | |
| | | |
| | | if (null != loc) {//对应深库位非在库状态,不能移库 |
| | | String deepLoc = Utils.getDeepLoc(slaveProperties, loc.getLocNo()); |
| | |
| | | break; |
| | | // 写入数据 1号工位 |
| | | case 2: |
| | | write((CrnCommand) task.getData()); |
| | | CrnCommand data = (CrnCommand) task.getData(); |
| | | if (data.getPltType() == null || data.getPltType() == 1) { |
| | | write(data); |
| | | } else if (data.getPltType() == 2) { |
| | | write2(data); |
| | | } |
| | | break; |
| | | // 复位 1号工位 |
| | | case 3: |
| | |
| | | command.setDestinationPosY((short) 0); // 目标库位列 |
| | | command.setDestinationPosZ((short) 0); // 目标库位层 |
| | | write(command); |
| | | break; |
| | | // 写入数据 2号工位 |
| | | case 4: |
| | | write2((CrnCommand) task.getData()); |
| | | break; |
| | | // 复位 2号工位 |
| | | case 6: |
| | |
| | | null // 修改人员 |
| | | ); |
| | | bean.insert(basCrnOpt); |
| | | } catch (Exception ignore) {} |
| | | } catch (Exception ignore) { |
| | | } |
| | | |
| | | if (result != null && result.IsSuccess) { |
| | | Thread.sleep(200); |
| | |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | public void requestStop() { |
| | | isRunning = false; |
| | | } |
| | |
| | | private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>(); |
| | | private short heartBeatVal = 1; |
| | | private StaError1 staError1; |
| | | // public static final ArrayList<Integer> staNos = new ArrayList<Integer>() {{ |
| | | // |
| | | // }}; |
| | | public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{ |
| | | add(101);add(102);add(103); |
| | | add(104);add(105); |
| | | }}; |
| | | |
| | | public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{ |
| | | add(1101); |
| | | add(1102); |
| | | add(1103); |
| | | add(1104); |
| | | add(1105); |
| | | add(1106); |
| | | add(1107); |
| | | }}; |
| | | |
| | | |
| | | public static final ArrayList<Integer> BarcodeList1 = new ArrayList<Integer>() {{ |
| | | add(1); add(2);add(3);add(4);add(5); |
| | | add(1); |
| | | }}; |
| | | |
| | | |
| | | |
| | | public static final ArrayList<Integer> staNosErrList1 = new ArrayList<Integer>() {{ |
| | | |
| | | add(102); |
| | | }}; |
| | | |
| | | public static final ArrayList<Integer> staNoWeight1 = new ArrayList<Integer>() {{ |
| | | add(101);add(102);add(103);add(104);add(105); |
| | | add(101); |
| | | add(102); |
| | | add(103); |
| | | add(104); |
| | | add(105); |
| | | }}; |
| | | |
| | | |
| | | |
| | | private Integer count=0; |
| | |
| | | * 4.出库模式 |
| | | */ |
| | | 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; |
| | |
| | | throw new CoolException("服务器异常"); |
| | | } |
| | | } |
| | | |
| | | private ArrayList<Integer> getBarcodeList() { |
| | | switch (slave.getId()) { |
| | | case 1: |
| | |
| | | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 初始化站点状态 |
| | | */ |
| | |
| | | return result; |
| | | } |
| | | |
| | | public static int getOffsetFromSiteId(int siteId) { |
| | | if (siteId < 100 || siteId > 450) { |
| | | throw new IllegalArgumentException("siteId 超出有效范围: " + siteId); |
| | | } |
| | | return (siteId - 100) * 8; |
| | | } |
| | | |
| | | public static int getOffsetFromSiteId2(int siteId) { |
| | | if (siteId < 100 || siteId > 450) { |
| | | throw new IllegalArgumentException("siteId 超出有效范围: " + siteId); |
| | | } |
| | | return (siteId - 100) * 6; |
| | | } |
| | | |
| | | /** |
| | | * 读取状态 ====> 整块plc |
| | |
| | | // // 更新入出库模式 |
| | | // updateIoMode(); |
| | | |
| | | // if (slave.getId()==1) return; |
| | | ArrayList<Integer> staNos = staNos1; |
| | | int staNoSize = staNos1.size(); |
| | | //ArrayList<Integer> staNos = getStaNo(); |
| | | ArrayList<Integer> staNosErrList = getStaNoErr(); |
| | | ArrayList<Integer> staNoWeight = getStaNoWeight(); |
| | | //int staNoSize = staNos.size(); |
| | | OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (staNoSize * 8)); |
| | | OperateResultExOne<byte[]> resultWeight = null; |
| | | /*if(staNoWeight.size()>4){ |
| | | resultWeight = siemensS7Net.Read("DB102.0", (short) (8 * 4)); |
| | | }else{ |
| | | resultWeight = siemensS7Net.Read("DB102.0", (short) (4 * 4)); |
| | | } |
| | | OperateResultExOne<byte[]> resultWeight2 = siemensS7Net.Read("DB102.0", (short) (4 * 4));*/ |
| | | |
| | | //if (result.IsSuccess && resultWeight.IsSuccess) { |
| | | if (result.IsSuccess) { |
| | | int j = 0; |
| | | for(int i = 0 ; i<staNoSize;i++){ |
| | | Integer siteId = staNos.get(i); // 站点编号 |
| | | StaProtocol staProtocol = station.get(siteId); |
| | |
| | | station.put(siteId, staProtocol); |
| | | } |
| | | boolean[] status = null; |
| | | int offset = getOffsetFromSiteId(siteId);//取余获得对应db块数据 |
| | | |
| | | staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt32(result.Content, i * 8)); // 工作号 |
| | | /*if (staNoWeight.contains(siteId)) { |
| | | if(staNoWeight.size() == 4){ |
| | | staProtocol.setWeight(siemensS7Net.getByteTransform().TransInt32(resultWeight2.Content, j)); |
| | | j = j + 4; |
| | | }else{ |
| | | staProtocol.setWeight(siemensS7Net.getByteTransform().TransInt32(resultWeight.Content, j)); |
| | | j = j + 4; |
| | | |
| | | } |
| | | }*/ |
| | | staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i * 8 + 4)); // 目标站 |
| | | status = siemensS7Net.getByteTransform().TransBool(result.Content, i * 8 + 6, 1); |
| | | |
| | | status = siemensS7Net.getByteTransform().TransBool(result.Content, i * 8 + 6, 1); |
| | | staProtocol.setAutoing(status[0]); // 自动 |
| | | staProtocol.setLoading(status[1]); // 有物 |
| | | staProtocol.setInEnable(status[2]); // 可入 |
| | |
| | | if(write.IsSuccess && write1.IsSuccess){ |
| | | log.error("写入输送线命令成功。输送线plc编号={},站点数据={},写入次数={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); |
| | | break; |
| | | } |
| | | else { |
| | | } else { |
| | | writeCount++; |
| | | log.error("写入输送线命令失败。输送线plc编号={},站点数据={},写入次数={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); |
| | | } |
| | |
| | | name: @pom.build.finalName@ |
| | | datasource: |
| | | driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver |
| | | url: jdbc:sqlserver://192.168.0.2:1433;databasename=rqdzasrs |
| | | url: jdbc:sqlserver://127.0.0.1:1433;databasename=rqdzasrs |
| | | username: sa |
| | | password: sa@123 |
| | | # driver-class-name: com.oscar.Driver |
| | |
| | | enable: false |
| | | |
| | | wms: |
| | | url: 127.0.0.1:8080/rqdzasrs |
| | | url: 127.0.0.1:8080/wcs |
| | | |
| | | # 下位机配置 |
| | | wcs-slave: |
| | |
| | | # 堆垛机入库站点 |
| | | crnInStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 101 |
| | | staNo: 1105 |
| | | row: 2 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机入库站点 |
| | | crnInStn[1]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 105 |
| | | row: 3 |
| | | bay: 1 |
| | | lev: 1 |
| | | bay: 11 |
| | | lev: 2 |
| | | |
| | | # 堆垛机出库站点 |
| | | crnOutStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 101 |
| | | staNo: 1101 |
| | | row: 2 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[1]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 105 |
| | | row: 3 |
| | | bay: 1 |
| | | lev: 1 |
| | | bay: 14 |
| | | lev: 2 |
| | | |
| | | # plc |
| | | devp[0]: |
| | | id: 1 |
| | |
| | | slot: 0 |
| | | # 入库口1 |
| | | inSta[0]: |
| | | staNo: 102 |
| | | staNo: 1106 |
| | | barcode: ${wcs-slave.barcode[0].id} |
| | | backSta: 103 |
| | | backSta: 1105 |
| | | led: ${wcs-slave.led[0].id} |
| | | # # 入库口2 |
| | | # inSta[1]: |
| | |
| | | # led: ${wcs-slave.led[1].id} |
| | | # 拣料入库口1 |
| | | pickSta[0]: |
| | | staNo: 104 |
| | | staNo: 1106 |
| | | barcode: ${wcs-slave.barcode[0].id} |
| | | led: ${wcs-slave.led[1].id} |
| | | backSta: 104 |
| | | led: ${wcs-slave.led[0].id} |
| | | backSta: 1105 |
| | | # # 拣料入库口2 |
| | | # pickSta[1]: |
| | | # staNo: 225 |
| | |
| | | # backSta: 224 |
| | | # 空板入库口1 |
| | | emptyInSta[0]: |
| | | staNo: 102 |
| | | staNo: 1106 |
| | | barcode: ${wcs-slave.barcode[0].id} |
| | | backSta: 103 |
| | | backSta: 1105 |
| | | led: ${wcs-slave.led[0].id} |
| | | # 空板入库口2 |
| | | #emptyInSta[1]: |
| | |
| | | #led: ${wcs-slave.led[1].id} |
| | | # 出库口1 |
| | | outSta[0]: |
| | | staNo: 104 |
| | | staNo: 1101 |
| | | # 条码扫描仪1 |
| | | barcode[0]: |
| | | id: 1 |
| | |
| | | ip: 10.10.10.51 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staArr: 102 |
| | | # LED2 |
| | | led[1]: |
| | | id: 123 |
| | | ip: 10.10.10.52 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staArr: 104 |
| | | staArr: 1104 |
| | | # # LED2 |
| | | # led[1]: |
| | | # id: 123 |
| | | # ip: 10.10.10.52 |
| | | # port: 5005 |
| | | # devpPlcId: ${wcs-slave.devp[0].id} |
| | | # staArr: 104 |
| | | |
| | |
| | | order by NEWID(),lev1 asc,bay1 asc |
| | | </select> |
| | | |
| | | <select id="queryFreeLocMast2" resultMap="BaseResultMap"> |
| | | select top 1 * |
| | | from asr_loc_mast |
| | | where row1=#{row} |
| | | and loc_sts='O' |
| | | and row1 != #{row} |
| | | <if test="locType1 != null"> |
| | | and loc_type1 = #{locType1} |
| | | </if> |
| | | order by NEWID(),lev1 asc,bay1 asc |
| | | </select> |
| | | |
| | | <select id="queryDemoSourceLoc" resultMap="BaseResultMap"> |
| | | select top 1 * from asr_loc_mast where crn_no = #{crnNo} |
| | | and loc_sts='D' |
| | |
| | | // var baseUrl = "/rqdzwcs"; |
| | | var baseUrl = "/czkhwcs"; |
| | | var baseUrl = "/wcs"; |
| | | |
| | | // 赋值 |
| | | function setVal(el, val) { |
| | |
| | | mapInfo ={ |
| | | // "mapName": "rqdzwcs", |
| | | "mapName": "czkhwcs", |
| | | "mapName": "wcs", |
| | | "rackCount": 8, |
| | | "crnCount": 4, |
| | | "stbCount": 120, |
| | |
| | | "stns": [ |
| | | // { "type": "stn", "id": "site-100", "text": "100", "top": 80, "left": 94, "width": 40, "height": 23 }, |
| | | //{ "type": "stn", "id": "site-103", "text": "103", "top": 160, "left": 1430, "width": 120, "height": 23 }, |
| | | {"type": "stn", "id": "site-313", "text": "313", "top": 200, "left": 990, "width": 170, "height": 25}, |
| | | { "type": "stn", "id": "site-102", "text": "102", "top": 280, "left": 990, "width": 30, "height": 40 }, |
| | | { "type": "stn", "id": "site-101", "text": "101", "top": 230, "left": 990, "width": 30, "height": 40 }, |
| | | {"type": "stn", "id": "site-1103", "text": "1103", "top": 180, "left": 1000, "width": 45, "height": 45}, |
| | | {"type": "stn", "id": "site-1104", "text": "1104", "top": 180, "left": 945, "width": 45, "height": 45}, |
| | | {"type": "stn", "id": "site-1105", "text": "1105", "top": 180, "left": 890, "width": 45, "height": 45}, |
| | | { "type": "stn", "id": "site-1102", "text": "1102", "top": 280, "left": 890, "width": 45, "height": 45 }, |
| | | { "type": "stn", "id": "site-1101", "text": "1101", "top": 230, "left": 890, "width": 45, "height": 45 }, |
| | | // { "type": "stn", "id": "site-110", "text": "110", "top": 130, "left": 1784, "width": 40, "height": 23 }, |
| | | // { "type": "stn", "id": "site-111", "text": "111", "top": 130, "left": 1826, "width": 40, "height": 23 }, |
| | | // |
| | |
| | | // { "type": "stn", "id": "site-118", "text": "118", "top": 240, "left": 94, "width": 40, "height": 23 }, |
| | | // { "type": "stn", "id": "site-119", "text": "119", "top": 240, "left": 52, "width": 40, "height": 23 }, |
| | | // { "type": "stn", "id": "site-120", "text": "120", "top": 240, "left": 10, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-104", "text": "104", "top": 280, "left": 1130, "width": 30, "height": 40 }, |
| | | { "type": "stn", "id": "site-105", "text": "105", "top": 230, "left": 1130, "width": 30, "height": 40 }, |
| | | { "type": "stn", "id": "site-1107", "text": "1107", "top": 280, "left": 1000, "width": 45, "height": 45 }, |
| | | { "type": "stn", "id": "site-1106", "text": "1106", "top": 230, "left": 1000, "width": 45, "height": 45 }, |
| | | // { "type": "stn", "id": "site-123", "text": "123", "top": 210, "left": 1301, "width": 60, "height": 23 }, |
| | | |
| | | // { "type": "stn", "id": "site-124", "text": "124", "top": 160, "left": 1742, "width": 120, "height": 23 }, |
| | |
| | | <th>堆垛机</th> |
| | | <th>模式</th> |
| | | <th>状态</th> |
| | | <th>有物</th> |
| | | <th>工位1有物</th> |
| | | <th>工位2有物</th> |
| | | <th>列</th> |
| | | <th>层</th> |
| | | <th>货叉定位</th> |
| | |
| | | <th>工作号</th> |
| | | <th>状态</th> |
| | | <th>源站</th> |
| | | <th>目标站</th> |
| | | <th>源库位</th> |
| | | <th>目标库位</th> |
| | | <th>目标站1</th> |
| | | <th>源库位1</th> |
| | | <th>目标库位1</th> |
| | | <th>目标站2</th> |
| | | <th>源库位2</th> |
| | | <th>目标库位2</th> |
| | | <!-- <th>走行速度(m/min)</th>--> |
| | | <!-- <th>升降速度(m/min)</th>--> |
| | | <!-- <th>叉牙速度(m/min)</th>--> |
| | |
| | | <!-- <button class="item" onclick="bacOrigin()">回原点</button>--> |
| | | <!-- <button class="item" onclick="reverseOrigin()">反原点</button>--> |
| | | <!-- <button class="item" onclick="coorMove()">坐标移行</button>--> |
| | | <button class="item" onclick="taskComplete()">任务完成</button> |
| | | <button class="item" onclick="taskComplete(1)">任务完成1</button> |
| | | <button class="item" onclick="taskComplete(2)">任务完成2</button> |
| | | |
| | | <!-- <button class="item" onclick="pause()">暂停</button>--> |
| | | <!-- <button class="item" onclick="boot()">启动</button>--> |
| | | <button class="item" onclick="clearCommand()">清除命令</button> |
| | |
| | | setVal(tr.children("td").eq(1), table[i-1].statusType); |
| | | setVal(tr.children("td").eq(2), table[i-1].status); |
| | | setVal(tr.children("td").eq(3), table[i-1].loading); |
| | | setVal(tr.children("td").eq(4), table[i-1].bay); |
| | | setVal(tr.children("td").eq(5), table[i-1].lev); |
| | | setVal(tr.children("td").eq(6), table[i-1].forkOffset); |
| | | setVal(tr.children("td").eq(7), table[i-1].liftPos); |
| | | setVal(tr.children("td").eq(8), table[i-1].walkPos); |
| | | setVal(tr.children("td").eq(9), table[i-1].warnCode); |
| | | setVal(tr.children("td").eq(10), table[i-1].alarm); |
| | | setVal(tr.children("td").eq(4), table[i-1].loadTwoing); |
| | | |
| | | setVal(tr.children("td").eq(5), table[i-1].bay); |
| | | setVal(tr.children("td").eq(6), table[i-1].lev); |
| | | setVal(tr.children("td").eq(7), table[i-1].forkOffset); |
| | | setVal(tr.children("td").eq(8), table[i-1].liftPos); |
| | | setVal(tr.children("td").eq(9), table[i-1].walkPos); |
| | | setVal(tr.children("td").eq(10), table[i-1].warnCode); |
| | | setVal(tr.children("td").eq(11), table[i-1].alarm); |
| | | } |
| | | } else if (res.code === 403){ |
| | | window.location.href = baseUrl+"/login"; |
| | |
| | | setVal(tr.children("td").eq(4), table[i-1].staNo); |
| | | setVal(tr.children("td").eq(5), table[i-1].sourceLocNo); |
| | | setVal(tr.children("td").eq(6), table[i-1].locNo); |
| | | |
| | | setVal(tr.children("td").eq(7), table[i-1].staNo2); |
| | | setVal(tr.children("td").eq(8), table[i-1].sourceLocNo2); |
| | | setVal(tr.children("td").eq(9), table[i-1].locNo2); |
| | | // setVal(tr.children("td").eq(7), table[i-1].xspeed); |
| | | // setVal(tr.children("td").eq(8), table[i-1].yspeed); |
| | | // setVal(tr.children("td").eq(9), table[i-1].zspeed); |
| | |
| | | } |
| | | |
| | | // 任务完成 |
| | | function taskComplete() { |
| | | http.post(baseUrl+"/crn/operator/taskComplete", getReqParam(), function (res) { |
| | | function taskComplete(c) { |
| | | http.post(baseUrl+"/crn/operator/taskComplete?c="+c, getReqParam(), function (res) { |
| | | layer.msg(res.msg); |
| | | }); |
| | | } |