cpT
2025-06-19 c1ef2d1fc4c0dae2bc8452924dcd77a0ff3a1ef5
src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -12,6 +12,7 @@
import com.zy.asrs.entity.BasCrnp;
import com.zy.asrs.service.BasCrnOptService;
import com.zy.asrs.service.BasCrnpService;
import com.zy.asrs.service.DeviceErrorService;
import com.zy.core.CrnThread;
import com.zy.core.cache.CrnErrCache;
import com.zy.core.cache.MessageQueue;
@@ -50,6 +51,7 @@
     * 堆垛机是否在回原点运动中标记
     */
    private boolean backHpFlag = false;
    public Long currentTimeMilliConnectCrn= 0L;
    public SiemensCrnThread(CrnSlave slave) {
        this.slave = slave;
@@ -218,6 +220,21 @@
                initCrn();
                OutputQueue.CRN.offer(MessageFormat.format("【{0}】读取堆垛机plc状态信息失败 ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()));
                log.error("读取堆垛机plc状态信息失败 ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
                if (System.currentTimeMillis()-currentTimeMilliConnectCrn>1000*60*10){
                    try{
                        DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
                        deviceErrorService.addDeviceError("Crn", slave.getId(), "读取堆垛机plc状态信息失败");
                    } catch (Exception e2){
                        Thread.sleep(1000);
//                log.error("e2:"+e2.getMessage());
                    }
                    if (currentTimeMilliConnectCrn == 0){
                        currentTimeMilliConnectCrn = System.currentTimeMillis()-1000*60*10-1;
                    } else {
                        currentTimeMilliConnectCrn = System.currentTimeMillis();
                    }
                }
            }
        } catch (Exception e) {
            e.printStackTrace();