whyclxw
2024-12-02 b9b396b7df56fd8c76005b3856fc1fd8fbc02ee7
控制管理
1个文件已添加
3个文件已修改
239 ■■■■■ 已修改文件
src/main/java/com/whyc/controller/PowerSetparmController.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/dto/PowerParamCmd.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/db_power_fk_rt/PowerSetparm.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/PowerSetparmService.java 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/PowerSetparmController.java
@@ -1,10 +1,16 @@
package com.whyc.controller;
import com.whyc.dto.Response;
import com.whyc.service.PowerSetparmService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@Api(tags = "控制管理")
@@ -12,4 +18,39 @@
public class PowerSetparmController {
    @Autowired
    private PowerSetparmService service;
    @ApiOperation(value = "控制电源开机")
    @GetMapping("controllPowerOpen")
    public Response controllPowerOpen(@RequestParam Integer powerId){
        return service.controllPowerOpen(powerId);
    }
    @ApiOperation(value = "清除变换器故障")
    @GetMapping("controllClearAlm")
    public Response controllClearAlm(@RequestParam Integer powerId){
        return service.controllClearAlm(powerId);
    }
    @ApiOperation(value = "设置电源工作模式:testModeSet(03-逆变并网06-PFC工作)")
    @GetMapping("controllTestModel")
    public Response controllTestModel(@RequestParam Integer powerId,@RequestParam Integer testModeSet){
        return service.controllTestModel(powerId,testModeSet);
    }
    @ApiOperation(value = "设置PFC模式VBus电压")
    @GetMapping("controllVBusVref")
    public Response controllVBusVref(@RequestParam Integer powerId,@RequestParam Integer vbusIrefSet){
        return service.controllVBusVref(powerId,vbusIrefSet);
    }
    @ApiOperation(value = "设置LLCBuck电压")
    @GetMapping("controllLLCBuckVol")
    public Response controllLLCBuckVol(@RequestParam Integer powerId,@RequestParam Integer llcBuckvolSet){
        return service.controllLLCBuckVol(powerId,llcBuckvolSet);
    }
    @ApiOperation(value = "设置LLCBuck电流")
    @GetMapping("controllLLCBuckCurr")
    public Response controllLLCBuckCurr(@RequestParam Integer powerId,@RequestParam Integer llcBuckcurrSet){
        return service.controllLLCBuckCurr(powerId,llcBuckcurrSet);
    }
}
src/main/java/com/whyc/dto/PowerParamCmd.java
New file
@@ -0,0 +1,19 @@
package com.whyc.dto;
public class PowerParamCmd {
    public static final int CMD_WritePowerOpen    =0x20;    //控制电源开关机
    public static final int CMD_WritePowerOpen_Ack    =0x21;//控制电源开关机成功
    public static final int CMD_WriteClearAlm=    0x22;//清除变换器故障
    public static final int CMD_WriteClearAlm_Ack=    0x23;//清除变换器故障成功
    public static final int CMD_WriteVBus_Vref=    0x24;//设置PFC模式VBus
    public static final int CMD_WriteVBus_Vref_Ack=    0x25;//设置PFC模式VBus成功
    public static final int CMD_WritePowerClose    =0x26;//控制电源关机
    public static final int CMD_WritePowerClose_Ack    =0x27;//控制电源关机成功
    public static final int CMD_WriteLLC_BuckVol=0x28;//设置LLC Buck电压
    public static final int CMD_WriteLLC_BuckVol_Ack=0x29;//设置LLC Buck电压成功
    public static final int CMD_WriteLLC_BuckCurr=0x30;//设置LLC Buck电流
    public static final int CMD_WriteLLC_BuckCurr_Ack=0x31;    //设置LLC Buck电流成功
    public static final int CMD_WriteTestModel    =0x32;//设置电源工作模式
    public static final int CMD_WriteTestModel_Ack    =0x33;//设置电源工作模式成功
}
src/main/java/com/whyc/pojo/db_power_fk_rt/PowerSetparm.java
@@ -39,7 +39,7 @@
    private Integer opCmd;
    @ApiModelProperty(value = "设置PFC模式VBus")
    private Integer vbusIrefSet;
    private Float vbusIrefSet;
    @ApiModelProperty(value = "设置电源工作模式")
    private Integer testmodeSet;
