自动化立体仓库 - WCS系统
#
luxiaotao1123
2022-09-27 d66490d4dfbc811bca51a98c08dbbc444e258a30
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -49,6 +49,10 @@
        add(300);
    }};
    public boolean charge0;
    public boolean charge1;
    public boolean charge2;
    public SiemensDevpThread(DevpSlave slave) {
        this.slave = slave;
    }
@@ -159,7 +163,7 @@
        }
        //读条码
        Thread.sleep(200);
        Thread.sleep(100);
        OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB100.100",(short)(barcodeSize*8));
        if (result2.IsSuccess) {
            for (int i = 0; i < barcodeSize; i++) {
@@ -170,6 +174,16 @@
                }
            }
        }
        // 充电信号位
        Thread.sleep(100);
        OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB102.50", (short)1);
        if (result3.IsSuccess) {
            boolean[] status = siemensS7Net.getByteTransform().TransBool(result3.Content, 0, 1);
            charge0 = status[0];
            charge1 = status[1];
            charge2 = status[2];
        }
        if (result.IsSuccess && result0.IsSuccess && result1.IsSuccess) {
@@ -249,6 +263,22 @@
        }
    }
    /**
     * 充电控制
     * @param index 充电桩序号 0 开始
     * @param open true 开始充电;false 结束充电
     */
    public boolean charge(int index, boolean open) {
        OperateResult write = siemensS7Net.Write("DB102.50." + (index + 3), open);
        if (!write.IsSuccess) {
            log.error("输送线plc编号={} {}号充电桩{}控制失败", slave.getId(), index + 1, open?"打开":"关闭");
            return false;
        } else {
            log.error("输送线plc编号={} {}号充电桩{}控制成功", slave.getId(), index + 1, open?"打开":"关闭");
        }
        return true;
    }
    @Override
    public void close() {
        siemensS7Net.ConnectClose();