huang
2025-09-03 6c9369ab9b7da99687857004470e8d7824eb69ae
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineLoad.java
@@ -36,6 +36,7 @@
    public Machine thisMachine;
    //public Long machineId = 2L;
    public List<Map> sendRecords = new ArrayList<>();
    public MachineLoad(Machine machine,PrimitiveTaskMapper primitiveTaskMapper,TaskingMapper taskingMapper, MachineMapper machineMapper, TaskingService taskingService, PrimitiveTaskService primitiveTaskService, LineConfigurationService lineConfigurationService){
        this.thisMachine = machine;
        this.primitiveTaskMapper = primitiveTaskMapper;
@@ -45,12 +46,18 @@
        this.primitiveTaskService = primitiveTaskService;
        this.lineConfigurationService = lineConfigurationService;
    }
    public void plcStart() {
        Machine machine=machineMapper.selectById(thisMachine.getId());
        ModbusTcp modbusTcp1 =new ModbusTcp(machine.getIp(),machine.getPort(),machine.getFileName());
        modbusTcp1.connect();
        PlcAgreement plcAgreement=modbusTcp1.getPlcAgreement(machine.getFileName());
        ModbusTcp modbusTcp1 = null;
        try {
            Machine machine = machineMapper.selectById(thisMachine.getId());
            modbusTcp1 = new ModbusTcp(machine.getIp(), machine.getPort(), machine.getFileName());
            if (!modbusTcp1.connect()) {
                log.error("连接PLC失败,退出本次操作");
                return;
            }
            PlcAgreement plcAgreement = modbusTcp1.getPlcAgreement(machine.getFileName());
            if(!modbusTcp1.read(plcAgreement)){
                log.info("通讯读取新数据失败");
                if(!"关机".equals(machine.getStatePowerOn())){
@@ -151,9 +158,14 @@
            }
        } catch (Exception e) {
            log.info("交互逻辑错误");
        }
        } finally {
            // 确保连接关闭
            if (modbusTcp1 != null) {
        modbusTcp1.close();
    }
        }
    }
    @Override
    public void run() {
        while (this != null) {