自动化立体仓库 - WCS系统
#
Junjie
6 天以前 df8d94a8aba651ef299e2728a5dbd3f420b1302a
#
2个文件已修改
54 ■■■■■ 已修改文件
src/main/java/com/zy/core/thread/impl/LfdZyForkLiftMasterThread.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/impl/LfdZyForkLiftSlaveThread.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/impl/LfdZyForkLiftMasterThread.java
@@ -102,27 +102,12 @@
        return siemensS7Net;
    }
    public synchronized HashMap<String, Object> read(Integer slaveId, String dbTag) {
    public synchronized OperateResultExOne<byte[]> read(Integer slaveId, String dbTag) {
        try {
            HashMap<String, Object> data = new HashMap<>();
            HashMap<String, Object> map = this.slaveAddressList.get(slaveId - 1);
            DbData dbData = (DbData) map.get(dbTag);
            OperateResultExOne<byte[]> result = siemensS7Net.Read(dbData.dbAddress, dbData.dbAddressLength);
            if (slaveId == 1 && dbData.equals("staStatus")) {
                boolean[] status1 = siemensS7Net.getByteTransform().TransBool(result.Content, 0, 2);
                if(status1[0] == false){
                    return null;
                }else {
                    return null;
                }
            }
            data.put("slaveId", slaveId);
            data.put("dbTag", dbTag);
            data.put("data", result);
            return data;
            return result;
        } catch (Exception e) {
            OutputQueue.FORKLIFT.offer(MessageFormat.format("【{0}】读取提升机状态信息失败 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
        }
src/main/java/com/zy/core/thread/impl/LfdZyForkLiftSlaveThread.java
@@ -87,7 +87,7 @@
                }
                read();
                Thread.sleep(200);
                Thread.sleep(800);
                execute();
            } catch (Exception e) {
                e.printStackTrace();
@@ -131,19 +131,7 @@
    private void readStatus() {
        try {
            //获取提升机数据
            HashMap<String, Object> resultData = this.masterThread.read(this.slave.getId(), "status");
            if (resultData == null) {
                OutputQueue.FORKLIFT.offer(MessageFormat.format("【{0}】{1}读取货叉提升机状态信息失败", DateUtils.convert(new Date()), slave.getId()));
                return;
            }
            if (Integer.parseInt(resultData.get("slaveId").toString()) != this.slave.getId()) {
                return;
            }
            if (!resultData.get("dbTag").toString().equals("status")) {
                return;
            }
            OperateResultExOne<byte[]> result1 = (OperateResultExOne<byte[]>) resultData.get("data");
            OperateResultExOne<byte[]> result1 = this.masterThread.read(this.slave.getId(), "status");
            SiemensS7Net siemensS7Net = this.masterThread.getSiemensS7Net();
            if (result1.IsSuccess) {
                if (null == forkLiftProtocol) {
@@ -180,18 +168,7 @@
                OutputQueue.FORKLIFT.offer(MessageFormat.format("【{0}】{1}读取货叉提升机状态信息失败", DateUtils.convert(new Date()), slave.getId()));
            }
            //获取提升机数据
            HashMap<String, Object> resultData2 = this.masterThread.read(this.slave.getId(), "staStatus");
            if (resultData2 == null) {
                OutputQueue.FORKLIFT.offer(MessageFormat.format("【{0}】{1}读取货叉提升机状态信息失败", DateUtils.convert(new Date()), slave.getId()));
            }
            if (Integer.parseInt(resultData2.get("slaveId").toString()) != this.slave.getId()) {
                return;
            }
            if (!resultData2.get("dbTag").toString().equals("staStatus")) {
                return;
            }
            OperateResultExOne<byte[]> result2 = (OperateResultExOne<byte[]>) resultData2.get("data");
            OperateResultExOne<byte[]> result2 = this.masterThread.read(this.slave.getId(), "staStatus");
            if (result2.IsSuccess) {
                for (int i = 0; i < this.slave.getSta().size(); i++) {
                    ForkLiftSlave.Sta sta = this.slave.getSta().get(i);
@@ -203,12 +180,6 @@
                    boolean[] status1 = siemensS7Net.getByteTransform().TransBool(result2.Content, i * 2, 2);
                    forkLiftStaProtocol.setHasTray(status1[0]);
                    forkLiftStaProtocol.setHasCar(status1[1]);
                    if (sta.getStaNo() == 1001) {
                        if (forkLiftStaProtocol.getHasTray() == false) {
                            continue;
                        }
                    }
                }
            }