#
野心家
2023-08-02 f778d39fbbb49efe4dd0aaa0b2f89ed7fa3d5ea6
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -41,16 +41,18 @@
    private DevpSlave slave;
    private SiemensS7Net siemensS7Net;
    public boolean[] startSignal = new boolean[8];
    private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>();
    private short heartBeatVal = 1;
//    public static final ArrayList<Integer> staNos = new ArrayList<Integer>() {{
//
//    }};
    public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{
        add(1);add(2);add(3);add(4);
        add(5);add(6);add(7);add(8);
        add(9);add(10);add(11);add(12);
        add(13);
        add(100);add(101);add(102);add(103);
        add(104);add(105);add(106);add(107);
        add(108);add(109);add(110);add(111);
        add(1000);
    }};
@@ -61,7 +63,7 @@
    /**
     * 条码数量
     */
    private int barcodeSize = 6;
    private int barcodeSize = 1;
    /**
     * 入出库模式
@@ -212,7 +214,7 @@
//        }
        //条码扫描器
        Thread.sleep(200);
        OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB100.200",(short)(8));
        OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.26",(short)(8));
        if (result2.IsSuccess) {
            if (slave.getId()==1){
                    String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,0,8, "UTF-8");
@@ -226,8 +228,15 @@
        }
        //接收超宽超高没扫到条码报警
        Thread.sleep(200);
        OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB102.100", (short) (staNoSize * 2));
        OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB101.34",(short)(1));
        if (result4.IsSuccess) {
            startSignal = siemensS7Net.getByteTransform().TransBool(result4.Content, 0, 1);
        }
        Thread.sleep(200);
        OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB101.0", (short) (staNoSize * 2));
        if (result1.IsSuccess) {
            for (int i = 0; i < staNoSize; i++) {
                Integer siteId = staNos.get(i); // 站点编号
@@ -296,9 +305,9 @@
        //RGV台车位置
        Thread.sleep(200);
        OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB100.1",(short)2);
        OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB100.160",(short)2);
        if (result3.IsSuccess) {
                Integer siteId = 13; // 站点编号
                Integer siteId = 1000; // 站点编号
                StaProtocol staProtocol = station.get(siteId);
                if (null == staProtocol) {
                    staProtocol = new StaProtocol();
@@ -376,13 +385,13 @@
        //任务下发次数
        int writeCount = 0;
        do {
            write = siemensS7Net.Write("DB100." + index*2, staProtocol.getWorkNo());    // 工作号
            write = siemensS7Net.Write("DB100." + index*4, staProtocol.getWorkNo());    // 工作号
            Thread.sleep(500);
            write1 = siemensS7Net.Write("DB101." + index*2, staProtocol.getStaNo());    // 目标站
            write1 = siemensS7Net.Write("DB100." + (index*4+2), staProtocol.getStaNo());    // 目标站
            if(write.IsSuccess || write1.IsSuccess){
                Thread.sleep(200);
                OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB100." + index*2, (short) 2);
                OperateResultExOne<byte[]> readResult1 = siemensS7Net.Read("DB101." + index*2, (short) 2);
                OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB100." + index*4, (short) 2);
                OperateResultExOne<byte[]> readResult1 = siemensS7Net.Read("DB100." + (index*4+2), (short) 2);
                if(readResult.IsSuccess && readResult1.IsSuccess){
                    short workNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 0);
                    short staNo = siemensS7Net.getByteTransform().TransInt16(readResult1.Content, 0);