自动化立体仓库 - WCS系统
#
Junjie
7 天以前 7fb7e64c4bd096b031d9a6015f8ee0ac0ae900e1
src/main/java/com/zy/core/thread/impl/LfdZyForkLiftMasterThread.java
@@ -37,17 +37,19 @@
        HashMap<String, Object> lift1 = new HashMap<>();
        lift1.put("status", new DbData("DB101.0", (short) 16));//提升机数据
        lift1.put("staStatus", new DbData("DB102.0", (short) 8));//站点数据
        lift1.put("staStatus", new DbData("DB102.0", (short) 14));//站点数据
        lift1.put("write", new DbData("DB103.0", null));//写入数据
        lift1.put("writeConfirm", new DbData("DB103.8", null));//写入确认数据
        lift1.put("confirm", new DbData("DB103.10", null));//确认命令
        lift1.put("switchIOMode", new DbData("DB103.12", null));//出入库模式
        HashMap<String, Object> lift2 = new HashMap<>();
        lift2.put("status", new DbData("DB104.0", (short) 16));//提升机数据
        lift2.put("staStatus", new DbData("DB105.0", (short) 8));//站点数据
        lift2.put("staStatus", new DbData("DB105.0", (short) 14));//站点数据
        lift2.put("write", new DbData("DB106.0", null));//写入数据
        lift2.put("writeConfirm", new DbData("DB106.8", null));//写入确认数据
        lift2.put("confirm", new DbData("DB106.10", null));//确认命令
        lift2.put("switchIOMode", new DbData("DB106.12", null));//出入库模式
        addressList.add(lift1);
        addressList.add(lift2);
@@ -96,19 +98,38 @@
        }
    }
    public OperateResultExOne<byte[]> read(Integer slaveId, String dbTag) {
    public SiemensS7Net getSiemensS7Net() {
        return siemensS7Net;
    }
    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;
            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;
        } 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()));
        }
        return null;
    }
    public OperateResult write(Integer slaveId, String dbTag, short[] array) {
    public synchronized OperateResult write(Integer slaveId, String dbTag, short[] array) {
        try {
            HashMap<String, Object> map = this.slaveAddressList.get(slaveId - 1);
            DbData dbData = (DbData) map.get(dbTag);
@@ -120,7 +141,7 @@
        return null;
    }
    public OperateResult write(Integer slaveId, String dbTag, short val) {
    public synchronized OperateResult write(Integer slaveId, String dbTag, short val) {
        try {
            HashMap<String, Object> map = this.slaveAddressList.get(slaveId - 1);
            DbData dbData = (DbData) map.get(dbTag);