野心家
2023-08-28 167d58392c667c7ab02de2d5a9f86c8a7842520f
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -206,14 +206,14 @@
        Thread.sleep(200);
        //测试柜状态获取
        OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB38.0", (short) 96);
        OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB38.0", (short) 48);
        //启动移库按钮
        OperateResultExOne<byte[]> result6 = siemensS7Net.Read("DB102.0", (short) 96);
        //消防报警
        OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB108.0", (short) 48);
        OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB108.0", (short) 96);
        if(result3.IsSuccess) {
            for(int i=0; i<48; i++){
                startSignal[i][0] = siemensS7Net.getByteTransform().TransByte(result3.Content, i*2);//测试柜状态
                startSignal[i][0] = siemensS7Net.getByteTransform().TransByte(result3.Content, i);//测试柜状态
                startSignal[i][1] = siemensS7Net.getByteTransform().TransBool(result4.Content, i)?1:0;//消防状态
                startSignal[i][2] = siemensS7Net.getByteTransform().TransInt16(result6.Content, i*2);//启动按钮状态
            }
@@ -288,11 +288,17 @@
        boolean idFlag = false;
        OperateResult write;
        while(idCount < 5){
            write = siemensS7Net.Write("DB100." + index*4, array);    // 写
            if(write.IsSuccess){
                Thread.sleep(200);
                OperateResultExOne<byte[]> readId = siemensS7Net.Read("DB101.0", (short) (staNoSize*2));
                if(readId.IsSuccess){
                OperateResultExOne<byte[]> readId = siemensS7Net.Read("DB100." + index*4, (short) (staNoSize*2));
                  if(readId.IsSuccess){
                    if(staProtocol.getWorkNo()!=0&&staProtocol.getWorkNo()!=9999){
                        if(!staProtocol.isInEnable()&&(staProtocol.getSiteId()==201||staProtocol.getSiteId()==206)){
                            break;
                        }
                    }
                    short workNo = siemensS7Net.getByteTransform().TransInt16(readId.Content, 0);
                    if(staProtocol.getWorkNo().equals(workNo)){
                        //工作号写入成功