change - 添加提升机报警设置、托盘到位逻辑处理

dev
WenJY 2 weeks ago
parent a1f7315d68
commit 19fd80f7d1

@ -26,7 +26,6 @@
using Sln.Wcs.Common.Domain.Dto; using Sln.Wcs.Common.Domain.Dto;
using Sln.Wcs.HoistAdapter.Domain.Enum; using Sln.Wcs.HoistAdapter.Domain.Enum;
using Sln.Wcs.HoistAdapter.Domain.Model.GetHoistStatus; using Sln.Wcs.HoistAdapter.Domain.Model.GetHoistStatus;
using Sln.Wcs.HoistAdapter.Domain.Model.HoistControl;
namespace Sln.Wcs.HoistAdapter.Domain.Dto.GetHoistStatus; namespace Sln.Wcs.HoistAdapter.Domain.Dto.GetHoistStatus;

@ -4,7 +4,7 @@
* (c) 2026 WenJY * (c) 2026 WenJY
* CLR4.0.30319.42000 * CLR4.0.30319.42000
* Mr.Wen's MacBook Pro * Mr.Wen's MacBook Pro
* Sln.Wcs.HoistAdapter.Domain.Domain.HoistControl * Sln.Wcs.HoistAdapter.Domain.Domain.SetHoistAction
* 2B61FFB2-F10E-47BC-8B36-56524EB4F054 * 2B61FFB2-F10E-47BC-8B36-56524EB4F054
* *
* WenJY * WenJY
@ -25,9 +25,9 @@
using Sln.Wcs.HoistAdapter.Domain.Enum; using Sln.Wcs.HoistAdapter.Domain.Enum;
namespace Sln.Wcs.HoistAdapter.Domain.Dto.HoistControl; namespace Sln.Wcs.HoistAdapter.Domain.Dto.SetHoistAction;
public class HoistControlDto public class SetHoistActionDto
{ {
/// <summary> /// <summary>
/// 提升机编号 /// 提升机编号

@ -4,7 +4,7 @@
* (c) 2026 WenJY * (c) 2026 WenJY
* CLR4.0.30319.42000 * CLR4.0.30319.42000
* Mr.Wen's MacBook Pro * Mr.Wen's MacBook Pro
* Sln.Wcs.HoistAdapter.Domain.Domain.HoistControl * Sln.Wcs.HoistAdapter.Domain.Domain.SetHoistAction
* 2D12D182-6A86-4516-8AF2-B8E8FAC44CC6 * 2D12D182-6A86-4516-8AF2-B8E8FAC44CC6
* *
* WenJY * WenJY
@ -25,11 +25,11 @@
using Sln.Wcs.Common.Domain.Dto; using Sln.Wcs.Common.Domain.Dto;
using Sln.Wcs.HoistAdapter.Domain.Enum; using Sln.Wcs.HoistAdapter.Domain.Enum;
using Sln.Wcs.HoistAdapter.Domain.Model.HoistControl; using Sln.Wcs.HoistAdapter.Domain.Model.SetHoistAction;
namespace Sln.Wcs.HoistAdapter.Domain.Dto.HoistControl; namespace Sln.Wcs.HoistAdapter.Domain.Dto.SetHoistAction;
public class HoistControlResultDto:ResultDto<HoistStatusEnum,HoistControlResultModel> public class SetHoistActionResultDto:ResultDto<HoistStatusEnum,SetHoistActionResultModel>
{ {
} }

@ -0,0 +1,54 @@
#region << 版 本 注 释 >>
/*--------------------------------------------------------------------
* (c) 2026 WenJY
* CLR4.0.30319.42000
* Mr.Wen's MacBook Pro
* Sln.Wcs.HoistAdapter.Domain.Dto.SetHoistAlarm
* 99CE0D25-6378-428E-BDF3-D948B1455BA3
*
* WenJY
*
* 2026-06-03 16:08:53
* V1.0.0
*
*
*--------------------------------------------------------------------
*
*
*
*
* V1.0.0
*--------------------------------------------------------------------*/
#endregion << 版 本 注 释 >>
namespace Sln.Wcs.HoistAdapter.Domain.Dto.SetHoistAlarm;
public class SetHoistAlarmDto
{
/// <summary>
/// 提升机编号
/// </summary>
public string hoistCode { get; set; }
/// <summary>
/// 设备序号
/// </summary>
public int deviceSerialNo { get; set; }
/// <summary>
/// 当前楼层
/// </summary>
public int floor { get; set; }
/// <summary>
/// 参数Key
/// </summary>
public string key{get;set;}
/// <summary>
/// 下发值
/// </summary>
public int value { get; set; }
}

@ -0,0 +1,35 @@
#region << 版 本 注 释 >>
/*--------------------------------------------------------------------
* (c) 2026 WenJY
* CLR4.0.30319.42000
* Mr.Wen's MacBook Pro
* Sln.Wcs.HoistAdapter.Domain.Dto.SetHoistAlarm
* 4E55E41C-4565-4E47-9907-E53E338E0F2A
*
* WenJY
*
* 2026-06-03 16:09:03
* V1.0.0
*
*
*--------------------------------------------------------------------
*
*
*
*
* V1.0.0
*--------------------------------------------------------------------*/
#endregion << 版 本 注 释 >>
using Sln.Wcs.Common.Domain.Dto;
using Sln.Wcs.HoistAdapter.Domain.Enum;
using Sln.Wcs.HoistAdapter.Domain.Model.SetHoistAlarm;
namespace Sln.Wcs.HoistAdapter.Domain.Dto.SetHoistAlarm;
public class SetHoistAlarmResultDto:ResultDto<HoistStatusEnum,SetHoistAlarmResultModel>
{
}

@ -4,7 +4,7 @@
* (c) 2026 WenJY * (c) 2026 WenJY
* CLR4.0.30319.42000 * CLR4.0.30319.42000
* Mr.Wen's MacBook Pro * Mr.Wen's MacBook Pro
* Sln.Wcs.HoistAdapter.Domain.Domain.HoistTaskExecutor * Sln.Wcs.HoistAdapter.Domain.Domain.SetHoistTask
* 217D981D-DC12-4004-9B15-30E2C1D091C1 * 217D981D-DC12-4004-9B15-30E2C1D091C1
* *
* WenJY * WenJY
@ -23,9 +23,9 @@
#endregion << 版 本 注 释 >> #endregion << 版 本 注 释 >>
namespace Sln.Wcs.HoistAdapter.Domain.Dto.HoistTaskExecutor; namespace Sln.Wcs.HoistAdapter.Domain.Dto.SetHoistTask;
public class HoistTaskExeDto public class SetHoistTaskDto
{ {
/// <summary> /// <summary>
/// 提升机编号 /// 提升机编号

@ -4,7 +4,7 @@
* (c) 2026 WenJY * (c) 2026 WenJY
* CLR4.0.30319.42000 * CLR4.0.30319.42000
* Mr.Wen's MacBook Pro * Mr.Wen's MacBook Pro
* Sln.Wcs.HoistAdapter.Domain.Domain.HoistTaskExecutor * Sln.Wcs.HoistAdapter.Domain.Domain.SetHoistTask
* 399F7475-BEC6-42FA-AF32-AC99F5CBC35F * 399F7475-BEC6-42FA-AF32-AC99F5CBC35F
* *
* WenJY * WenJY
@ -25,11 +25,11 @@
using Sln.Wcs.Common.Domain.Dto; using Sln.Wcs.Common.Domain.Dto;
using Sln.Wcs.HoistAdapter.Domain.Enum; using Sln.Wcs.HoistAdapter.Domain.Enum;
using Sln.Wcs.HoistAdapter.Domain.Model.HoistTaskExecutor; using Sln.Wcs.HoistAdapter.Domain.Model.SetHoistTask;
namespace Sln.Wcs.HoistAdapter.Domain.Dto.HoistTaskExecutor; namespace Sln.Wcs.HoistAdapter.Domain.Dto.HoistTaskExecutor;
public class HoistTaskExeResultDto:ResultDto<HoistStatusEnum,HoistTaskExeResultModel> public class SetHoistTaskResultDto:ResultDto<HoistStatusEnum,SetHoistTaskResultModel>
{ {
} }

@ -4,7 +4,7 @@
* (c) 2026 WenJY * (c) 2026 WenJY
* CLR4.0.30319.42000 * CLR4.0.30319.42000
* Mr.Wen's MacBook Pro * Mr.Wen's MacBook Pro
* Sln.Wcs.HoistAdapter.Domain.Model.HoistControl * Sln.Wcs.HoistAdapter.Domain.Model.SetHoistAction
* 4974C976-A0D5-4FB2-B4AD-F45E11935008 * 4974C976-A0D5-4FB2-B4AD-F45E11935008
* *
* WenJY * WenJY
@ -23,9 +23,9 @@
#endregion << 版 本 注 释 >> #endregion << 版 本 注 释 >>
namespace Sln.Wcs.HoistAdapter.Domain.Model.HoistControl; namespace Sln.Wcs.HoistAdapter.Domain.Model.SetHoistAction;
public class HoistControlResultModel public class SetHoistActionResultModel
{ {
/// <summary> /// <summary>
/// 返回码 /// 返回码

@ -0,0 +1,39 @@
#region << 版 本 注 释 >>
/*--------------------------------------------------------------------
* (c) 2026 WenJY
* CLR4.0.30319.42000
* Mr.Wen's MacBook Pro
* Sln.Wcs.HoistAdapter.Domain.Model.SetHoistAlarm
* 697FD24A-CA2C-4282-A4B3-DEFD2A76915D
*
* WenJY
*
* 2026-06-03 16:12:23
* V1.0.0
*
*
*--------------------------------------------------------------------
*
*
*
*
* V1.0.0
*--------------------------------------------------------------------*/
#endregion << 版 本 注 释 >>
namespace Sln.Wcs.HoistAdapter.Domain.Model.SetHoistAlarm;
public class SetHoistAlarmResultModel
{
/// <summary>
/// 返回码
/// </summary>
public string code { get; set; }
/// <summary>
/// 返回消息
/// </summary>
public string message { get; set; }
}

@ -4,7 +4,7 @@
* (c) 2026 WenJY * (c) 2026 WenJY
* CLR4.0.30319.42000 * CLR4.0.30319.42000
* Mr.Wen's MacBook Pro * Mr.Wen's MacBook Pro
* Sln.Wcs.HoistAdapter.Domain.Model.HoistTaskExecutor * Sln.Wcs.HoistAdapter.Domain.Model.SetHoistTask
* A4E0666A-66FA-46AE-B783-E385F905092E * A4E0666A-66FA-46AE-B783-E385F905092E
* *
* WenJY * WenJY
@ -23,9 +23,9 @@
#endregion << 版 本 注 释 >> #endregion << 版 本 注 释 >>
namespace Sln.Wcs.HoistAdapter.Domain.Model.HoistTaskExecutor; namespace Sln.Wcs.HoistAdapter.Domain.Model.SetHoistTask;
public class HoistTaskExeResultModel public class SetHoistTaskResultModel
{ {
/// <summary> /// <summary>
/// 返回码 /// 返回码

@ -24,27 +24,29 @@
#endregion << 版 本 注 释 >> #endregion << 版 本 注 释 >>
using Sln.Wcs.HoistAdapter.Domain.Dto.GetHoistStatus; using Sln.Wcs.HoistAdapter.Domain.Dto.GetHoistStatus;
using Sln.Wcs.HoistAdapter.Domain.Dto.HoistControl;
using Sln.Wcs.HoistAdapter.Domain.Dto.HoistTaskExecutor; using Sln.Wcs.HoistAdapter.Domain.Dto.HoistTaskExecutor;
using Sln.Wcs.HoistAdapter.Domain.Dto.SetHoistAction;
using Sln.Wcs.HoistAdapter.Domain.Dto.SetHoistAlarm;
using Sln.Wcs.HoistAdapter.Domain.Dto.SetHoistTask;
namespace Sln.Wcs.HoistAdapter.Service; namespace Sln.Wcs.HoistAdapter.Service;
public interface IHoistService public interface IHoistService
{ {
/// <summary> /// <summary>
/// 提升机控制 /// 设置提升机动作
/// MOVE_TO, STOP, EMERGENCY_STOP, RESET, CALIBRATE /// MOVE_TO, STOP, EMERGENCY_STOP, RESET, CALIBRATE
/// </summary> /// </summary>
/// <param name="hoistControlDto"></param> /// <param name="setHoistActionDto"></param>
/// <returns></returns> /// <returns></returns>
HoistControlResultDto HoistControl(HoistControlDto hoistControlDto); SetHoistActionResultDto SetHoistAction(SetHoistActionDto setHoistActionDto);
/// <summary> /// <summary>
/// 提升机任务执行 /// 设置提升机任务
/// </summary> /// </summary>
/// <param name="hoistTaskExeDto"></param> /// <param name="setHoistTaskDto"></param>
/// <returns></returns> /// <returns></returns>
HoistTaskExeResultDto HoistTaskExecutor(HoistTaskExeDto hoistTaskExeDto); SetHoistTaskResultDto SetHoistTask(SetHoistTaskDto setHoistTaskDto);
/// <summary> /// <summary>
/// 获取提升机状态 /// 获取提升机状态
@ -52,4 +54,11 @@ public interface IHoistService
/// <param name="hoistStatusDto"></param> /// <param name="hoistStatusDto"></param>
/// <returns></returns> /// <returns></returns>
GetHoistStatusResultDto GetHoistStatus(GetHoistStatusDto hoistStatusDto); GetHoistStatusResultDto GetHoistStatus(GetHoistStatusDto hoistStatusDto);
/// <summary>
/// 设置提升机报警
/// </summary>
/// <param name="hoistAlarmDto"></param>
/// <returns></returns>
SetHoistAlarmResultDto SetHoistAlarm(SetHoistAlarmDto hoistAlarmDto);
} }

@ -24,12 +24,15 @@
#endregion << 版 本 注 释 >> #endregion << 版 本 注 释 >>
using Sln.Wcs.HoistAdapter.Domain.Dto.GetHoistStatus; using Sln.Wcs.HoistAdapter.Domain.Dto.GetHoistStatus;
using Sln.Wcs.HoistAdapter.Domain.Dto.HoistControl;
using Sln.Wcs.HoistAdapter.Domain.Dto.HoistTaskExecutor; using Sln.Wcs.HoistAdapter.Domain.Dto.HoistTaskExecutor;
using Sln.Wcs.HoistAdapter.Domain.Dto.SetHoistAction;
using Sln.Wcs.HoistAdapter.Domain.Dto.SetHoistAlarm;
using Sln.Wcs.HoistAdapter.Domain.Dto.SetHoistTask;
using Sln.Wcs.HoistAdapter.Domain.Enum; using Sln.Wcs.HoistAdapter.Domain.Enum;
using Sln.Wcs.HoistAdapter.Domain.Model.GetHoistStatus; using Sln.Wcs.HoistAdapter.Domain.Model.GetHoistStatus;
using Sln.Wcs.HoistAdapter.Domain.Model.HoistControl; using Sln.Wcs.HoistAdapter.Domain.Model.SetHoistAction;
using Sln.Wcs.HoistAdapter.Domain.Model.HoistTaskExecutor; using Sln.Wcs.HoistAdapter.Domain.Model.SetHoistAlarm;
using Sln.Wcs.HoistAdapter.Domain.Model.SetHoistTask;
using Sln.Wcs.HoistAdapter.Util; using Sln.Wcs.HoistAdapter.Util;
using Sln.Wcs.HoistSdk; using Sln.Wcs.HoistSdk;
@ -48,35 +51,35 @@ public class HoistService:IHoistService
} }
/// <summary> /// <summary>
/// 提升机控制 /// 设置提升机动作
/// </summary> /// </summary>
/// <param name="hoistControlDto"></param> /// <param name="setHoistActionDto"></param>
/// <returns></returns> /// <returns></returns>
/// <exception cref="NotImplementedException"></exception> /// <exception cref="NotImplementedException"></exception>
public HoistControlResultDto HoistControl(HoistControlDto hoistControlDto) public SetHoistActionResultDto SetHoistAction(SetHoistActionDto setHoistActionDto)
{ {
try try
{ {
if (hoistControlDto == null) if (setHoistActionDto == null)
{ {
throw new ArgumentException($"输入参数为空。"); throw new ArgumentException($"输入参数为空。");
} }
var data = new HoistSdk.Dto.HoistControl.HoistControlDto() var data = new HoistSdk.Dto.HoistControl.SetHoistActionDto()
{ {
hoistCode = hoistControlDto.hoistCode, hoistCode = setHoistActionDto.hoistCode,
action = (HoistSdk.Enum.ControlAction)hoistControlDto.action, action = (HoistSdk.Enum.ControlAction)setHoistActionDto.action,
}; };
var resp = this.hoistSdk.HoistControl(data); var resp = this.hoistSdk.SetHoistAction(data);
bool parseRes = this.codeUtil.parse(resp.code, resp.message, out HoistStatusEnum hoistStatusEnum); bool parseRes = this.codeUtil.parse(resp.code, resp.message, out HoistStatusEnum hoistStatusEnum);
return new HoistControlResultDto() return new SetHoistActionResultDto()
{ {
code = hoistStatusEnum, code = hoistStatusEnum,
msg = resp.message, msg = resp.message,
data = new HoistControlResultModel() data = new SetHoistActionResultModel()
{ {
code = resp.code, code = resp.code,
message = resp.message, message = resp.message,
@ -87,7 +90,7 @@ public class HoistService:IHoistService
} }
catch (Exception ex) catch (Exception ex)
{ {
return new HoistControlResultDto() return new SetHoistActionResultDto()
{ {
code = HoistStatusEnum.SDK, code = HoistStatusEnum.SDK,
msg = ex.Message, msg = ex.Message,
@ -96,39 +99,39 @@ public class HoistService:IHoistService
} }
/// <summary> /// <summary>
/// 提升机任务执行 /// 设置提升机任务
/// </summary> /// </summary>
/// <param name="hoistTaskExeDto"></param> /// <param name="setHoistTaskDto"></param>
/// <returns></returns> /// <returns></returns>
/// <exception cref="NotImplementedException"></exception> /// <exception cref="NotImplementedException"></exception>
public HoistTaskExeResultDto HoistTaskExecutor(HoistTaskExeDto hoistTaskExeDto) public SetHoistTaskResultDto SetHoistTask(SetHoistTaskDto setHoistTaskDto)
{ {
try try
{ {
if (hoistTaskExeDto == null) if (setHoistTaskDto == null)
{ {
throw new ArgumentException($"输入参数为空。"); throw new ArgumentException($"输入参数为空。");
} }
var data = new HoistSdk.Dto.HoistTaskExecutor.HoistTaskExeDto() var data = new HoistSdk.Dto.SetHoistTask.SetHoistTaskDto()
{ {
hoistCode = hoistTaskExeDto.hoistCode, hoistCode = setHoistTaskDto.hoistCode,
taskCode = hoistTaskExeDto.taskCode, taskCode = setHoistTaskDto.taskCode,
deviceSerialNo = hoistTaskExeDto.deviceSerialNo, deviceSerialNo = setHoistTaskDto.deviceSerialNo,
startPoint = hoistTaskExeDto.startPoint, startPoint = setHoistTaskDto.startPoint,
endPoint = hoistTaskExeDto.endPoint, endPoint = setHoistTaskDto.endPoint,
}; };
var resp = this.hoistSdk.HoistTaskExecutor(data); var resp = this.hoistSdk.SetHoistTask(data);
bool parseRes = this.codeUtil.parse(resp.code, resp.message, out HoistStatusEnum hoistStatusEnum); bool parseRes = this.codeUtil.parse(resp.code, resp.message, out HoistStatusEnum hoistStatusEnum);
return new HoistTaskExeResultDto() return new SetHoistTaskResultDto()
{ {
code = hoistStatusEnum, code = hoistStatusEnum,
msg = resp.message, msg = resp.message,
data = new HoistTaskExeResultModel() data = new SetHoistTaskResultModel()
{ {
code = resp.code, code = resp.code,
message = resp.message, message = resp.message,
@ -139,7 +142,7 @@ public class HoistService:IHoistService
} }
catch (Exception ex) catch (Exception ex)
{ {
return new HoistTaskExeResultDto() return new SetHoistTaskResultDto()
{ {
code = HoistStatusEnum.SDK, code = HoistStatusEnum.SDK,
msg = ex.Message, msg = ex.Message,
@ -194,4 +197,53 @@ public class HoistService:IHoistService
}; };
} }
} }
/// <summary>
/// 设置提升机报警
/// </summary>
/// <param name="hoistAlarmDto"></param>
/// <returns></returns>
/// <exception cref="ArgumentException"></exception>
public SetHoistAlarmResultDto SetHoistAlarm(SetHoistAlarmDto hoistAlarmDto)
{
try
{
if (hoistAlarmDto == null)
{
throw new ArgumentException($"输入参数为空。");
}
var data = new HoistSdk.Dto.SetHoistAlarm.SetHoistAlarmDto()
{
hoistCode = hoistAlarmDto.hoistCode,
deviceSerialNo = hoistAlarmDto.deviceSerialNo,
key = hoistAlarmDto.key,
value = hoistAlarmDto.value,
};
var resp = this.hoistSdk.SetHoistAlarm(data);
bool parseRes = this.codeUtil.parse(resp.code, resp.message, out HoistStatusEnum hoistStatusEnum);
return new SetHoistAlarmResultDto()
{
code = hoistStatusEnum,
msg = resp.message,
data = new SetHoistAlarmResultModel()
{
code = resp.code,
message = resp.message,
},
};
}
catch (Exception ex)
{
return new SetHoistAlarmResultDto()
{
code = HoistStatusEnum.SDK,
msg = ex.Message,
};
}
}
} }

@ -25,8 +25,9 @@
using Newtonsoft.Json; using Newtonsoft.Json;
using Sln.Wcs.HoistAdapter.Domain.Dto.GetHoistStatus; using Sln.Wcs.HoistAdapter.Domain.Dto.GetHoistStatus;
using Sln.Wcs.HoistAdapter.Domain.Dto.HoistControl;
using Sln.Wcs.HoistAdapter.Domain.Dto.HoistTaskExecutor; using Sln.Wcs.HoistAdapter.Domain.Dto.HoistTaskExecutor;
using Sln.Wcs.HoistAdapter.Domain.Dto.SetHoistAction;
using Sln.Wcs.HoistAdapter.Domain.Dto.SetHoistTask;
using Sln.Wcs.HoistAdapter.Domain.Enum; using Sln.Wcs.HoistAdapter.Domain.Enum;
using Sln.Wcs.HoistAdapter.Service; using Sln.Wcs.HoistAdapter.Service;
using Sln.Wcs.Model.Domain; using Sln.Wcs.Model.Domain;
@ -34,6 +35,9 @@ using Sln.Wcs.Serilog;
namespace Sln.Wcs.HoistDispatcher; namespace Sln.Wcs.HoistDispatcher;
/// <summary>
/// 提升机调度中心
/// </summary>
public class HoistDispatchHub public class HoistDispatchHub
{ {
private readonly SerilogHelper _logger; private readonly SerilogHelper _logger;
@ -44,6 +48,25 @@ public class HoistDispatchHub
_logger = logger; _logger = logger;
} }
/// <summary>
/// 接收托盘
/// </summary>
/// <param name="taskDetail"></param>
/// <param name="deviceInfo"></param>
public void ReceivePallet(LiveTaskDetail taskDetail,BaseDeviceInfo deviceInfo)
{
//读取托盘RFID信息
string palletStr = "202606030001";
if (taskDetail.palletBarcode == palletStr)
{
this.TaskRun(deviceInfo);
}
else
{
_logger.Info($"托盘条码与计划不符");
}
}
/// <summary> /// <summary>
/// 提升机启动:放置完成下发 /// 提升机启动:放置完成下发
/// </summary> /// </summary>
@ -52,7 +75,7 @@ public class HoistDispatchHub
{ {
try try
{ {
HoistControlResultDto res = _hoistAdapter.HoistControl(new HoistControlDto() SetHoistActionResultDto res = _hoistAdapter.SetHoistAction(new SetHoistActionDto()
{ {
hoistCode = deviceInfo.hostCode, hoistCode = deviceInfo.hostCode,
deviceSerialNo = deviceInfo.deviceSerialNo, deviceSerialNo = deviceInfo.deviceSerialNo,
@ -91,7 +114,7 @@ public class HoistDispatchHub
int endPoint = Convert.ToInt32(deviceInfo.deviceSerialNo + startFloor + endFloor); int endPoint = Convert.ToInt32(deviceInfo.deviceSerialNo + startFloor + endFloor);
//调用适配层下发 提升机调度任务 //调用适配层下发 提升机调度任务
HoistTaskExeResultDto res = _hoistAdapter.HoistTaskExecutor(new HoistTaskExeDto() SetHoistTaskResultDto res = _hoistAdapter.SetHoistTask(new SetHoistTaskDto()
{ {
hoistCode = deviceInfo.hostCode, hoistCode = deviceInfo.hostCode,
taskCode = liveTaskDetail.taskCode, taskCode = liveTaskDetail.taskCode,

@ -4,7 +4,7 @@
* (c) 2026 WenJY * (c) 2026 WenJY
* CLR4.0.30319.42000 * CLR4.0.30319.42000
* Mr.Wen's MacBook Pro * Mr.Wen's MacBook Pro
* Sln.Wcs.HoistSdk.HoistControl * Sln.Wcs.HoistSdk.SetHoistAction
* DBFC7326-690D-41AE-8ACA-E6447525508F * DBFC7326-690D-41AE-8ACA-E6447525508F
* *
* WenJY * WenJY
@ -27,7 +27,7 @@ using Sln.Wcs.HoistSdk.Enum;
namespace Sln.Wcs.HoistSdk.Dto.HoistControl; namespace Sln.Wcs.HoistSdk.Dto.HoistControl;
public class HoistControlDto public class SetHoistActionDto
{ {
/// <summary> /// <summary>
/// 提升机编号 /// 提升机编号

@ -4,7 +4,7 @@
* (c) 2026 WenJY * (c) 2026 WenJY
* CLR4.0.30319.42000 * CLR4.0.30319.42000
* Mr.Wen's MacBook Pro * Mr.Wen's MacBook Pro
* Sln.Wcs.HoistSdk.HoistControl * Sln.Wcs.HoistSdk.SetHoistAction
* C07056AD-8242-4096-88D0-B82DB5024F0E * C07056AD-8242-4096-88D0-B82DB5024F0E
* *
* WenJY * WenJY
@ -23,9 +23,9 @@
#endregion << 版 本 注 释 >> #endregion << 版 本 注 释 >>
namespace Sln.Wcs.HoistSdk.Dto.HoistControl; namespace Sln.Wcs.HoistSdk.Dto.SetHoistAction;
public class HoistControlResultDto public class SetHoistActionResultDto
{ {
/// <summary> /// <summary>
/// 返回码 /// 返回码

@ -0,0 +1,54 @@
#region << 版 本 注 释 >>
/*--------------------------------------------------------------------
* (c) 2026 WenJY
* CLR4.0.30319.42000
* Mr.Wen's MacBook Pro
* Sln.Wcs.HoistSdk.Dto.SetHoistAlarm
* C0D133E2-89EB-4D5A-884B-BADEDC658F77
*
* WenJY
*
* 2026-06-03 16:02:41
* V1.0.0
*
*
*--------------------------------------------------------------------
*
*
*
*
* V1.0.0
*--------------------------------------------------------------------*/
#endregion << 版 本 注 释 >>
namespace Sln.Wcs.HoistSdk.Dto.SetHoistAlarm;
public class SetHoistAlarmDto
{
/// <summary>
/// 提升机编号
/// </summary>
public string hoistCode { get; set; }
/// <summary>
/// 设备序号
/// </summary>
public int deviceSerialNo { get; set; }
/// <summary>
/// 当前楼层
/// </summary>
public int floor { get; set; }
/// <summary>
/// 参数Key
/// </summary>
public string key{get;set;}
/// <summary>
/// 下发值
/// </summary>
public int value { get; set; }
}

@ -0,0 +1,39 @@
#region << 版 本 注 释 >>
/*--------------------------------------------------------------------
* (c) 2026 WenJY
* CLR4.0.30319.42000
* Mr.Wen's MacBook Pro
* Sln.Wcs.HoistSdk.Dto.SetHoistAlarm
* 368D0B1B-1F71-4B78-A64D-F17B973ADDC2
*
* WenJY
*
* 2026-06-03 16:02:50
* V1.0.0
*
*
*--------------------------------------------------------------------
*
*
*
*
* V1.0.0
*--------------------------------------------------------------------*/
#endregion << 版 本 注 释 >>
namespace Sln.Wcs.HoistSdk.Dto.SetHoistAlarm;
public class SetHoistAlarmResultDto
{
/// <summary>
/// 返回码
/// </summary>
public string code { get; set; }
/// <summary>
/// 返回消息
/// </summary>
public string message { get; set; }
}

@ -4,7 +4,7 @@
* (c) 2026 WenJY * (c) 2026 WenJY
* CLR4.0.30319.42000 * CLR4.0.30319.42000
* Mr.Wen's MacBook Pro * Mr.Wen's MacBook Pro
* Sln.Wcs.HoistSdk.Domain.HoistTaskExecutor * Sln.Wcs.HoistSdk.Domain.SetHoistTask
* 56358DE7-36A6-4906-926B-DFDF21A3EBE2 * 56358DE7-36A6-4906-926B-DFDF21A3EBE2
* *
* WenJY * WenJY
@ -23,9 +23,9 @@
#endregion << 版 本 注 释 >> #endregion << 版 本 注 释 >>
namespace Sln.Wcs.HoistSdk.Dto.HoistTaskExecutor; namespace Sln.Wcs.HoistSdk.Dto.SetHoistTask;
public class HoistTaskExeDto public class SetHoistTaskDto
{ {
/// <summary> /// <summary>
/// 提升机编号 /// 提升机编号

@ -4,7 +4,7 @@
* (c) 2026 WenJY * (c) 2026 WenJY
* CLR4.0.30319.42000 * CLR4.0.30319.42000
* Mr.Wen's MacBook Pro * Mr.Wen's MacBook Pro
* Sln.Wcs.HoistSdk.Domain.HoistTaskExecutor * Sln.Wcs.HoistSdk.Domain.SetHoistTask
* 5C951BAC-FDE6-4458-A559-BF31508EEE64 * 5C951BAC-FDE6-4458-A559-BF31508EEE64
* *
* WenJY * WenJY
@ -23,9 +23,9 @@
#endregion << 版 本 注 释 >> #endregion << 版 本 注 释 >>
namespace Sln.Wcs.HoistSdk.Dto.HoistTaskExecutor; namespace Sln.Wcs.HoistSdk.Dto.SetHoistTask;
public class HoistTaskExeResultDto public class SetHoistTaskResultDto
{ {
/// <summary> /// <summary>
/// 返回码 /// 返回码

@ -28,7 +28,9 @@ using Newtonsoft.Json.Linq;
using Sln.Wcs.HoistSdk.Config; using Sln.Wcs.HoistSdk.Config;
using Sln.Wcs.HoistSdk.Dto.GetHoistStatus; using Sln.Wcs.HoistSdk.Dto.GetHoistStatus;
using Sln.Wcs.HoistSdk.Dto.HoistControl; using Sln.Wcs.HoistSdk.Dto.HoistControl;
using Sln.Wcs.HoistSdk.Dto.HoistTaskExecutor; using Sln.Wcs.HoistSdk.Dto.SetHoistAction;
using Sln.Wcs.HoistSdk.Dto.SetHoistAlarm;
using Sln.Wcs.HoistSdk.Dto.SetHoistTask;
using Sln.Wcs.Model.Configs; using Sln.Wcs.Model.Configs;
using Sln.Wcs.Plc.Service; using Sln.Wcs.Plc.Service;
@ -46,14 +48,19 @@ public class HoistSdk:IHoistSdk
_plcs = plcs; _plcs = plcs;
} }
public HoistControlResultDto HoistControl(HoistControlDto hoistControlDto) /// <summary>
/// 设置提升机动作
/// </summary>
/// <param name="setHoistActionDto"></param>
/// <returns></returns>
public SetHoistActionResultDto SetHoistAction(SetHoistActionDto setHoistActionDto)
{ {
HoistControlResultDto result = new HoistControlResultDto(); SetHoistActionResultDto result = new SetHoistActionResultDto();
try try
{ {
string paramAddress = GetPlcParam(hoistControlDto.hoistCode,hoistControlDto.deviceSerialNo,"放置完成"); string paramAddress = GetPlcParam(setHoistActionDto.hoistCode,setHoistActionDto.deviceSerialNo,"放置完成");
var plc = _plcs.Where(x => x.ConfigKey.Equals(hoistControlDto.hoistCode)).ToList().First(); var plc = _plcs.Where(x => x.ConfigKey.Equals(setHoistActionDto.hoistCode)).ToList().First();
var res = plc.writeInt16ByAddress(paramAddress, (int)hoistControlDto.action); var res = plc.writeInt16ByAddress(paramAddress, (int)setHoistActionDto.action);
if (res) if (res)
{ {
result.code = "0"; result.code = "0";
@ -73,14 +80,19 @@ public class HoistSdk:IHoistSdk
return result; return result;
} }
public HoistTaskExeResultDto HoistTaskExecutor(HoistTaskExeDto hoistTaskExeDto) /// <summary>
/// 设置提升机任务
/// </summary>
/// <param name="setHoistTaskDto"></param>
/// <returns></returns>
public SetHoistTaskResultDto SetHoistTask(SetHoistTaskDto setHoistTaskDto)
{ {
HoistTaskExeResultDto result = new HoistTaskExeResultDto(); SetHoistTaskResultDto result = new SetHoistTaskResultDto();
try try
{ {
string paramAddress = GetPlcParam(hoistTaskExeDto.hoistCode,hoistTaskExeDto.deviceSerialNo,"任务执行指令"); string paramAddress = GetPlcParam(setHoistTaskDto.hoistCode,setHoistTaskDto.deviceSerialNo,"任务执行指令");
var plc = _plcs.Where(x => x.ConfigKey.Equals(hoistTaskExeDto.hoistCode)).ToList().First(); var plc = _plcs.Where(x => x.ConfigKey.Equals(setHoistTaskDto.hoistCode)).ToList().First();
var res = plc.writeInt16ByAddress(paramAddress, hoistTaskExeDto.endPoint); var res = plc.writeInt16ByAddress(paramAddress, setHoistTaskDto.endPoint);
if (res) if (res)
{ {
result.code = "0"; result.code = "0";
@ -100,6 +112,11 @@ public class HoistSdk:IHoistSdk
return result; return result;
} }
/// <summary>
/// 获取提升机状态
/// </summary>
/// <param name="hoistStatusDto"></param>
/// <returns></returns>
public GetHoistStatusResultDto GetHoistStatus(GetHoistStatusDto hoistStatusDto) public GetHoistStatusResultDto GetHoistStatus(GetHoistStatusDto hoistStatusDto)
{ {
GetHoistStatusResultDto result = new GetHoistStatusResultDto(); GetHoistStatusResultDto result = new GetHoistStatusResultDto();
@ -163,6 +180,45 @@ public class HoistSdk:IHoistSdk
return result; return result;
} }
/// <summary>
/// 设置提升机报警
/// </summary>
/// <param name="hoistAlarmDto"></param>
/// <returns></returns>
public SetHoistAlarmResultDto SetHoistAlarm(SetHoistAlarmDto hoistAlarmDto)
{
SetHoistAlarmResultDto result = new SetHoistAlarmResultDto();
try
{
string paramAddress = GetPlcParam(hoistAlarmDto.hoistCode,hoistAlarmDto.deviceSerialNo,hoistAlarmDto.key);
var plc = _plcs.Where(x => x.ConfigKey.Equals(hoistAlarmDto.hoistCode)).ToList().First();
var res = plc.writeInt16ByAddress(paramAddress, hoistAlarmDto.value);
if (res)
{
result.code = "0";
result.message = "设置成功";
}
else
{
result.code = "99";
result.message = "设置失败";
}
}
catch (Exception e)
{
result.code = "99";
result.message = e.Message;
}
return result;
}
/// <summary>
/// 获取参数地址
/// </summary>
/// <param name="hostCode"></param>
/// <param name="deviceSerialNo"></param>
/// <param name="paramName"></param>
/// <returns></returns>
private string GetPlcParam(string hostCode,int deviceSerialNo,string paramName) private string GetPlcParam(string hostCode,int deviceSerialNo,string paramName)
{ {
List<dynamic> paramStr = JsonConvert.DeserializeObject<List<dynamic>>(_hoistConfig.hoist_plc_param); List<dynamic> paramStr = JsonConvert.DeserializeObject<List<dynamic>>(_hoistConfig.hoist_plc_param);

@ -25,7 +25,9 @@
using Sln.Wcs.HoistSdk.Dto.GetHoistStatus; using Sln.Wcs.HoistSdk.Dto.GetHoistStatus;
using Sln.Wcs.HoistSdk.Dto.HoistControl; using Sln.Wcs.HoistSdk.Dto.HoistControl;
using Sln.Wcs.HoistSdk.Dto.HoistTaskExecutor; using Sln.Wcs.HoistSdk.Dto.SetHoistAction;
using Sln.Wcs.HoistSdk.Dto.SetHoistAlarm;
using Sln.Wcs.HoistSdk.Dto.SetHoistTask;
namespace Sln.Wcs.HoistSdk; namespace Sln.Wcs.HoistSdk;
@ -38,16 +40,16 @@ public interface IHoistSdk
/// 提升机控制 /// 提升机控制
/// MOVE_TO, STOP, EMERGENCY_STOP, RESET, CALIBRATE /// MOVE_TO, STOP, EMERGENCY_STOP, RESET, CALIBRATE
/// </summary> /// </summary>
/// <param name="hoistControlDto"></param> /// <param name="setHoistActionDto"></param>
/// <returns></returns> /// <returns></returns>
HoistControlResultDto HoistControl(HoistControlDto hoistControlDto); SetHoistActionResultDto SetHoistAction(SetHoistActionDto setHoistActionDto);
/// <summary> /// <summary>
/// 提升机任务执行 /// 提升机任务执行
/// </summary> /// </summary>
/// <param name="hoistTaskExeDto"></param> /// <param name="setHoistTaskDto"></param>
/// <returns></returns> /// <returns></returns>
HoistTaskExeResultDto HoistTaskExecutor(HoistTaskExeDto hoistTaskExeDto); SetHoistTaskResultDto SetHoistTask(SetHoistTaskDto setHoistTaskDto);
/// <summary> /// <summary>
/// 获取提升机状态 /// 获取提升机状态
@ -56,4 +58,10 @@ public interface IHoistSdk
/// <returns></returns> /// <returns></returns>
GetHoistStatusResultDto GetHoistStatus(GetHoistStatusDto hoistStatusDto); GetHoistStatusResultDto GetHoistStatus(GetHoistStatusDto hoistStatusDto);
/// <summary>
/// 设置提升机报警
/// </summary>
/// <param name="hoistAlarmDto"></param>
/// <returns></returns>
SetHoistAlarmResultDto SetHoistAlarm(SetHoistAlarmDto hoistAlarmDto);
} }
Loading…
Cancel
Save