#
mrzhssss
2022-12-06 c84c97b5ef3044d77d81b4ca2286af5840a74dba
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -51,7 +51,7 @@
    /**
     * 条码数量
     */
    private int barcodeSize = 3;
    private int barcodeSize = 1;
    /**
     * 入出库模式
@@ -90,6 +90,10 @@
                    case 2:
                        write((StaProtocol)task.getData());
                        break;
                    case 3:
                        OperateResult write = siemensS7Net.Write("DB100.170" , (short) 1);
                        log.info("母托出库成功");
                        break;
                    default:
                        break;
                }
@@ -127,7 +131,7 @@
     */
    private void read() throws InterruptedException {
//        // 更新入出库模式
        updateIoMode();
//        updateIoMode();
        int staNoSize = staNos.size();
        OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100.0", (short) (staNoSize*4));
        if (result.IsSuccess) {
@@ -159,11 +163,11 @@
//            }
//        }
        Thread.sleep(200);
        OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB100.100", (short) (staNoSize));
        OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB100.100", (short) (staNoSize * 2));
        if (result1.IsSuccess) {
            for (int i = 0; i < staNoSize; i++) {
                Integer siteId = staNos.get(i); // 站点编号
                boolean[] status = siemensS7Net.getByteTransform().TransBool(result1.Content, i, 1);
                boolean[] status = siemensS7Net.getByteTransform().TransBool(result1.Content, i*2, 1);
                StaProtocol staProtocol = station.get(siteId);
                staProtocol.setAutoing(status[0]);  // 自动
                staProtocol.setLoading(status[1]);  // 有物
@@ -180,6 +184,7 @@
            }
        }
        //条码扫描器
        Thread.sleep(200);
        OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB100.150",(short)(barcodeSize*8));
        if (result2.IsSuccess) {
@@ -192,11 +197,37 @@
            }
        }
        //RGV小车
        Thread.sleep(200);
        OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB100.160",(short)2);
        if (result3.IsSuccess) {
            Integer siteId = 16;
            StaProtocol staProtocol = station.get(siteId);
            if (null == staProtocol) {
                staProtocol = new StaProtocol();
                staProtocol.setSiteId(siteId);
                station.put(siteId, staProtocol);
            }
            staProtocol.setNearbySta(String.valueOf(siemensS7Net.getByteTransform().TransInt16(result3.Content, 0)));
        }
//        OperateResultExOne<Short> result2 = siemensS7Net.ReadInt16("DB200.0");
//        if (result2.IsSuccess) {
//            this.ioMode = IoModeType.get(result2.Content);
//        }
        /**
         * 母托盘出库
         */
        Thread.sleep(200);
        OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB100.172",(short)2);
        if (result4.IsSuccess) {
            Integer siteId = 12;
            StaProtocol staProtocol = station.get(siteId);
            if (null == staProtocol) {
                staProtocol = new StaProtocol();
                staProtocol.setSiteId(siteId);
                station.put(siteId, staProtocol);
            }
            staProtocol.setAllowEmptyOut(String.valueOf(siemensS7Net.getByteTransform().TransInt16(result4.Content, 0)));
        }
        if (result.IsSuccess && result1.IsSuccess) {