自动化立体仓库 - WCS系统
#
lsh
2024-07-12 ab43a814da847a9e533732191b4ed54c01b95d09
src/main/java/com/zy/core/thread/JarThread.java
@@ -118,9 +118,26 @@
    private void readStatus(){
        try {
            if (slave.getId()>4){
                if (null == jarProtocol) {
                    jarProtocol = new JarProtocol();
                    jarProtocol.setJarNo(slave.getId());
                }
                jarProtocol.setMode(2);//模式
                jarProtocol.setStatus((short)0);//状态
                jarProtocol.setAutoing(true);//自动
                jarProtocol.setRightDoor(true);//左门状态  //出料门
                jarProtocol.setLeftDoor(true);//右门状态  //进料门
                jarProtocol.setLeftDoorOpen(0);//open the left door  //进料门
                jarProtocol.setLeftDoorClose(0);//close the left door  //进料门
                jarProtocol.setRightDoorOpen(0);//open the right door  //出料门
                jarProtocol.setRightDoorClose(0);//close the right door  //出料门
                jarProtocol.setJarTemperature(0);
                return;
            }
            OperateResultExOne<byte[]> result = siemensS7Net.Read("V300", (short) 26);
            OperateResultExOne<byte[]> result = siemensS7Net.Read("V300", (short) 28);
            if (result.IsSuccess) {
                if (null == jarProtocol) {
                    jarProtocol = new JarProtocol();
@@ -152,12 +169,13 @@
                jarProtocol.setMode((int)siemensS7Net.getByteTransform().TransInt16(result.Content, 12));//模式
                jarProtocol.setJarErr((int)siemensS7Net.getByteTransform().TransInt16(result.Content, 14));//异常码
                jarProtocol.setStatus(siemensS7Net.getByteTransform().TransInt16(result.Content, 16));//状态
                jarProtocol.setJarTemperature((int)siemensS7Net.getByteTransform().TransInt16(result.Content, 18));//温度
                jarProtocol.setAutoing(siemensS7Net.getByteTransform().TransInt16(result.Content, 12) == 2);//自动
//
//                jarProtocol.setMode(2);//模式
//                jarProtocol.setStatus((short)1);//状态
//                jarProtocol.setStatus((short)6);//状态
//                jarProtocol.setLeftDoorOpen(0);//open the left door  //进料门
//                jarProtocol.setLeftDoorClose(0);//close the left door  //进料门
//                jarProtocol.setRightDoorOpen(0);//open the right door  //出料门
@@ -251,7 +269,7 @@
        do {
            try{
                if(!result1.IsSuccess){
                    log.error("写入硫化罐plc数据失败,重新下发任务  写入直接失败 ===>> [id:{}],{},[写入次数:{}]", slave.getId(), JSON.toJSON(command),writeCount);
                    log.error("写入硫化罐plc数据失败,重新下发任务  写入直接失败 ===>> [id:{}],{},[写入次数:{}]", slave.getId(), JSON.toJSONString(command),writeCount);
                    result1 = siemensS7Net.Write(resultV1, resultS1);
                    Thread.sleep(100);
                    writeCount++;
@@ -263,14 +281,14 @@
                    if (transInt16 == resultS1 || transInt16 == (short) 2 || transInt16 == (short) 3){
                        break;
                    } else {
                        log.error("写入硫化罐plc数据失败,重新下发任务  写入直接失败 ===>> [id:{}],{},[写入次数:{}]", slave.getId(), JSON.toJSON(command),writeCount);
                        log.error("写入硫化罐plc数据失败,重新下发任务  写入直接失败 ===>> [id:{}],{},[写入次数:{}]", slave.getId(), JSON.toJSONString(command),writeCount);
                        result1 = siemensS7Net.Write(resultV1, resultS1);
                        Thread.sleep(100);
                        writeCount++;
                        continue;
                    }
                } else {
                    log.error("写入硫化罐plc数据失败,重新下发任务  写入直接失败 ===>> [id:{}],{},[写入次数:{}]", slave.getId(), JSON.toJSON(command),writeCount);
                    log.error("写入硫化罐plc数据失败,重新下发任务  写入直接失败 ===>> [id:{}],{},[写入次数:{}]", slave.getId(), JSON.toJSONString(command),writeCount);
                    result1 = siemensS7Net.Write(resultV1, resultS1);
                    Thread.sleep(100);
                    writeCount++;
@@ -286,7 +304,7 @@
        do {
            try{
                if(!result2.IsSuccess){
                    log.error("写入硫化罐plc数据失败,重新下发任务  写入直接失败 ===>> [id:{}],{},[写入次数:{}]", slave.getId(), JSON.toJSON(command),writeCount);
                    log.error("写入硫化罐plc数据失败,重新下发任务  写入直接失败 ===>> [id:{}],{},[写入次数:{}]", slave.getId(), JSON.toJSONString(command),writeCount);
                    result2 = siemensS7Net.Write(resultV2, resultS2);
                    Thread.sleep(100);
                    writeCount++;
@@ -298,14 +316,14 @@
                    if (transInt16 == resultS1  || transInt16 == (short) 3){
                        break;
                    } else {
                        log.error("写入硫化罐plc数据失败,重新下发任务  写入直接失败 ===>> [id:{}],{},[写入次数:{}]", slave.getId(), JSON.toJSON(command),writeCount);
                        log.error("写入硫化罐plc数据失败,重新下发任务  写入直接失败 ===>> [id:{}],{},[写入次数:{}]", slave.getId(), JSON.toJSONString(command),writeCount);
                        result2 = siemensS7Net.Write(resultV2, resultS2);
                        Thread.sleep(100);
                        writeCount++;
                        continue;
                    }
                } else {
                    log.error("写入硫化罐plc数据失败,重新下发任务  写入直接失败 ===>> [id:{}],{},[写入次数:{}]", slave.getId(), JSON.toJSON(command),writeCount);
                    log.error("写入硫化罐plc数据失败,重新下发任务  写入直接失败 ===>> [id:{}],{},[写入次数:{}]", slave.getId(), JSON.toJSONString(command),writeCount);
                    result2 = siemensS7Net.Write(resultV2, resultS2);
                    Thread.sleep(100);
                    writeCount++;