自动化立体仓库 - WCS系统
#
luxiaotao1123
2020-08-10 f66d87fdf407780926f961039b5ecd4203770b2a
#
1个文件已添加
3个文件已修改
80 ■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/CrnSlave.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/properties/SlaveProperties.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -12,11 +12,11 @@
import com.zy.asrs.service.StaDescService;
import com.zy.asrs.service.WrkDetlService;
import com.zy.common.model.StartupDto;
import com.zy.core.Slave;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.CrnStatusType;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.CrnSlave;
import com.zy.core.model.DevpSlave;
import com.zy.core.model.Task;
import com.zy.core.model.protocol.CrnProtocol;
@@ -294,7 +294,7 @@
     * 入出库  ===>>  堆垛机站到库位 堆垛机入出库作业下发
     */
    public void crnIoExecute(){
        for (Slave crn : slaveProperties.getCrn()) {
        for (CrnSlave crn : slaveProperties.getCrn()) {
            // 获取堆垛机信息
            CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
            CrnProtocol crnProtocol = crnThread.getCrnProtocol();
@@ -307,20 +307,20 @@
                // 如果最近一次是入库模式
                if (crnProtocol.getLastIo().equals("I")) {
                    if (basCrnp.getInEnable().equals("Y")) {
                        this.crnStnToLoc(); //  入库
                        this.crnStnToLoc(crn); //  入库
                        crnProtocol.setLastIo("O");
                    } else if (basCrnp.getOutEnable().equals("Y")) {
                        this.locToCrnStn(); //  出库
                        this.locToCrnStn(crn); //  出库
                        crnProtocol.setLastIo("I");
                    }
                }
                // 如果最近一次是出库模式
                else if (crnProtocol.getLastIo().equals("O")) {
                    if (basCrnp.getOutEnable().equals("Y")) {
                        this.locToCrnStn(); //  出库
                        this.locToCrnStn(crn); //  出库
                        crnProtocol.setLastIo("I");
                    } else if (basCrnp.getInEnable().equals("Y")) {
                        this.crnStnToLoc(); //  入库
                        this.crnStnToLoc(crn); //  入库
                        crnProtocol.setLastIo("O");
                    }
                }
@@ -334,15 +334,29 @@
    /**
     * 入库  ===>>  堆垛机站到库位
     */
    private void crnStnToLoc(){
    private void crnStnToLoc(CrnSlave slave){
        for (CrnSlave.CrnStn crnStn : slave.getCrnInStn()) {
            // 获取堆垛机入库站信息
            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
            StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
        }
    }
    /**
     * 出库  ===>>  库位到堆垛机站
     */
    private void locToCrnStn(){
    private void locToCrnStn(CrnSlave slave){
        for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) {
            // 获取堆垛机出库站信息
            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
            StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
        }
    }
    /**
@@ -356,7 +370,7 @@
     * 执行对工作档的入库完成
     */
    public void storeFinished() {
        for (Slave crn : slaveProperties.getCrn()) {
        for (CrnSlave crn : slaveProperties.getCrn()) {
            // 获取堆垛机信息
            CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
            CrnProtocol crnProtocol = crnThread.getCrnProtocol();
@@ -368,7 +382,7 @@
     * 更新堆垛机移动时工作档状态
     */
    public void updateCrnMove() {
        for (Slave crn : slaveProperties.getCrn()) {
        for (CrnSlave crn : slaveProperties.getCrn()) {
            // 获取堆垛机信息
            CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
            CrnProtocol crnProtocol = crnThread.getCrnProtocol();
src/main/java/com/zy/core/model/CrnSlave.java
New file
@@ -0,0 +1,34 @@
package com.zy.core.model;
import com.zy.core.Slave;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.ArrayList;
import java.util.List;
/**
 * Created by vincent on 2020/8/10
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class CrnSlave extends Slave {
    // 堆垛机入库站点
    private List<CrnStn> crnInStn = new ArrayList<>();
    // 堆垛机出库站点
    private List<CrnStn> crnOutStn = new ArrayList<>();
    @Data
    public static class CrnStn {
        // 堆垛机plc编号
        private Integer devpPlcId;
        // 堆垛机站点编号
        private Integer staNo;
    }
}
src/main/java/com/zy/core/properties/SlaveProperties.java
@@ -1,6 +1,7 @@
package com.zy.core.properties;
import com.zy.core.Slave;
import com.zy.core.model.CrnSlave;
import com.zy.core.model.DevpSlave;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
@@ -17,7 +18,7 @@
@ConfigurationProperties(prefix = "wcs-slave")
public class SlaveProperties {
    private List<Slave> crn = new ArrayList<>();
    private List<CrnSlave> crn = new ArrayList<>();
    private List<DevpSlave> devp = new ArrayList<>();
src/main/resources/application.yml
@@ -40,6 +40,14 @@
    id: 1
    ip: 192.168.1.1
    port: 8888
    # 堆垛机入库站点
    crnInStn[0]:
      devpPlcId: ${wcs-slave.devp[0].id}
      staNo: 5
    # 堆垛机出库站点
    crnOutStn[0]:
      devpPlcId: ${wcs-slave.devp[0].id}
      staNo: 6
  # 站点
  devp[0]:
    id: 1
@@ -49,6 +57,7 @@
    inSta[0]:
      staNo: 2
      barcode: ${wcs-slave.barcode[0].id}
    # 出库口
    outSta[0]:
      staNo: 6
    # 拣料入库口