#
Junjie
2025-11-27 2aaf47ead1a69ccbaf6a0167ae161aafd3622114
src/main/java/com/zy/core/thread/impl/ZySiemensCrnThread.java
@@ -1,7 +1,5 @@
package com.zy.core.thread.impl;
import HslCommunication.Profinet.Siemens.SiemensPLCS;
import HslCommunication.Profinet.Siemens.SiemensS7Net;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.DateUtils;
@@ -10,13 +8,13 @@
import com.zy.asrs.entity.DeviceConfig;
import com.zy.asrs.entity.DeviceDataLog;
import com.zy.asrs.service.BasCrnpService;
import com.zy.asrs.service.DeviceDataLogService;
import com.zy.asrs.utils.Utils;
import com.zy.common.utils.RedisUtil;
import com.zy.core.News;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.OutputQueue;
import com.zy.core.enums.CrnTaskModeType;
import com.zy.core.enums.RedisKeyType;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.CommandResponse;
import com.zy.core.model.Task;
@@ -109,8 +107,7 @@
    @Override
    public boolean connect() {
        SiemensS7Net siemensS7Net = new SiemensS7Net(SiemensPLCS.S1200, deviceConfig.getIp());
        zyCrnConnectDriver = new ZyCrnConnectDriver(siemensS7Net, deviceConfig);
        zyCrnConnectDriver = new ZyCrnConnectDriver(deviceConfig);
        new Thread(zyCrnConnectDriver).start();
        DeviceConnectPool.put(SlaveType.Crn, deviceConfig.getDeviceNo(), zyCrnConnectDriver);
        return true;
@@ -173,18 +170,16 @@
            crnProtocol.setLastCommandTime(System.currentTimeMillis());
        }
        if (System.currentTimeMillis() - crnProtocol.getDeviceDataLog() > 1000 * 1) {
            //采集时间超过1s,保存一次数据记录
        if (System.currentTimeMillis() - crnProtocol.getDeviceDataLog() > 200) {
            //保存数据记录
            DeviceDataLogService deviceDataLogService = SpringUtils.getBean(DeviceDataLogService.class);
            DeviceDataLog deviceDataLog = new DeviceDataLog();
            deviceDataLog.setOriginData(JSON.toJSONString(crnStatus));
            deviceDataLog.setWcsData(JSON.toJSONString(crnProtocol));
            deviceDataLog.setType(String.valueOf(SlaveType.Crn));
            deviceDataLog.setDeviceNo(crnProtocol.getCrnNo());
            deviceDataLog.setCreateTime(new Date());
            deviceDataLogService.insert(deviceDataLog);
            redisUtil.set(RedisKeyType.DEVICE_LOG_KEY.key + System.currentTimeMillis(), deviceDataLog, 60 * 60 * 24);
            //更新采集时间
            crnProtocol.setDeviceDataLog(System.currentTimeMillis());
        }
@@ -196,6 +191,8 @@
                basCrnp = new BasCrnp();
                basCrnp.setCrnNo(deviceConfig.getDeviceNo());
                basCrnp.setStatus(1);
                basCrnp.setInEnable("N");
                basCrnp.setOutEnable("N");
                basCrnp.setCreateTime(new Date());
                basCrnpService.insert(basCrnp);
            }