自动化立体仓库 - WCS系统
#
Junjie
6 天以前 14b5676961c6af8c9b0f497f93abf487543fa5f1
#
2个文件已修改
40 ■■■■ 已修改文件
src/main/java/com/zy/core/thread/impl/LfdZyForkLiftMasterThread.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/impl/LfdZyForkLiftSlaveThread.java 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/impl/LfdZyForkLiftMasterThread.java
@@ -102,12 +102,18 @@
        return siemensS7Net;
    }
    public synchronized OperateResultExOne<byte[]> read(Integer slaveId, String dbTag) {
    public synchronized HashMap<String, Object> 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);
            return result;
            data.put("slaveId", slaveId);
            data.put("dbTag", dbTag);
            data.put("data", result);
            return data;
        } 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
@@ -30,10 +30,7 @@
import lombok.extern.slf4j.Slf4j;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Base64;
import java.util.Date;
import java.util.List;
import java.util.*;
@Slf4j
@SuppressWarnings("all")
@@ -134,11 +131,19 @@
    private void readStatus() {
        try {
            //获取提升机数据
            OperateResultExOne<byte[]> result1 = this.masterThread.read(this.slave.getId(), "status");
            if (result1 == null) {
            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("slaveId").toString().equals("status")) {
                return;
            }
            OperateResultExOne<byte[]> result1 = (OperateResultExOne<byte[]>) resultData.get("data");
            SiemensS7Net siemensS7Net = this.masterThread.getSiemensS7Net();
            if (result1.IsSuccess) {
                if (null == forkLiftProtocol) {
@@ -175,7 +180,18 @@
                OutputQueue.FORKLIFT.offer(MessageFormat.format("【{0}】{1}读取货叉提升机状态信息失败", DateUtils.convert(new Date()), slave.getId()));
            }
            OperateResultExOne<byte[]> result2 = this.masterThread.read(this.slave.getId(), "staStatus");
            //获取提升机数据
            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(resultData.get("slaveId").toString()) != this.slave.getId()) {
                return;
            }
            if (!resultData.get("slaveId").toString().equals("staStatus")) {
                return;
            }
            OperateResultExOne<byte[]> result2 = (OperateResultExOne<byte[]>) resultData.get("data");
            if (result2.IsSuccess) {
                for (int i = 0; i < this.slave.getSta().size(); i++) {
                    ForkLiftSlave.Sta sta = this.slave.getSta().get(i);