You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
2.0 KiB
C#

#region << 版 本 注 释 >>
/*--------------------------------------------------------------------
* (c) 2026 WenJY
* CLR4.0.30319.42000
* Mr.Wen's MacBook Pro
* Sln.Wcs.HoistSdk
* 6BE2CE90-15BA-43B1-88B0-78853870ECDA
*
* WenJY
*
* 2026-05-06 14:09:47
* V1.0.0
*
*
*--------------------------------------------------------------------
*
*
*
*
* V1.0.0
*--------------------------------------------------------------------*/
#endregion << 版 本 注 释 >>
using Sln.Wcs.HoistSdk.Config;
using Sln.Wcs.HoistSdk.Dto.HoistControl;
using Sln.Wcs.HoistSdk.Dto.HoistTaskExecutor;
using Sln.Wcs.Plc.Service;
namespace Sln.Wcs.HoistSdk;
public class HoistSdk:IHoistSdk
{
private readonly HoistConfig hoistConfig;
private readonly List<IPlc> _plcs;
public HoistSdk(HoistConfig hoistConfig, List<IPlc> plcs)
{
this.hoistConfig = hoistConfig;
_plcs = plcs;
}
public HoistControlResultDto HoistControl(HoistControlDto hoistControlDto)
{
HoistControlResultDto result = new HoistControlResultDto();
try
{
var plc = _plcs.Where(x => x.ConfigKey.Equals(hoistControlDto.hoistCode)).ToList().First();
var res = plc.writeInt16ByAddress(hoistConfig.hoist_control_addr, (int)hoistControlDto.action);
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;
}
public HoistTaskExeResultDto HoistTaskExecutor(HoistTaskExeDto hoistTaskExeDto)
{
throw new NotImplementedException();
}
}