src/main/java/com/whyc/service/PowerSetparmService.java
@@ -1,7 +1,184 @@
package com.whyc.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.github.pagehelper.PageHelper;
import com.whyc.dto.PowerParamCmd;
import com.whyc.dto.Response;
import com.whyc.mapper.PowerSetparmMapper;
import com.whyc.pojo.db_power_fk_rt.PowerSetparm;
import com.whyc.util.ActionUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
@Service
public class PowerSetparmService {
    @Autowired(required = false)
    private PowerSetparmMapper mapper;
    //机房命令操作设备时的cmd和ack校验
    public boolean sendCmdToParam(int cmd, int powerId) {
        int m_cmd = cmd;
        int m_cmd_ack = cmd;
        switch (m_cmd) {
            case PowerParamCmd.CMD_WritePowerOpen:
                m_cmd_ack = PowerParamCmd.CMD_WritePowerOpen_Ack;
                break;
            case PowerParamCmd.CMD_WriteClearAlm:
                m_cmd_ack = PowerParamCmd.CMD_WriteClearAlm_Ack;
                break;
            case PowerParamCmd.CMD_WriteVBus_Vref:
                m_cmd_ack = PowerParamCmd.CMD_WriteVBus_Vref_Ack;
                break;
            case PowerParamCmd.CMD_WritePowerClose:
                m_cmd_ack = PowerParamCmd.CMD_WritePowerClose_Ack;
                break;
            case PowerParamCmd.CMD_WriteLLC_BuckVol:
                m_cmd_ack = PowerParamCmd.CMD_WriteLLC_BuckVol_Ack;
                break;
            case PowerParamCmd.CMD_WriteLLC_BuckCurr:
                m_cmd_ack = PowerParamCmd.CMD_WriteLLC_BuckCurr_Ack;
                break;
            case PowerParamCmd.CMD_WriteTestModel:
                m_cmd_ack = PowerParamCmd.CMD_WriteTestModel_Ack;
                break;
            default:
                return false;
        }
        UpdateWrapper updateWrapper=new UpdateWrapper();
        updateWrapper.set("op_cmd",m_cmd);
        updateWrapper.eq("power_id",powerId);
        int flag=mapper.update((PowerSetparm) ActionUtil.objeNull,updateWrapper);
        boolean res_exe = false;
        if(flag>0)
        {
            PageHelper.startPage(1,1);
            QueryWrapper queryWrapper=new QueryWrapper();
            queryWrapper.eq("dev_id",powerId);
            for(int n=0; n<40; n++)
            {
                PowerSetparm param=mapper.selectOne(queryWrapper);
                if(param!=null){
                    if(param.getOpCmd()==m_cmd_ack){
                        res_exe = true;
                        break;
                    }
                    try {
                        Thread.sleep(250);
                    } catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }else {
                    break;
                }
            }
        }
        return res_exe;
    }
    //控制电源开机
    public Response controllPowerOpen(Integer powerId) {
        boolean bl=sendCmdToParam(PowerParamCmd.CMD_WritePowerOpen,powerId);
        return new Response().set(1,bl, bl == true ? "电源开机成功!" : "电源开机失败,请检查网络!");
    }
    //清除变换器故障
    public Response controllClearAlm(Integer powerId) {
        boolean bl=sendCmdToParam(PowerParamCmd.CMD_WriteClearAlm,powerId);
        return new Response().set(1,bl, bl == true ? "清除变换器故障成功!" : "清除变换器故障失败,请检查网络!");
    }
    //设置电源工作模式:testModeSet(03-逆变并网06-PFC工作)
    public Response controllTestModel(Integer powerId, Integer testModeSet) {
        boolean bl = false;
        String msg = "";
        UpdateWrapper updateWrapper=new UpdateWrapper();
        updateWrapper.set("testmode_set",testModeSet);
        updateWrapper.eq("power_id",powerId);
        int flag=mapper.update((PowerSetparm) ActionUtil.objeNull,updateWrapper);
        if (flag>0) {
            bl=sendCmdToParam(PowerParamCmd.CMD_WriteVBus_Vref,powerId);
            if (bl) {
                flag = 1;
                msg = "修改模式参数成功!";
            } else {
                flag = 0;
                msg = "设置电源工作模式失败,请检查网络!";
            }
        } else {
            flag = 0;
            msg = "修改模式参数失败!";
        }
        return new Response().set(1,flag>0?true:false,msg);
    }
    //设置PFC模式VBus电压
    public Response controllVBusVref(Integer powerId, Integer vbusIrefSet) {
        boolean bl = false;
        String msg = "";
        UpdateWrapper updateWrapper=new UpdateWrapper();
        updateWrapper.set("vbus_iref_set",vbusIrefSet);
        updateWrapper.eq("power_id",powerId);
        int flag=mapper.update((PowerSetparm) ActionUtil.objeNull,updateWrapper);
        if (flag>0) {
            bl=sendCmdToParam(PowerParamCmd.CMD_WriteVBus_Vref,powerId);
            if (bl) {
                flag = 1;
                msg = "修改模式参数成功!";
            } else {
                flag = 0;
                msg = "设置PFC模式VBus电压失败,请检查网络!";
            }
        } else {
            flag = 0;
            msg = "修改模式参数失败!";
        }
        return new Response().set(1,flag>0?true:false,msg);
    }
    //设置LLCBuck电压
    public Response controllLLCBuckVol(Integer powerId, Integer llcBuckvolSet) {
        boolean bl = false;
        String msg = "";
        UpdateWrapper updateWrapper=new UpdateWrapper();
        updateWrapper.set("llc_buckvol_set",llcBuckvolSet);
        updateWrapper.eq("power_id",powerId);
        int flag=mapper.update((PowerSetparm) ActionUtil.objeNull,updateWrapper);
        if (flag>0) {
            bl=sendCmdToParam(PowerParamCmd.CMD_WriteVBus_Vref,powerId);
            if (bl) {
                flag = 1;
                msg = "修改模式参数成功!";
            } else {
                flag = 0;
                msg = "设置LLCBuck电压失败,请检查网络!";
            }
        } else {
            flag = 0;
            msg = "修改模式参数失败!";
        }
        return new Response().set(1,flag>0?true:false,msg);
    }
    //设置LLCBuck电流
    public Response controllLLCBuckCurr(Integer powerId, Integer llcBuckcurrSet) {
        boolean bl = false;
        String msg = "";
        UpdateWrapper updateWrapper=new UpdateWrapper();
        updateWrapper.set("llc_buckcurr_set",llcBuckcurrSet);
        updateWrapper.eq("power_id",powerId);
        int flag=mapper.update((PowerSetparm) ActionUtil.objeNull,updateWrapper);
        if (flag>0) {
            bl=sendCmdToParam(PowerParamCmd.CMD_WriteVBus_Vref,powerId);
            if (bl) {
                flag = 1;
                msg = "修改模式参数成功!";
            } else {
                flag = 0;
                msg = "设置LLCBuck电流失败,请检查网络!";
            }
        } else {
            flag = 0;
            msg = "修改模式参数失败!";
        }
        return new Response().set(1,flag>0?true:false,msg);
    }
}