#
Junjie
2025-11-07 b890d1c574d3d8332def7f4590508a7918139ae0
src/main/java/com/zy/core/thread/impl/ZySiemensCrnThread.java
@@ -3,10 +3,13 @@
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;
import com.core.common.SpringUtils;
import com.zy.asrs.entity.BasCrnp;
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;
@@ -66,12 +69,15 @@
                    case 1:
                        readStatus();
                        break;
                    case 2:
                        sendCommand((CrnCommand) task.getData());
                        break;
                    default:
                        break;
                }
                Thread.sleep(200);
            } catch (Exception e) {
//                e.printStackTrace();
                e.printStackTrace();
            }
        }
    }
@@ -106,9 +112,9 @@
    @Override
    public boolean connect() {
        SiemensS7Net siemensS7Net = new SiemensS7Net(SiemensPLCS.S1200, deviceConfig.getIp());
        ThreadHandler thread = new ZyCrnConnectThread(siemensS7Net, deviceConfig);
        new Thread(thread).start();
        DeviceConnectPool.put(SlaveType.Crn, deviceConfig.getDeviceNo(), thread);
        zyCrnConnectThread = new ZyCrnConnectThread(siemensS7Net, deviceConfig);
        new Thread(zyCrnConnectThread).start();
        DeviceConnectPool.put(SlaveType.Crn, deviceConfig.getDeviceNo(), zyCrnConnectThread);
        return true;
    }
@@ -184,6 +190,18 @@
            //更新采集时间
            crnProtocol.setDeviceDataLog(System.currentTimeMillis());
        }
        BasCrnpService basCrnpService = SpringUtils.getBean(BasCrnpService.class);
        if (basCrnpService != null) {
            BasCrnp basCrnp = basCrnpService.selectOne(new EntityWrapper<BasCrnp>().eq("crn_no", deviceConfig.getDeviceNo()));
            if(basCrnp == null) {
                basCrnp = new BasCrnp();
                basCrnp.setCrnNo(deviceConfig.getDeviceNo());
                basCrnp.setStatus(1);
                basCrnp.setCreateTime(new Date());
                basCrnpService.insert(basCrnp);
            }
        }
    }
    @Override