#
LSH
2023-01-29 e26ec12fc616abfb24c1ce5bd48ede15b21fc327
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -132,7 +132,7 @@
                }
                // 心跳
//                heartbeat();
                Thread.sleep(400);
                Thread.sleep(300);
            } catch (Exception e) {
                e.printStackTrace();
            }
@@ -228,6 +228,31 @@
//                staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result0.Content, i*2));   // 目标站
//            }
//        }
        //条码扫描器
        Thread.sleep(200);
        OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB100.200",(short)(barcodeSize/2*8));
        if (result2.IsSuccess) {
            if (slave.getId()==1){
                for (int i = 0; i < barcodeSize/2; i++) {
                    String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*8,8, "UTF-8");
                    BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1);
                    if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)){
//                            && !Cools.isEmpty(barcode) && Cools.isEmpty(barcodeThread.getBarcode())) {
                        barcodeThread.setBarcode(barcode);
                    }
                }
            }else if (slave.getId()==2){
                for (int i = barcodeSize/2; i < barcodeSize; i++) {
                    String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,(i-barcodeSize/2)*8,8, "UTF-8");
                    BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1);
                    if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)){
//                            && !Cools.isEmpty(barcode) && Cools.isEmpty(barcodeThread.getBarcode())) {
                        barcodeThread.setBarcode(barcode);
                    }
                }
            }
        }
        Thread.sleep(200);
        OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB102.100", (short) (staNoSize * 2));
        if (result1.IsSuccess) {
@@ -247,22 +272,51 @@
                if (!staProtocol.isPakMk() && !staProtocol.isLoading()) {
                    staProtocol.setPakMk(true);
                }
            }
        }
        //条码扫描器
        Thread.sleep(200);
        OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB100.200",(short)(barcodeSize*8));
        if (result2.IsSuccess) {
            for (int i = 0; i < barcodeSize; i++) {
                String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*8,8, "UTF-8");
                BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1);
                if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
                    barcodeThread.setBarcode(barcode);
                if (staProtocol.getStamp()>=2 && !staProtocol.isLoading()){
                    staProtocol.setStamp(0);
                }else if (staProtocol.getStamp()<2 && staProtocol.isLoading()){
                    //lfd入库印记  当stamp>=2时才入库
                    staProtocol.setStamp(staProtocol.getStamp()+1);
                }
            }
//                //20230110,日志打印,确认收到入库站可入信号时,对应条码数据是否已有
//                if ((siteId==101 || siteId==109 || siteId==117 || siteId==201 || siteId==207 || siteId==213)
//                        && staProtocol.isInEnable()){
//                    Integer barcodeId = 0;
//                    switch (siteId){
//                        case 101:
//                            barcodeId=1;
//                            break;
//                        case 109:
//                            barcodeId=2;
//                            break;
//                        case 117:
//                            barcodeId=3;
//                            break;
//                        case 201:
//                            barcodeId=4;
//                            break;
//                        case 207:
//                            barcodeId=5;
//                            break;
//                        case 213:
//                            barcodeId=6;
//                            break;
//                    }
//                    BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, barcodeId);
//                    if(barcodeThread!=null){
//                        //lfd入库印记  当stamp>=2时才入库
//                        staProtocol.setStamp(staProtocol.getStamp()+1);
//                        log.info("{}站有可入信号时,条码值为{}", siteId, barcodeThread.getBarcode());
//                        if(Cools.isEmpty(barcodeThread.getBarcode())){
//                            staProtocol.setInEnable(false);//条码数据为空时,先清一次内存的站点可入信号,等待下一次获取可入信号
//                        }
//                    }
//                }
            }
        }
//        //RGV小车
//        Thread.sleep(200);
//        OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB100.160",(short)2);