自动化立体仓库 - WCS系统
#
luxiaotao1123
2022-03-15 ec1f480801fdc89e862f4e9bcad2aed47ae1d37b
#
1个文件已添加
2个文件已修改
112 ■■■■ 已修改文件
src/main/java/com/zy/core/enums/SteLocaType.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/protocol/SteProtocol.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SteThread.java 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/enums/SteLocaType.java
New file
@@ -0,0 +1,41 @@
package com.zy.core.enums;
public enum SteLocaType {
    A(1, "A点"),
    B(2, "B点"),
    A_WAITING(3, "A待机点"),
    B_WAITING(4, "B待机点"),
    ;
    public Integer id;
    public String desc;
    SteLocaType(Integer id, String desc) {
        this.id = id;
        this.desc = desc;
    }
    public static SteLocaType get(Short id) {
        if (null == id) {
            return null;
        }
        for (SteLocaType type : SteLocaType.values()) {
            if (type.id.equals(id.intValue())) {
                return type;
            }
        }
        return null;
    }
    public static SteLocaType get(SteLocaType type) {
        if (null == type) {
            return null;
        }
        for (SteLocaType crnStatusType : SteLocaType.values()) {
            if (crnStatusType == type) {
                return crnStatusType;
            }
        }
        return null;
    }
}
src/main/java/com/zy/core/model/protocol/SteProtocol.java
@@ -2,6 +2,7 @@
import com.zy.asrs.entity.BasSte;
import com.zy.core.enums.SteHisTaskStatusType;
import com.zy.core.enums.SteLocaType;
import com.zy.core.enums.SteStatusType;
import lombok.Data;
@@ -79,6 +80,8 @@
     * 当前位置     1,近点,2远点,3A点,4B点
     */
    public Short loca;
    public SteLocaType locaType;
    /**
     * 近点距离
@@ -188,6 +191,16 @@
        this.status = SteStatusType.get(type).id.shortValue();
    }
    public void setLoca(Short loca){
        this.loca = loca;
        this.locaType = SteLocaType.get(loca);
    }
    public void setLoca(SteLocaType type){
        this.locaType = type;
        this.loca = SteLocaType.get(type).id.shortValue();
    }
    public void setHisTaskStatus(Short hisTaskStatus){
        this.hisTaskStatus = hisTaskStatus;
        this.hisTaskStatusType = SteHisTaskStatusType.get(hisTaskStatus);
src/main/java/com/zy/core/thread/SteThread.java
@@ -72,7 +72,7 @@
                        break;
                }
                // 心跳
                heartbeat();
//                heartbeat();
                Thread.sleep(500);
            } catch (Exception e) {
                e.printStackTrace();
@@ -133,44 +133,44 @@
     */
    private void readStatus(){
        try {
            OperateResultExOne<byte[]> result = siemensS7Net.Read("V20", (short) 70);
            OperateResultExOne<byte[]> result = siemensS7Net.Read("DB4", (short) 70);
            if (result.IsSuccess) {
                if (null == steProtocol) {
                    steProtocol = new SteProtocol();
                }
//                steProtocol.setSteNo();
//                steProtocol.setMode();
//                steProtocol.setStatus();
                steProtocol.setSteNo(siemensS7Net.getByteTransform().TransInt16(result.Content, 0));
                steProtocol.setMode(siemensS7Net.getByteTransform().TransInt16(result.Content, 2));
                steProtocol.setStatus(siemensS7Net.getByteTransform().TransInt16(result.Content, 4));
//                steProtocol.setExecute();
//                steProtocol.setWaiting();
//                steProtocol.setAlarm();
//                steProtocol.setAlarm0();
//                steProtocol.setCharge();
                steProtocol.setAlarm(siemensS7Net.getByteTransform().TransInt32(result.Content, 6));
                steProtocol.setAlarm0(siemensS7Net.getByteTransform().TransInt32(result.Content, 10));
                steProtocol.setCharge(siemensS7Net.getByteTransform().TransInt16(result.Content, 14));
//                steProtocol.setFullCharge();
//                steProtocol.setLowCharge();
//                steProtocol.setFeed();
//                steProtocol.setLoca();
                steProtocol.setFeed(siemensS7Net.getByteTransform().TransInt16(result.Content, 16));
                steProtocol.setLoca(siemensS7Net.getByteTransform().TransInt16(result.Content, 18));
//                steProtocol.setCloser();
//                steProtocol.setSpeed();
//                steProtocol.setPos();
//                steProtocol.setLoad();
//                steProtocol.setTrack();
//                steProtocol.setTaskNo();
//                steProtocol.setTaskType();
//                steProtocol.setRow();
//                steProtocol.setBay();
//                steProtocol.setLev();
//
//                steProtocol.setHisTaskNo();
//                steProtocol.setHisTaskStatus();
//                steProtocol.setCheckQty();
//                steProtocol.setReady();
//                steProtocol.setChargeNo();
//
//                steProtocol.setHeart();
//                steProtocol.setCrnStopRun();
//                steProtocol.setCrnStopFork();
//                steProtocol.setCrnAllowRun();
                steProtocol.setPos(siemensS7Net.getByteTransform().TransInt16(result.Content, 28));
                steProtocol.setLoad(siemensS7Net.getByteTransform().TransInt16(result.Content, 30));
                steProtocol.setTrack(siemensS7Net.getByteTransform().TransInt16(result.Content, 32));
                steProtocol.setTaskNo(siemensS7Net.getByteTransform().TransInt32(result.Content, 38));
                steProtocol.setTaskType(siemensS7Net.getByteTransform().TransInt16(result.Content, 42));
                steProtocol.setRow(siemensS7Net.getByteTransform().TransInt16(result.Content, 44));
                steProtocol.setBay(siemensS7Net.getByteTransform().TransInt16(result.Content, 46));
                steProtocol.setLev(siemensS7Net.getByteTransform().TransInt16(result.Content, 48));
                steProtocol.setHisTaskNo(siemensS7Net.getByteTransform().TransInt32(result.Content, 58));
                steProtocol.setHisTaskStatus(siemensS7Net.getByteTransform().TransInt16(result.Content, 62));
                steProtocol.setCheckQty(siemensS7Net.getByteTransform().TransInt16(result.Content, 64));
                steProtocol.setReady(siemensS7Net.getByteTransform().TransInt16(result.Content, 66));
                steProtocol.setChargeNo(siemensS7Net.getByteTransform().TransInt16(result.Content, 68));
                steProtocol.setHeart(siemensS7Net.getByteTransform().TransInt16(result.Content, 72));
                steProtocol.setCrnStopRun(siemensS7Net.getByteTransform().TransInt16(result.Content, 74));
                steProtocol.setCrnStopFork(siemensS7Net.getByteTransform().TransInt16(result.Content, 76));
                steProtocol.setCrnAllowRun(siemensS7Net.getByteTransform().TransInt16(result.Content, 78));
                OutputQueue.CRN.offer(MessageFormat.format("【{0}】[id:{1}] <<<<< 实时数据更新成功",DateUtils.convert(new Date()), slave.getId()));