#
yxFwq
2024-07-18 bf7f18b252078aa07b7df4a2b51a36e320663730
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -318,6 +318,7 @@
                        staProtocol.setEndRow(siemensS7Net.getByteTransform().TransInt16(resultRgv2.Content, 0));     // 小车目标位
                        staProtocol.setNowRow(siemensS7Net.getByteTransform().TransInt16(resultRgv.Content, 2));   // 当前位置
//                        staProtocol.setNowRow((short)2);   // 当前位置
                        boolean[] status = siemensS7Net.getByteTransform().TransBool(resultRgv.Content, 4, 1);
                        staProtocol.setRGV1(status[0]);  // 小车无货空闲
@@ -466,26 +467,8 @@
        Integer siteId = staProtocol.getSiteId();
        Integer index =0;
        switch (siteId){
            case 118:
            case 607:
                index=0;
                break;
            case 119:
                index=1;
                break;
            case 120:
                index=2;
                break;
            case 121:
                index=3;
                break;
            case 131:
                index=4;
                break;
            case 135:
                index=5;
                break;
            case 147:
                index=6;
                break;
            default:
                return;
@@ -495,7 +478,7 @@
        //任务下发次数
        int writeCount = 0;
        do {
            write = siemensS7Net.Write("DB100.600." + index, true);    // 任务完成
            write = siemensS7Net.Write("DB100.1872", (short) 1);    // 任务完成
            if(write.IsSuccess){
                writeCount=6;
            }else {
@@ -524,26 +507,8 @@
        Integer siteId = staProtocol.getSiteId();
        Integer index =0;
        switch (siteId){
            case 118:
            case 607:
                index=0;
                break;
            case 119:
                index=1;
                break;
            case 120:
                index=2;
                break;
            case 121:
                index=3;
                break;
            case 131:
                index=4;
                break;
            case 135:
                index=5;
                break;
            case 147:
                index=6;
                break;
            default:
                return;
@@ -553,10 +518,10 @@
        //任务下发次数
        int writeCount = 0;
        do {
            write = siemensS7Net.Write("DB100.600." + index, false);    // 任务完成复位
            write = siemensS7Net.Write("DB100.1872", (short) 0);    // 任务完成复位
            if(write.IsSuccess){
                writeCount=6;
            }else {
            } else {
                writeCount++;
                log.error("写入输送线命令后读取失败。输送线plc编号={},站点数据={},写入次数={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
            }
@@ -974,43 +939,43 @@
        String resultV1 = "";
        switch (devNo){
            case 1:
                resultV1 = "DB100.1824";
                resultV1 = "DB500.0.0";
                break;
            case 2:
                resultV1 = "DB100.1836";
                resultV1 = "DB500.0.1";
                break;
            case 3:
                resultV1 = "DB100.1848";
                resultV1 = "DB500.0.2";
                break;
            default:
                return;
        }
        OperateResult result = siemensS7Net.Write(resultV1, (short) 1);
        OperateResult result = siemensS7Net.Write(resultV1, true);
        Integer writeCount = 0;
        do {
            try{
                if(!result.IsSuccess){
                    log.error("写入RGV数据失败,重新下发任务  写入直接失败 ===>> [id:{}],{},[写入次数:{}]", slave.getId(), JSON.toJSONString(devNo),writeCount);
                    result = siemensS7Net.Write(resultV1, (short) 1);
                    result = siemensS7Net.Write(resultV1, true);
                    Thread.sleep(100);
                    writeCount++;
                    continue;
                }
                OperateResultExOne<byte[]> resultRead1 = siemensS7Net.Read("resultV1", (short) 2);
                OperateResultExOne<byte[]> resultRead1 = siemensS7Net.Read("resultV1", (short) 1);
                if (resultRead1.IsSuccess) {
                    short transInt16 = siemensS7Net.getByteTransform().TransInt16(resultRead1.Content, 0);
                    if (transInt16 == (short) 1){
                    boolean[] status = siemensS7Net.getByteTransform().TransBool(resultRead1.Content, 0, 1);
                    if (status[devNo-1]){
                        break;
                    } else {
                        log.error("写入RGV数据失败,重新下发任务  写入直接失败 ===>> [id:{}],{},[写入次数:{}]", slave.getId(), JSON.toJSONString(devNo),writeCount);
                        result = siemensS7Net.Write(resultV1, (short) 1);
                        result = siemensS7Net.Write(resultV1, true);
                        Thread.sleep(100);
                        writeCount++;
                        continue;
                    }
                } else {
                    log.error("写入RGV数据失败,重新下发任务  写入直接失败 ===>> [id:{}],{},[写入次数:{}]", slave.getId(), JSON.toJSONString(devNo),writeCount);
                    result = siemensS7Net.Write(resultV1, (short) 1);
                    result = siemensS7Net.Write(resultV1, true);
                    Thread.sleep(100);
                    writeCount++;
                    continue;