diff --git a/.vs/HighWayIot/v17/.suo b/.vs/HighWayIot/v17/.suo index 4f0082a0..aec825bf 100644 Binary files a/.vs/HighWayIot/v17/.suo and b/.vs/HighWayIot/v17/.suo differ diff --git a/Aucma.Scada.Business/InStoreBusiness.cs b/Aucma.Scada.Business/InStoreBusiness.cs index 028d1f1e..7a02eed6 100644 --- a/Aucma.Scada.Business/InStoreBusiness.cs +++ b/Aucma.Scada.Business/InStoreBusiness.cs @@ -30,6 +30,8 @@ namespace Aucma.Scada.Business private AppConfig appConfig = AppConfig.Instance; private RegisterServices registerServices = RegisterServices.Instance; + + private InStoreTaskHandle taskHandle = InStoreTaskHandle.Instance; #endregion #region 接口引用 @@ -182,18 +184,34 @@ namespace Aucma.Scada.Business if (taskInfo != null) { PrintLogInfoMessage($"下发箱壳入库任务:{taskInfo.taskCode};仓库{taskInfo.storeCode};货道:{taskInfo.spaceCode}"); + //taskHandle.SendShellTask_InStore(taskInfo); - if (shellSemaphore.Wait(TimeSpan.FromSeconds(10))) + if (taskHandle.SendShellTask_InStore(taskInfo)) { - // 收到反馈 - PrintLogInfoMessage("箱壳收到反馈,继续执行"); + PrintLogInfoMessage($"箱壳入库任务:{taskInfo.taskCode};下发成功,等待PLC执行反馈"); + taskInfo.taskStatus = 2; + + _taskInfoService.UpdateTaskInfo(taskInfo); + + //if (shellSemaphore.Wait(TimeSpan.FromSeconds(20))) + //{ + // // 收到反馈 + // PrintLogInfoMessage("收到反馈,继续执行"); + //} + //else + //{ + // PrintLogInfoMessage("超时未反馈"); + //} + + shellSemaphore.Wait(); //一直堵塞直到信号量释放 + + PrintLogInfoMessage($"箱壳入库任务:{taskInfo.taskCode};执行完成"); } else { - PrintLogInfoMessage("超时未反馈"); + PrintLogInfoMessage($"箱壳入库任务:{taskInfo.taskCode};下发失败,请排除PLC连接"); } - //shellSemaphore.Wait(); //一直堵塞直到信号量释放 } else { @@ -214,16 +232,31 @@ namespace Aucma.Scada.Business { PrintLogInfoMessage($"下发内胆入库任务:{taskInfo.taskCode};仓库{taskInfo.storeCode};货道:{taskInfo.spaceCode}"); - if (linerSemaphore.Wait(TimeSpan.FromSeconds(10))) + if (taskHandle.SendShellTask_InStore(taskInfo)) { - // 收到反馈 - PrintLogInfoMessage("内胆收到反馈,继续执行"); + PrintLogInfoMessage($"内胆入库任务:{taskInfo.taskCode};下发成功,等待PLC执行反馈"); + taskInfo.taskStatus = 2; + + _taskInfoService.UpdateTaskInfo(taskInfo); + + //if (shellSemaphore.Wait(TimeSpan.FromSeconds(20))) + //{ + // // 收到反馈 + // PrintLogInfoMessage("收到反馈,继续执行"); + //} + //else + //{ + // PrintLogInfoMessage("超时未反馈"); + //} + + linerSemaphore.Wait(); //一直堵塞直到信号量释放 + + PrintLogInfoMessage($"内胆入库任务:{taskInfo.taskCode};执行完成"); } else { - PrintLogInfoMessage("超时未反馈"); + PrintLogInfoMessage($"内胆入库任务:{taskInfo.taskCode};下发失败,请排除PLC连接"); } - //semaphore.Wait(); //一直堵塞直到信号量释放 } else { diff --git a/Aucma.Scada.Business/InStoreTaskHandle.cs b/Aucma.Scada.Business/InStoreTaskHandle.cs index 52aa5901..7387de55 100644 --- a/Aucma.Scada.Business/InStoreTaskHandle.cs +++ b/Aucma.Scada.Business/InStoreTaskHandle.cs @@ -1,4 +1,11 @@ -using System; +using Aucma.Scada.Model.domain; +using HighWayIot.Config; +using HighWayIot.Log4net; +using HighWayIot.Plc; +using System; +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; namespace Aucma.Scada.Business { @@ -18,9 +25,347 @@ namespace Aucma.Scada.Business } #endregion + #region 对象引用 + private LogHelper logHelper = LogHelper.Instance; + + private AppConfig appConfig = AppConfig.Instance; + + private PlcConfig plcConfig = PlcConfig.Instance; + + private PlcPool _pool = PlcPool.Instance; + #endregion + + #region 私有变量 + private Dictionary _plcDictionary = new Dictionary(); + + /// + /// 箱壳任务编号,PLC反馈后进行赋值 + /// + private string shellTaskCode = string.Empty; + + /// + /// 内胆任务编号,PLC反馈后进行赋值 + /// + private string linerTaskCode = string.Empty; + #endregion + + #region 委托事件 + /// + /// 入库完成 + /// + /// + /// + public delegate void InStoreFinsih(string storeCode, string taskCode); + public event InStoreFinsih InStoreFinsihEvent; + #endregion + private InStoreTaskHandle() { + _plcDictionary = _pool.GetAll(); + } + + #region 箱壳入库任务下发处理 + public bool SendShellTask_InStore(RealTaskInfo taskInfo) + { + bool result = false; + try + { + IPlc _plc = _plcDictionary[taskInfo.storeCode]; + + if (_plc != null) + { + if (_plc.IsConnected) + { + //写入货道号 + _plc.writeStringByAddress(plcConfig.in_shell_spaceCode, taskInfo.spaceCode); + //写入应答字 + _plc.writeInt32ByAddress(plcConfig.in_shell_answer, 1); + //写入任务号 + _plc.writeStringByAddress(plcConfig.in_shell_task, taskInfo.taskCode); + + //写入完成后读取应答字进行复位 + ReadShellAnswer_InStore(taskInfo.taskCode); + + result = true; + } + else + { + logHelper.Info($"仓库{taskInfo.storeCode};PLC未连接"); + } + } + else + { + logHelper.Info($"PLC信息为空,通过{taskInfo.storeCode}未获取到该仓库对应的PLC信息"); + } + } + catch (Exception ex) + { + logHelper.Error("箱壳入库任务下发异常", ex); + } + + return result; + } + + /// + /// 读取箱壳入库应答 + /// + private void ReadShellAnswer_InStore(string taskCode) + { + lock (string.Empty) + { + bool isFlag = true; + IPlc _plc = _plcDictionary[appConfig.shellStoreCode]; + try + { + Task.Run(() => + { + if (_plc != null) + { + if (_plc.IsConnected) + { + do + { + //读取PLC应答字为2时,上位机清空写入的入库内容 + if (_plc.readInt32ByAddress(plcConfig.in_shell_answer) == 2) + { + //写入货道号 + _plc.writeStringByAddress(plcConfig.in_shell_spaceCode, string.Empty); + //写入应答字 + _plc.writeInt32ByAddress(plcConfig.in_shell_answer, 0); + //写入任务号 + _plc.writeStringByAddress(plcConfig.in_shell_task, string.Empty); + isFlag = false; + + ReadShellFinish_InStore(taskCode); + } + + Thread.Sleep(5000); + } while (isFlag); + } + else + { + logHelper.Info($"仓库{appConfig.shellStoreCode};PLC未连接"); + } + } + else + { + logHelper.Info($"PLC信息为空,通过{appConfig.shellStoreCode}未获取到该仓库对应的PLC信息"); + } + }); + } + catch (Exception ex) + { + logHelper.Error("读取箱壳入库应答字异常", ex); + } + } + } + + /// + /// 读取箱壳入库完成 + /// + private void ReadShellFinish_InStore(string taskCode) + { + lock (string.Empty) + { + bool isFlag = true; + IPlc _plc = _plcDictionary[appConfig.shellStoreCode]; + shellTaskCode = taskCode; + try + { + Task.Run(() => + { + if (_plc != null) + { + if (_plc.IsConnected) + { + do + { + //读取PLC入库任务完成 + if (_plc.readInt32ByAddress(plcConfig.in_shell_finish) == 1) + { + _plc.writeInt32ByAddress(plcConfig.in_shell_finish, 0); + + //string taskCode = _plc.readStringByAddress(plcConfig.out_shell_task, 10); + + InStoreFinsihEvent?.Invoke(appConfig.shellStoreCode, taskCode); + + isFlag = false; + } + + Thread.Sleep(5000); + } while (isFlag); + } + else + { + logHelper.Info($"仓库{appConfig.shellStoreCode};PLC未连接"); + } + } + else + { + logHelper.Info($"PLC信息为空,通过{appConfig.shellStoreCode}未获取到该仓库对应的PLC信息"); + } + }); + } + catch (Exception ex) + { + logHelper.Error("读取箱壳入库完成异常", ex); + } + } + } + #endregion + + #region 内胆入库任务处理 + /// + /// 内胆入库任务下发 + /// + /// + public bool SendLinerTask_InStore(RealTaskInfo taskInfo) + { + bool result = false; + try + { + IPlc _plc = _plcDictionary[taskInfo.storeCode]; + + if (_plc != null) + { + if (_plc.IsConnected) + { + //写入货道号 + _plc.writeStringByAddress(plcConfig.in_liner_spaceCode, taskInfo.spaceCode); + //写入应答字 + _plc.writeInt32ByAddress(plcConfig.in_liner_answer, 1); + //写入任务号 + _plc.writeStringByAddress(plcConfig.in_liner_task, taskInfo.taskCode); + //写入完成后读取应答字进行复位 + ReadLinerAnswer_InStore(taskInfo.taskCode); + + result = true; + } + else + { + logHelper.Info($"仓库{taskInfo.storeCode};PLC未连接"); + } + } + else + { + logHelper.Info($"PLC信息为空,通过{taskInfo.storeCode}未获取到该仓库对应的PLC信息"); + } + } + catch (Exception ex) + { + logHelper.Error("内胆入库任务下发异常", ex); + } + return result; } + + /// + /// 读取内胆入库应答 + /// + private void ReadLinerAnswer_InStore(string taskCode) + { + lock (string.Empty) + { + bool isFlag = true; + IPlc _plc = _plcDictionary[appConfig.shellStoreCode]; + linerTaskCode = taskCode; + try + { + Task.Run(() => + { + + if (_plc != null) + { + if (_plc.IsConnected) + { + do + { + //读取PLC应答字为2时,上位机清空写入的入库内容 + if (_plc.readInt32ByAddress(plcConfig.in_liner_answer) == 2) + { + //写入货道号 + _plc.writeStringByAddress(plcConfig.in_liner_spaceCode, string.Empty); + //写入应答字 + _plc.writeInt32ByAddress(plcConfig.in_liner_answer, 0); + //写入任务号 + _plc.writeStringByAddress(plcConfig.in_liner_task, string.Empty); + isFlag = false; + + Thread.Sleep(5000); + + ReadLinerFinish_InStore(taskCode); + } + } while (isFlag); + } + else + { + logHelper.Info($"仓库{appConfig.linerStoreCode};PLC未连接"); + } + } + else + { + logHelper.Info($"PLC信息为空,通过{appConfig.linerStoreCode}未获取到该仓库对应的PLC信息"); + } + }); + } + catch (Exception ex) + { + logHelper.Error("读取内胆入库应答字异常", ex); + } + } + } + + /// + /// 读取内胆入库完成 + /// + private void ReadLinerFinish_InStore(string taskCode) + { + lock (string.Empty) + { + try + { + Task.Run(() => + { + bool isFlag = true; + IPlc _plc = _plcDictionary[appConfig.linerStoreCode]; + if (_plc != null) + { + if (_plc.IsConnected) + { + do + { + //读取PLC入库任务完成 + if (_plc.readInt32ByAddress(plcConfig.in_liner_finish) == 1) + { + _plc.writeInt32ByAddress(plcConfig.in_liner_finish, 0); + + //string taskCode = _plc.readStringByAddress(plcConfig.in_liner_task, 10); + + InStoreFinsihEvent?.Invoke(appConfig.linerStoreCode, taskCode); + + isFlag = false; + + Thread.Sleep(5000); + } + } while (isFlag); + } + else + { + logHelper.Info($"仓库{appConfig.linerStoreCode};PLC未连接"); + } + } + else + { + logHelper.Info($"PLC信息为空,通过{appConfig.linerStoreCode}未获取到该仓库对应的PLC信息"); + } + }); + } + catch (Exception ex) + { + logHelper.Error("读取内胆入库完成异常", ex); + } + } + } + #endregion } } diff --git a/Aucma.Scada.Business/bin/Debug/Aucma.Scada.Business.dll b/Aucma.Scada.Business/bin/Debug/Aucma.Scada.Business.dll index c6c711f7..e2170c2c 100644 Binary files a/Aucma.Scada.Business/bin/Debug/Aucma.Scada.Business.dll and b/Aucma.Scada.Business/bin/Debug/Aucma.Scada.Business.dll differ diff --git a/Aucma.Scada.Business/bin/Debug/Aucma.Scada.Business.pdb b/Aucma.Scada.Business/bin/Debug/Aucma.Scada.Business.pdb index 06a293a6..fad3a594 100644 Binary files a/Aucma.Scada.Business/bin/Debug/Aucma.Scada.Business.pdb and b/Aucma.Scada.Business/bin/Debug/Aucma.Scada.Business.pdb differ diff --git a/Aucma.Scada.Business/bin/Debug/HighWayIot.Config.dll b/Aucma.Scada.Business/bin/Debug/HighWayIot.Config.dll index 0aef53b1..ffb89fec 100644 Binary files a/Aucma.Scada.Business/bin/Debug/HighWayIot.Config.dll and b/Aucma.Scada.Business/bin/Debug/HighWayIot.Config.dll differ diff --git a/Aucma.Scada.Business/bin/Debug/HighWayIot.Config.pdb b/Aucma.Scada.Business/bin/Debug/HighWayIot.Config.pdb index 05fb1cc8..0e0eb06a 100644 Binary files a/Aucma.Scada.Business/bin/Debug/HighWayIot.Config.pdb and b/Aucma.Scada.Business/bin/Debug/HighWayIot.Config.pdb differ diff --git a/Aucma.Scada.Business/obj/Debug/Aucma.Scada.Business.csproj.AssemblyReference.cache b/Aucma.Scada.Business/obj/Debug/Aucma.Scada.Business.csproj.AssemblyReference.cache index ebc574cb..468c06be 100644 Binary files a/Aucma.Scada.Business/obj/Debug/Aucma.Scada.Business.csproj.AssemblyReference.cache and b/Aucma.Scada.Business/obj/Debug/Aucma.Scada.Business.csproj.AssemblyReference.cache differ diff --git a/Aucma.Scada.Business/obj/Debug/Aucma.Scada.Business.dll b/Aucma.Scada.Business/obj/Debug/Aucma.Scada.Business.dll index c6c711f7..e2170c2c 100644 Binary files a/Aucma.Scada.Business/obj/Debug/Aucma.Scada.Business.dll and b/Aucma.Scada.Business/obj/Debug/Aucma.Scada.Business.dll differ diff --git a/Aucma.Scada.Business/obj/Debug/Aucma.Scada.Business.pdb b/Aucma.Scada.Business/obj/Debug/Aucma.Scada.Business.pdb index 06a293a6..fad3a594 100644 Binary files a/Aucma.Scada.Business/obj/Debug/Aucma.Scada.Business.pdb and b/Aucma.Scada.Business/obj/Debug/Aucma.Scada.Business.pdb differ diff --git a/Aucma.Scada.Model/obj/Debug/Aucma.Scada.Model.csproj.AssemblyReference.cache b/Aucma.Scada.Model/obj/Debug/Aucma.Scada.Model.csproj.AssemblyReference.cache index 63ddfe65..230a44d3 100644 Binary files a/Aucma.Scada.Model/obj/Debug/Aucma.Scada.Model.csproj.AssemblyReference.cache and b/Aucma.Scada.Model/obj/Debug/Aucma.Scada.Model.csproj.AssemblyReference.cache differ diff --git a/Aucma.Scada.UI/bin/Debug/Aucma.Scada.Business.dll b/Aucma.Scada.UI/bin/Debug/Aucma.Scada.Business.dll index c6c711f7..e2170c2c 100644 Binary files a/Aucma.Scada.UI/bin/Debug/Aucma.Scada.Business.dll and b/Aucma.Scada.UI/bin/Debug/Aucma.Scada.Business.dll differ diff --git a/Aucma.Scada.UI/bin/Debug/Aucma.Scada.Business.pdb b/Aucma.Scada.UI/bin/Debug/Aucma.Scada.Business.pdb index 06a293a6..fad3a594 100644 Binary files a/Aucma.Scada.UI/bin/Debug/Aucma.Scada.Business.pdb and b/Aucma.Scada.UI/bin/Debug/Aucma.Scada.Business.pdb differ diff --git a/Aucma.Scada.UI/bin/Debug/HighWayIot.Config.dll b/Aucma.Scada.UI/bin/Debug/HighWayIot.Config.dll index 0aef53b1..ffb89fec 100644 Binary files a/Aucma.Scada.UI/bin/Debug/HighWayIot.Config.dll and b/Aucma.Scada.UI/bin/Debug/HighWayIot.Config.dll differ diff --git a/Aucma.Scada.UI/bin/Debug/HighWayIot.Config.pdb b/Aucma.Scada.UI/bin/Debug/HighWayIot.Config.pdb index 05fb1cc8..0e0eb06a 100644 Binary files a/Aucma.Scada.UI/bin/Debug/HighWayIot.Config.pdb and b/Aucma.Scada.UI/bin/Debug/HighWayIot.Config.pdb differ diff --git a/Aucma.Scada.UI/bin/Debug/config/Plc.Ini b/Aucma.Scada.UI/bin/Debug/config/Plc.Ini index b73670d6..e5efac98 100644 --- a/Aucma.Scada.UI/bin/Debug/config/Plc.Ini +++ b/Aucma.Scada.UI/bin/Debug/config/Plc.Ini @@ -3,12 +3,26 @@ PLC˿=6000 ڵPLCIP=127.0.0.1 ڵPLC˿=6000 +#ַ +[shell_inStore_address] +=D101 +Ӧ=D103 +=D104 +=D105 +#ڵַ +[liner_inStore_address] +=D201 +Ӧ=D203 +=D204 +=D205 +#dzַ [shell_outStore_address] =M101 =M102 Ӧ=M103 =M104 =M105 +#ڵַ [liner_outStore_address] =M201 =M202 diff --git a/Aucma.Scada.UI/obj/Debug/Aucma.Scada.UI.csproj.AssemblyReference.cache b/Aucma.Scada.UI/obj/Debug/Aucma.Scada.UI.csproj.AssemblyReference.cache index f0b026fa..b7c97d46 100644 Binary files a/Aucma.Scada.UI/obj/Debug/Aucma.Scada.UI.csproj.AssemblyReference.cache and b/Aucma.Scada.UI/obj/Debug/Aucma.Scada.UI.csproj.AssemblyReference.cache differ diff --git a/HighWayIot.Common/obj/Debug/HighWayIot.Common.csproj.AssemblyReference.cache b/HighWayIot.Common/obj/Debug/HighWayIot.Common.csproj.AssemblyReference.cache index 25af1177..a6024ba5 100644 Binary files a/HighWayIot.Common/obj/Debug/HighWayIot.Common.csproj.AssemblyReference.cache and b/HighWayIot.Common/obj/Debug/HighWayIot.Common.csproj.AssemblyReference.cache differ diff --git a/HighWayIot.Config/PlcConfig.cs b/HighWayIot.Config/PlcConfig.cs index cc2616b5..c3aee633 100644 --- a/HighWayIot.Config/PlcConfig.cs +++ b/HighWayIot.Config/PlcConfig.cs @@ -63,6 +63,82 @@ namespace HighWayIot.Config } #endregion + #region 箱壳入库地址 + /// + /// 箱壳——入库货道号 + /// + public string in_shell_spaceCode + { + get { return iniHelper.IniReadValue("shell_inStore_address", "入库货道号"); } + set { iniHelper.IniWriteValue("shell_inStore_address", "入库货道号", value); } + } + + /// + /// 箱壳——入库应答字 + /// + public string in_shell_answer + { + get { return iniHelper.IniReadValue("shell_inStore_address", "入库应答字"); } + set { iniHelper.IniWriteValue("shell_inStore_address", "入库应答字", value); } + } + + /// + /// 箱壳——入库任务号 + /// + public string in_shell_task + { + get { return iniHelper.IniReadValue("shell_inStore_address", "入库任务号"); } + set { iniHelper.IniWriteValue("shell_inStore_address", "入库任务号", value); } + } + + /// + /// 箱壳——入库完成 + /// + public string in_shell_finish + { + get { return iniHelper.IniReadValue("shell_inStore_address", "入库完成"); } + set { iniHelper.IniWriteValue("shell_inStore_address", "入库完成", value); } + } + #endregion + + #region 内胆入库地址 + /// + /// 内胆——入库货道号 + /// + public string in_liner_spaceCode + { + get { return iniHelper.IniReadValue("liner_inStore_address", "入库货道号"); } + set { iniHelper.IniWriteValue("liner_inStore_address", "入库货道号", value); } + } + + /// + /// 内胆——入库应答字 + /// + public string in_liner_answer + { + get { return iniHelper.IniReadValue("liner_inStore_address", "入库应答字"); } + set { iniHelper.IniWriteValue("liner_inStore_address", "入库应答字", value); } + } + + /// + /// 内胆——入库任务号 + /// + public string in_liner_task + { + get { return iniHelper.IniReadValue("liner_inStore_address", "入库任务号"); } + set { iniHelper.IniWriteValue("liner_inStore_address", "入库任务号", value); } + } + + /// + /// 内胆——入库完成 + /// + public string in_liner_finish + { + get { return iniHelper.IniReadValue("liner_inStore_address", "入库完成"); } + set { iniHelper.IniWriteValue("liner_inStore_address", "入库完成", value); } + } + #endregion + #region 箱壳出库地址 /// /// 箱壳——出库货道号 diff --git a/HighWayIot.Config/bin/Debug/HighWayIot.Config.dll b/HighWayIot.Config/bin/Debug/HighWayIot.Config.dll index 0aef53b1..ffb89fec 100644 Binary files a/HighWayIot.Config/bin/Debug/HighWayIot.Config.dll and b/HighWayIot.Config/bin/Debug/HighWayIot.Config.dll differ diff --git a/HighWayIot.Config/bin/Debug/HighWayIot.Config.pdb b/HighWayIot.Config/bin/Debug/HighWayIot.Config.pdb index 05fb1cc8..0e0eb06a 100644 Binary files a/HighWayIot.Config/bin/Debug/HighWayIot.Config.pdb and b/HighWayIot.Config/bin/Debug/HighWayIot.Config.pdb differ diff --git a/HighWayIot.Config/obj/Debug/HighWayIot.Config.csproj.AssemblyReference.cache b/HighWayIot.Config/obj/Debug/HighWayIot.Config.csproj.AssemblyReference.cache index d5e95a71..12d1cb36 100644 Binary files a/HighWayIot.Config/obj/Debug/HighWayIot.Config.csproj.AssemblyReference.cache and b/HighWayIot.Config/obj/Debug/HighWayIot.Config.csproj.AssemblyReference.cache differ diff --git a/HighWayIot.Config/obj/Debug/HighWayIot.Config.dll b/HighWayIot.Config/obj/Debug/HighWayIot.Config.dll index 0aef53b1..ffb89fec 100644 Binary files a/HighWayIot.Config/obj/Debug/HighWayIot.Config.dll and b/HighWayIot.Config/obj/Debug/HighWayIot.Config.dll differ diff --git a/HighWayIot.Config/obj/Debug/HighWayIot.Config.pdb b/HighWayIot.Config/obj/Debug/HighWayIot.Config.pdb index 05fb1cc8..0e0eb06a 100644 Binary files a/HighWayIot.Config/obj/Debug/HighWayIot.Config.pdb and b/HighWayIot.Config/obj/Debug/HighWayIot.Config.pdb differ diff --git a/HighWayIot.Plc/obj/Debug/HighWayIot.Plc.csproj.AssemblyReference.cache b/HighWayIot.Plc/obj/Debug/HighWayIot.Plc.csproj.AssemblyReference.cache index 2a088c72..bba5f5a4 100644 Binary files a/HighWayIot.Plc/obj/Debug/HighWayIot.Plc.csproj.AssemblyReference.cache and b/HighWayIot.Plc/obj/Debug/HighWayIot.Plc.csproj.AssemblyReference.cache differ diff --git a/HighWayIot.Repository/bin/Debug/HighWayIot.Config.dll b/HighWayIot.Repository/bin/Debug/HighWayIot.Config.dll index 0aef53b1..ffb89fec 100644 Binary files a/HighWayIot.Repository/bin/Debug/HighWayIot.Config.dll and b/HighWayIot.Repository/bin/Debug/HighWayIot.Config.dll differ diff --git a/HighWayIot.Repository/bin/Debug/HighWayIot.Config.pdb b/HighWayIot.Repository/bin/Debug/HighWayIot.Config.pdb index 05fb1cc8..0e0eb06a 100644 Binary files a/HighWayIot.Repository/bin/Debug/HighWayIot.Config.pdb and b/HighWayIot.Repository/bin/Debug/HighWayIot.Config.pdb differ diff --git a/HighWayIot.Repository/obj/Debug/HighWayIot.Repository.csproj.AssemblyReference.cache b/HighWayIot.Repository/obj/Debug/HighWayIot.Repository.csproj.AssemblyReference.cache index 18798c37..7e6e1a67 100644 Binary files a/HighWayIot.Repository/obj/Debug/HighWayIot.Repository.csproj.AssemblyReference.cache and b/HighWayIot.Repository/obj/Debug/HighWayIot.Repository.csproj.AssemblyReference.cache differ diff --git a/HighWayIot.Rfid/obj/Debug/HighWayIot.Rfid.csproj.AssemblyReference.cache b/HighWayIot.Rfid/obj/Debug/HighWayIot.Rfid.csproj.AssemblyReference.cache index a53b2244..9aa0e9ae 100644 Binary files a/HighWayIot.Rfid/obj/Debug/HighWayIot.Rfid.csproj.AssemblyReference.cache and b/HighWayIot.Rfid/obj/Debug/HighWayIot.Rfid.csproj.AssemblyReference.cache differ diff --git a/HighWayIot/bin/Debug/HighWayIot.Config.dll b/HighWayIot/bin/Debug/HighWayIot.Config.dll index 0aef53b1..ffb89fec 100644 Binary files a/HighWayIot/bin/Debug/HighWayIot.Config.dll and b/HighWayIot/bin/Debug/HighWayIot.Config.dll differ diff --git a/HighWayIot/bin/Debug/HighWayIot.Config.pdb b/HighWayIot/bin/Debug/HighWayIot.Config.pdb index 05fb1cc8..0e0eb06a 100644 Binary files a/HighWayIot/bin/Debug/HighWayIot.Config.pdb and b/HighWayIot/bin/Debug/HighWayIot.Config.pdb differ diff --git a/HighWayIot/obj/Debug/HighWayIot.csproj.AssemblyReference.cache b/HighWayIot/obj/Debug/HighWayIot.csproj.AssemblyReference.cache index 661dbb71..630c3540 100644 Binary files a/HighWayIot/obj/Debug/HighWayIot.csproj.AssemblyReference.cache and b/HighWayIot/obj/Debug/HighWayIot.csproj.AssemblyReference.cache differ