#
luxiaotao1123
2022-10-27 479d51e0c9662bebfe37a48401ec23fbd6496d0e
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -15,6 +15,7 @@
import com.zy.core.cache.OutputQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
import com.zy.core.enums.SteChargeType;
import com.zy.core.model.DevpSlave;
import com.zy.core.model.Task;
import com.zy.core.model.protocol.StaProtocol;
@@ -179,8 +180,8 @@
        // 充电信号位
        Thread.sleep(100);
        OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB102.50", (short)1);
        if (result2.IsSuccess) {
            boolean[] status = siemensS7Net.getByteTransform().TransBool(result1.Content, 0, 1);
        if (result3.IsSuccess) {
            boolean[] status = siemensS7Net.getByteTransform().TransBool(result3.Content, 0, 1);
            charge0 = status[0];
            charge1 = status[1];
            charge2 = status[2];
@@ -269,14 +270,32 @@
     * @param open true 开始充电;false 结束充电
     */
    public boolean charge(int index, boolean open) {
        OperateResult write = siemensS7Net.Write("DB102.50." + index + 3, 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;
    }
    /**
     * 获取空闲充电桩
     */
    public SteChargeType getIdleChargeLocNo() {
        if (!this.charge0) {
            return SteChargeType.FIRST;
        }
        if (!this.charge1) {
            return SteChargeType.SECOND;
        }
        if (!this.charge2) {
            return SteChargeType.THIRD;
        }
        return null;
    }
    @Override
    public void close() {
        siemensS7Net.ConnectClose();