Browse Source

fix:初始化日志调整

master
白凤吉 3 months ago
parent
commit
f7eb5e2d03
  1. 4
      src/main/java/com/iflytop/gd/app/core/device/DeviceState.java
  2. 17
      src/main/java/com/iflytop/gd/app/service/DeviceInitService.java
  3. 47
      src/main/java/com/iflytop/gd/app/service/scheduled/FetchTemperatureScheduledTask.java

4
src/main/java/com/iflytop/gd/app/core/device/DeviceState.java

@ -27,10 +27,10 @@ public class DeviceState {
@Schema(description = "龙门架机械臂状态")
private final GantryArmState gantryArm = new GantryArmState();
@Schema(description = "加液操作模块属性")
@Schema(description = "加液模块属性")
private final SolutionModuleState solutionModule = new SolutionModuleState();
@Schema(description = "加热操作模块属性")
@Schema(description = "加热模块属性")
private final List<HeatModuleState> heatModule = new ArrayList<>();
@Schema(description = "托盘")

17
src/main/java/com/iflytop/gd/app/service/DeviceInitService.java

@ -33,10 +33,11 @@ public class DeviceInitService {
@PostConstruct
public void init() {
new Thread(() -> {
try{
try {
initDeviceSetData();
initDeviceState();
}catch (Exception ignored){}
} catch (Exception ignored) {
}
}).start();
}
@ -60,20 +61,14 @@ public class DeviceInitService {
}
reader.close();
} catch (Exception e) {
initDeviceSetData();
log.error("设备初始化失败", e);
initDeviceSetData();
}
}
public void sendToDevice(DeviceInitializationData data) {
try {
log.info("初始化设备: {} - {} = {}", data.getMid(), data.getRegIndex(), data.getRegInitVal());
canBusService.moduleSetReg(MId.valueOf(data.getMid()), RegIndex.valueOf(data.getRegIndex()), data.getRegInitVal());
} catch (HardwareException e) {
log.error("初始化设备错误: {} - {} = {}", data.getMid(), data.getRegIndex(), data.getRegInitVal());
throw new RuntimeException(e);
}
public void sendToDevice(DeviceInitializationData data) throws HardwareException {
canBusService.moduleSetReg(MId.valueOf(data.getMid()), RegIndex.valueOf(data.getRegIndex()), data.getRegInitVal());
}
public void initDeviceState() {

47
src/main/java/com/iflytop/gd/app/service/scheduled/FetchTemperatureScheduledTask.java

@ -1,13 +1,56 @@
package com.iflytop.gd.app.service.scheduled;
import com.iflytop.gd.app.core.device.HeatModuleState;
import com.iflytop.gd.app.service.DeviceStateService;
import com.iflytop.gd.common.enums.HeatModuleCode;
import com.iflytop.gd.hardware.service.GDDeviceStatusService;
import com.iflytop.gd.hardware.type.driver.HeaterRodSlavedId;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import java.util.List;
@Slf4j
@Service
@RequiredArgsConstructor
public class FetchTemperatureScheduledTask {
private final GDDeviceStatusService gdDeviceStatusService;
private final DeviceStateService deviceStateService;
@Scheduled(fixedRate = 30000)
public void fetchTemperature() {
System.out.println("Fetching temperature task is running: " + System.currentTimeMillis());
// 任务逻辑
try {
if(!deviceStateService.getDeviceState().isVirtual()){
Double heatModule01Temperature = gdDeviceStatusService.getHeaterRodTemperature(HeaterRodSlavedId.HEATER_ROD1_ID);
deviceStateService.setHeatModuleStateTemperature(HeatModuleCode.heat_module_01, heatModule01Temperature);
Double heatModule02Temperature = gdDeviceStatusService.getHeaterRodTemperature(HeaterRodSlavedId.HEATER_ROD2_ID);
deviceStateService.setHeatModuleStateTemperature(HeatModuleCode.heat_module_02, heatModule02Temperature);
Double heatModule03Temperature = gdDeviceStatusService.getHeaterRodTemperature(HeaterRodSlavedId.HEATER_ROD3_ID);
deviceStateService.setHeatModuleStateTemperature(HeatModuleCode.heat_module_03, heatModule03Temperature);
Double heatModule04Temperature = gdDeviceStatusService.getHeaterRodTemperature(HeaterRodSlavedId.HEATER_ROD4_ID);
deviceStateService.setHeatModuleStateTemperature(HeatModuleCode.heat_module_04, heatModule04Temperature);
Double heatModule05Temperature = gdDeviceStatusService.getHeaterRodTemperature(HeaterRodSlavedId.HEATER_ROD5_ID);
deviceStateService.setHeatModuleStateTemperature(HeatModuleCode.heat_module_05, heatModule05Temperature);
Double heatModule06Temperature = gdDeviceStatusService.getHeaterRodTemperature(HeaterRodSlavedId.HEATER_ROD6_ID);
deviceStateService.setHeatModuleStateTemperature(HeatModuleCode.heat_module_06, heatModule06Temperature);
}else{
List<HeatModuleState> heatModuleStateList = deviceStateService.getDeviceState().getHeatModule();
for (HeatModuleState heatModuleState : heatModuleStateList) {
if(heatModuleState.isHeating()){
deviceStateService.setHeatModuleStateTemperature(heatModuleState.getModuleCode(), 999);
}
}
}
} catch (Exception e) {
log.error("定时采集加热棒温度错误", e);
}
}
}
Loading…
Cancel
Save