自动化立体仓库 - WCS系统
#
luxiaotao1123
2022-09-19 ccbcfdb4241951a36c1d2fe1e0bca6e8b8deb719
#
4个文件已修改
37 ■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/enums/SteTaskModeType.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SiemensDevpThread.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/ste.html 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -404,13 +404,13 @@
                    if (basCrnp.getInEnable().equals("Y")) {
                        //  入库
                        if (this.crnStnToLoc(crn, crnProtocol)) {
                            crnProtocol.setLastIo("O");
                        }
                        crnProtocol.setLastIo("O");
                    } else if (basCrnp.getOutEnable().equals("Y")) {
                        //  出库
                        if (this.locToCrnStn(crn, crnProtocol)) {
                            crnProtocol.setLastIo("I");
                        }
                        crnProtocol.setLastIo("I");
                    }
                }
                // 如果最近一次是出库模式
@@ -418,13 +418,13 @@
                    if (basCrnp.getOutEnable().equals("Y")) {
                        //  出库
                        if (this.locToCrnStn(crn, crnProtocol)) {
                            crnProtocol.setLastIo("I");
                        }
                        crnProtocol.setLastIo("I");
                    } else if (basCrnp.getInEnable().equals("Y")) {
                        //  入库
                        if (this.crnStnToLoc(crn, crnProtocol)) {
                            crnProtocol.setLastIo("O");
                        }
                        crnProtocol.setLastIo("O");
                    }
                }
            }
src/main/java/com/zy/core/enums/SteTaskModeType.java
@@ -75,11 +75,11 @@
            case 3:
            case 11:
            case 18:
                return SteTaskModeType.OUT_LEFT;   // 右
                return SteTaskModeType.OUT_RIGHT;   // 右
            case 4:
            case 12:
            case 19:
                return SteTaskModeType.OUT_RIGHT;    // 左
                return SteTaskModeType.OUT_LEFT;    // 左
            default:
                throw new CoolException("解析穿梭车原点定位失败");
        }
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -5,6 +5,7 @@
import HslCommunication.Profinet.Siemens.SiemensPLCS;
import HslCommunication.Profinet.Siemens.SiemensS7Net;
import com.alibaba.fastjson.JSON;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.SpringUtils;
import com.zy.asrs.entity.BasDevp;
@@ -12,6 +13,7 @@
import com.zy.core.DevpThread;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.OutputQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.DevpSlave;
import com.zy.core.model.Task;
@@ -38,6 +40,7 @@
    private SiemensS7Net siemensS7Net;
    private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>();
    private short heartBeatVal = 1;
    private int barcodeSize = 2;
    public static final ArrayList<Integer> staNos = new ArrayList<Integer>() {{
        add(100);add(101);add(102);add(103);add(104);add(105);add(106);add(107);add(108);add(109);
        add(110);add(111);
@@ -155,6 +158,20 @@
            }
        }
        //读条码
        Thread.sleep(200);
        OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB100.100",(short)(barcodeSize*8));
        if (result2.IsSuccess) {
            for (int i = 0; i < barcodeSize; i++) {
                String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*8,8, "UTF-8");
                BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1);
                if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
                    barcodeThread.setBarcode(barcode);
                }
            }
        }
        if (result.IsSuccess && result0.IsSuccess && result1.IsSuccess) {
            OutputQueue.DEVP.offer(MessageFormat.format("【{0}】[id:{1}] <<<<< 实时数据更新成功",DateUtils.convert(new Date()), slave.getId()));
src/main/webapp/views/ste.html
@@ -107,10 +107,10 @@
                        <div class="button-group">
                            <button class="item" onclick="steOperator(17)">联机</button>
                            <button class="item" onclick="steOperator(18)">脱机</button>
                            <button class="item" onclick="steOperator(1)">左出库</button>
                            <button class="item" onclick="steOperator(2)">右出库</button>
                            <button class="item" onclick="steOperator(3)">左入库</button>
                            <button class="item" onclick="steOperator(4)">右入库</button>
                            <button class="item" onclick="steOperator(1)">向左出库</button>
                            <button class="item" onclick="steOperator(2)">向右出库</button>
                            <button class="item" onclick="steOperator(3)">从左入库</button>
                            <button class="item" onclick="steOperator(4)">从右入库</button>
<!--                            <button class="item" onclick="steOperator(5)">左移库</button>-->
<!--                            <button class="item" onclick="steOperator(6)">右移库</button>-->
                            <button class="item" onclick="steOperator(8)">去左端</button>