change - 提升机 SDK 测试

master
WenJY 2 months ago
parent 17a06226c4
commit e3418ab7ff

@ -29,7 +29,7 @@ namespace Sln.Wcs.HoistSdk.Config;
public class HoistConfig public class HoistConfig
{ {
public readonly string str = ""; public readonly string hoist_control_addr = "";
/// <summary> /// <summary>
/// 注入提升机配置文件 /// 注入提升机配置文件
@ -38,11 +38,11 @@ public class HoistConfig
/// <exception cref="Exception"></exception> /// <exception cref="Exception"></exception>
public HoistConfig(IConfiguration configuration) public HoistConfig(IConfiguration configuration)
{ {
if (string.IsNullOrEmpty(configuration["str"])) if (string.IsNullOrEmpty(configuration["提升机控制地址"]))
{ {
throw new Exception("str 配置不正确,请检查Apollo配置."); throw new Exception("提升机控制地址 配置不正确,请检查Apollo配置.");
} }
str = configuration["str"]; hoist_control_addr = configuration["提升机控制地址"];
} }
} }

@ -26,21 +26,46 @@
using Sln.Wcs.HoistSdk.Config; using Sln.Wcs.HoistSdk.Config;
using Sln.Wcs.HoistSdk.Dto.HoistControl; using Sln.Wcs.HoistSdk.Dto.HoistControl;
using Sln.Wcs.HoistSdk.Dto.HoistTaskExecutor; using Sln.Wcs.HoistSdk.Dto.HoistTaskExecutor;
using Sln.Wcs.Plc.Service;
namespace Sln.Wcs.HoistSdk; namespace Sln.Wcs.HoistSdk;
public class HoistSdk:IHoistSdk public class HoistSdk:IHoistSdk
{ {
private readonly HoistConfig hoistConfig; private readonly HoistConfig hoistConfig;
private readonly List<IPlc> _plcs;
public HoistSdk(HoistConfig hoistConfig) public HoistSdk(HoistConfig hoistConfig, List<IPlc> plcs)
{ {
this.hoistConfig = hoistConfig; this.hoistConfig = hoistConfig;
_plcs = plcs;
} }
public HoistControlResultDto HoistControl(HoistControlDto hoistControlDto) public HoistControlResultDto HoistControl(HoistControlDto hoistControlDto)
{ {
throw new NotImplementedException(); 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) public HoistTaskExeResultDto HoistTaskExecutor(HoistTaskExeDto hoistTaskExeDto)

@ -7,7 +7,11 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="10.0.0" /> <PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="10.0.3" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Sln.Wcs.Plc\Sln.Wcs.Plc.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

@ -74,6 +74,8 @@ public static class PlcSetUp
{ {
_log.Info($"PLC{item.hostIP}:{item.hostPort};连接成功,时间:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}"); _log.Info($"PLC{item.hostIP}:{item.hostPort};连接成功,时间:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
_plc.ConfigKey = item.hostCode; _plc.ConfigKey = item.hostCode;
plcs.Add(_plc);
} }
else else
{ {

@ -5,6 +5,9 @@ using Microsoft.Extensions.DependencyInjection;
using NeoSmart.Caching.Sqlite; using NeoSmart.Caching.Sqlite;
using Newtonsoft.Json; using Newtonsoft.Json;
using Sln.Wcs.HikRoBotSdk; using Sln.Wcs.HikRoBotSdk;
using Sln.Wcs.HoistApi.Domain.Dto.HoistControl;
using Sln.Wcs.HoistApi.Domain.Enum;
using Sln.Wcs.HoistApi.Service;
using Sln.Wcs.Model.Configs; using Sln.Wcs.Model.Configs;
using Sln.Wcs.Repository; using Sln.Wcs.Repository;
using Sln.Wcs.Repository.service; using Sln.Wcs.Repository.service;
@ -32,7 +35,6 @@ namespace Sln.Wcs
var log = serviceProvider.GetService<SerilogHelper>(); var log = serviceProvider.GetService<SerilogHelper>();
log.Info($"系统启动成功,日志存放位置:{config["logPath"]}"); log.Info($"系统启动成功,日志存放位置:{config["logPath"]}");
} }
private static void ConfigureServices(IServiceCollection services) private static void ConfigureServices(IServiceCollection services)

@ -10,7 +10,7 @@
"apollo": { "apollo": {
"AppId": "SlnWcs", "AppId": "SlnWcs",
"Env": "DEV", "Env": "DEV",
"MetaServer": "http://119.45.202.115:4320", "MetaServer": "http://119.45.202.115:4320", // 4310
"ConfigServer": [ "ConfigServer": [
"http://119.45.202.115:4320" "http://119.45.202.115:4320"
] ]

Loading…
Cancel
Save