using Entity.Dto.Resp; using HybirdFrameworkCore.Entity; using Microsoft.AspNetCore.Mvc; using Repository.Station; using Service.Charger.Client; using Service.Init; namespace WebStarter.Controllers; /// /// 充电机管理 /// //[Produces("application/json")] [ApiController] [Route("api/[controller]")] public class PlcController : ControllerBase { #region send /// /// 发送初始化命令 /// /// 充电机编号 /// 消息 [HttpGet] [Route("SendInitializeCommandReq")] public Result SendInitializeCommandReq() { Service.Charger.Server.PlcClient? chargerClient = ClientMgr.PlcClient; if (chargerClient != null) { return chargerClient.SendInitializeCommandReq(); } return Result.Fail("充电机未连接"); } /// /// 发送电池充电状态 /// /// 充电机编号 /// 消息 [HttpGet] [Route("SendWhetherChargedReq")] public Result SendWhetherChargedReq() { Service.Charger.Server.PlcClient? chargerClient = ClientMgr.PlcClient; if (chargerClient != null) { return chargerClient.SendWhetherChargedReq(); } return Result.Fail("充电机未连接"); } ///// ///// 发送出库命令 ///// ///// 充电机编号 ///// 消息 [HttpGet] [Route("SendOutboundCommandReq/{outboundMode}/{takePositionNumber}")] public Result SendOutboundCommandReq( byte outboundMode, byte takePositionNumber) { Service.Charger.Server.PlcClient? chargerClient = ClientMgr.PlcClient; if (chargerClient != null) { return chargerClient.SendOutboundCommandReq(outboundMode, takePositionNumber); } return Result.Fail("充电机未连接"); } /// /// 发送开始换电命令 /// /// 充电机编号` /// 消息 [HttpGet] [Route("SendStartBatterySwapReq/{takePositionNumber}/{positionNumber}")] public Result SendStartBatterySwapReq( byte takePositionNumber, byte positionNumber) { Service.Charger.Server.PlcClient? chargerClient = ClientMgr.PlcClient; if (chargerClient != null) { return chargerClient.SendStartBatterySwapReq(takePositionNumber, positionNumber); } return Result.Fail("充电机未连接"); } /// /// 发送开始搬电命令 /// /// 充电机编号 /// 消息 [HttpGet] [Route("SendStartMovElectricityReq/{takeBatteryShelfNumber}/{saveBatteryShelfNumber}")] public Result SendStartMovElectricityReq( byte takeBatteryShelfNumber, byte saveBatteryShelfNumber) { Service.Charger.Server.PlcClient? chargerClient = ClientMgr.PlcClient; if (chargerClient != null) { return chargerClient.SendStartMovElectricityReq(takeBatteryShelfNumber, saveBatteryShelfNumber); } return Result.Fail("充电机未连接"); } /// /// 发送车辆型号 /// /// 充电机编号 /// 消息 [HttpGet] [Route("SendVehicleModelReq/{cartNo}")] public Result SendVehicleModelReq( byte cartNo) { Service.Charger.Server.PlcClient? chargerClient = ClientMgr.PlcClient; if (chargerClient != null) { return chargerClient.SendVehicleModelReq(cartNo); } return Result.Fail("充电机未连接"); } /// /// 发送移库命令 /// /// 充电机编号 /// 消息 [HttpGet] [Route("SendMoveCommandReq/{takePositionNumber}/{positionNumber}")] public Result SendMoveCommandReq( byte takePositionNumber, byte positionNumber) { Service.Charger.Server.PlcClient? chargerClient = ClientMgr.PlcClient; if (chargerClient != null) { return chargerClient.SendMoveCommandReq(takePositionNumber, positionNumber); } return Result.Fail("充电机未连接"); } /// /// 发送红绿灯命令 /// /// 充电机编号 /// 消息 [HttpGet] [Route("SendTrafficLightReq/{trafficLight}")] public Result SendTrafficLightReq(byte trafficLight) { Service.Charger.Server.PlcClient? chargerClient = ClientMgr.PlcClient; if (chargerClient != null) { return chargerClient.SendTrafficLightReq(trafficLight); } return Result.Fail("PLC未连接"); } /// /// 发送继续命令 /// /// 充电机编号 /// 消息 [HttpGet] [Route("SendContinueCommandReq")] public Result SendContinueCommandReq() { Service.Charger.Server.PlcClient? chargerClient = ClientMgr.PlcClient; if (chargerClient != null) { return chargerClient.SendContinueCommandReq(); } return Result.Fail("充电机未连接"); } /// /// 发送暂停命令 /// /// 充电机编号 /// 消息 [HttpGet] [Route("SendPauseCommandReq")] public Result SendPauseCommandReq() { Service.Charger.Server.PlcClient? chargerClient = ClientMgr.PlcClient; if (chargerClient != null) { return chargerClient.SendPauseCommandReq(); } return Result.Fail("充电机未连接"); } /// /// 发送入库命令 /// /// 充电机编号 /// 消息 [HttpGet] [Route("SendInboundCommandsReq/{positionNumber}")] public Result SendInboundCommandsReq(byte positionNumber) { Service.Charger.Server.PlcClient? chargerClient = ClientMgr.PlcClient; if (chargerClient != null) { return chargerClient.SendInboundCommandsReq(positionNumber); } return Result.Fail("PLC未连接"); } /// /// 发送终止命令 /// /// 充电机编号 /// 消息 [HttpGet] [Route("SendTerminationOrderReq")] public Result SendTerminationOrderReq() { Service.Charger.Server.PlcClient? chargerClient = ClientMgr.PlcClient; if (chargerClient != null) { return chargerClient.SendTerminationOrderReq(); } return Result.Fail("充电机未连接"); } /// /// 发送故障复位命令 /// /// 充电机编号 /// 消息 [HttpGet] [Route("SendFaultResetReq")] public Result SendFaultResetReq() { Service.Charger.Server.PlcClient? chargerClient = ClientMgr.PlcClient; if (chargerClient != null) { return chargerClient.SendFaultResetReq(); } return Result.Fail("充电机未连接"); } ///// ///// 发送参数设置 ///// ///// 充电机编号 ///// 消息 //[HttpGet] //[Route("SendParameterSettingsReq/{code}/{messageBodyAddress}/{parameterType}/{parameter}")] //public Result SendParameterSettingsReq(string code, byte[] messageBodyAddress, byte parameterType, byte parameter) //{ // Service.Plc.Server.PlcClient? chargerClient = ClientMgr.PlcClient; // if (chargerClient != null) // { // return chargerClient.SendParameterSettingsReq(messageBodyAddress, parameterType, parameter); // } // return Result.Fail("充电机未连接"); //} /// /// 发送参数设置 /// /// 充电机编号 /// 消息 [HttpGet] [Route("SendParameterSettingsReq/{parameterType}/{parameter}")] public Result SendParameterSettingsReq( byte parameterType, byte parameter) { Service.Charger.Server.PlcClient? chargerClient = ClientMgr.PlcClient; if (chargerClient != null) { return chargerClient.SendParameterSettingsReq( parameterType, parameter); } return Result.Fail("充电机未连接"); } /// /// 发送准备电池开启 /// /// 充电机编号 /// 消息 [HttpGet] [Route("SendPrepareBatteryOnReq/{readyBatterySign}/{takePositionNumber}")] public Result SendPrepareBatteryOnReq( byte readyBatterySign, byte takePositionNumber) { Service.Charger.Server.PlcClient? chargerClient = ClientMgr.PlcClient; if (chargerClient != null) { return chargerClient.SendPrepareBatteryOnReq(readyBatterySign, takePositionNumber); } return Result.Fail("充电机未连接"); } #endregion }