diff --git a/Sln.Iot.Business/BusinessStart.cs b/Sln.Iot.Business/BusinessStart.cs new file mode 100644 index 0000000..b62e855 --- /dev/null +++ b/Sln.Iot.Business/BusinessStart.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Sln.Iot.Business +{ + /// + /// 业务启动类 + /// + public class BusinessStart + { + private RFID01Business _rfid01; + private RFID02Business _rfid02; + private RFID03Business _rfid03; + private RFID04Business _rfid04; + private RFID05Business _rfid05; + private RFID06Business _rfid06; + public BusinessStart() + { + _rfid01 = new RFID01Business(); + _rfid02 = new RFID02Business(); + _rfid03 = new RFID03Business(); + _rfid04 = new RFID04Business(); + _rfid05 = new RFID05Business(); + _rfid06 = new RFID06Business(); + } + } +} diff --git a/Sln.Iot.Business/RFID01Business.cs b/Sln.Iot.Business/RFID01Business.cs index 8ccef69..fcded18 100644 --- a/Sln.Iot.Business/RFID01Business.cs +++ b/Sln.Iot.Business/RFID01Business.cs @@ -16,9 +16,9 @@ namespace Sln.Iot.Business { private Timer _timer; - private readonly PLCConnect _plc; + private readonly PLCConnect _plc = PLCConnect.Instance; - private readonly SerilogHelper _log; + private readonly SerilogHelper _log = SerilogHelper.Instance; public RFID01Business() { diff --git a/Sln.Iot.Business/RFID02Business.cs b/Sln.Iot.Business/RFID02Business.cs index 53462bc..302c00f 100644 --- a/Sln.Iot.Business/RFID02Business.cs +++ b/Sln.Iot.Business/RFID02Business.cs @@ -14,9 +14,9 @@ namespace Sln.Iot.Business { private Timer _timer; - private readonly PLCConnect _plc; + private readonly PLCConnect _plc = PLCConnect.Instance; - private readonly SerilogHelper _log; + private readonly SerilogHelper _log = SerilogHelper.Instance; public RFID02Business() { diff --git a/Sln.Iot.Business/RFID03Business.cs b/Sln.Iot.Business/RFID03Business.cs index 2f446b2..65d6042 100644 --- a/Sln.Iot.Business/RFID03Business.cs +++ b/Sln.Iot.Business/RFID03Business.cs @@ -14,9 +14,9 @@ namespace Sln.Iot.Business { private Timer _timer; - private readonly PLCConnect _plc; + private readonly PLCConnect _plc = PLCConnect.Instance; - private readonly SerilogHelper _log; + private readonly SerilogHelper _log = SerilogHelper.Instance; public RFID03Business() { diff --git a/Sln.Iot.Business/RFID04Business.cs b/Sln.Iot.Business/RFID04Business.cs index 5de6879..e3bb9ab 100644 --- a/Sln.Iot.Business/RFID04Business.cs +++ b/Sln.Iot.Business/RFID04Business.cs @@ -15,9 +15,9 @@ namespace Sln.Iot.Business { private Timer _timer; - private readonly PLCConnect _plc; + private readonly PLCConnect _plc = PLCConnect.Instance; - private readonly SerilogHelper _log; + private readonly SerilogHelper _log = SerilogHelper.Instance; public RFID04Business() { @@ -25,7 +25,7 @@ namespace Sln.Iot.Business } /// - /// RFID02胶机1真空箱数据处理流程 + /// RFID04胶机2真空箱前数据处理流程 /// /// public void TimerCallback(object? state) diff --git a/Sln.Iot.Business/RFID05Business.cs b/Sln.Iot.Business/RFID05Business.cs index 7235227..d5e92d6 100644 --- a/Sln.Iot.Business/RFID05Business.cs +++ b/Sln.Iot.Business/RFID05Business.cs @@ -14,9 +14,9 @@ namespace Sln.Iot.Business { private Timer _timer; - private readonly PLCConnect _plc; + private readonly PLCConnect _plc = PLCConnect.Instance; - private readonly SerilogHelper _log; + private readonly SerilogHelper _log = SerilogHelper.Instance; public RFID05Business() { @@ -24,7 +24,7 @@ namespace Sln.Iot.Business } /// - /// RFID02胶机1真空箱数据处理流程 + /// RFID05胶机2真空箱后数据处理流程 /// /// public void TimerCallback(object? state) diff --git a/Sln.Iot.Business/RFID06Business.cs b/Sln.Iot.Business/RFID06Business.cs index d746958..1013edf 100644 --- a/Sln.Iot.Business/RFID06Business.cs +++ b/Sln.Iot.Business/RFID06Business.cs @@ -14,9 +14,9 @@ namespace Sln.Iot.Business { private Timer _timer; - private readonly PLCConnect _plc; + private readonly PLCConnect _plc = PLCConnect.Instance; - private readonly SerilogHelper _log; + private readonly SerilogHelper _log = SerilogHelper.Instance; public RFID06Business() { @@ -24,7 +24,7 @@ namespace Sln.Iot.Business } /// - /// RFID02胶机1真空箱数据处理流程 + /// RFID06下料提升机数据处理流程 /// /// public void TimerCallback(object? state) diff --git a/Sln.Iot.CFX/CFXHelper.cs b/Sln.Iot.CFX/CFXHelper.cs index 32e3b62..57444de 100644 --- a/Sln.Iot.CFX/CFXHelper.cs +++ b/Sln.Iot.CFX/CFXHelper.cs @@ -46,7 +46,7 @@ public class CFXHelper } - public void Init(string cfxHandle,Uri uri,string address) + public void Init(string cfxHandle, Uri uri, string address) { try { @@ -54,7 +54,7 @@ public class CFXHelper { throw new ArgumentNullException($"AmqpCFXEndpoint is null"); } - + _endpoint.Open(cfxHandle, uri); _endpoint.AddPublishChannel(uri, address); @@ -64,7 +64,7 @@ public class CFXHelper } catch (Exception e) { - throw new InvalidOperationException($"CFX 接口初始化异常:{ e.Message}"); + throw new InvalidOperationException($"CFX 接口初始化异常:{e.Message}"); } } @@ -79,22 +79,27 @@ public class CFXHelper if (request.MessageBody is AreYouThereRequest) { - AreYouThereRequestReceived.Handle(request.MessageBody as AreYouThereRequest,out response); - }else if (request.MessageBody is GetEndpointInformationRequest) + AreYouThereRequestReceived.Handle(request.MessageBody as AreYouThereRequest, out response); + } + else if (request.MessageBody is GetEndpointInformationRequest) { - GetEndpointInformationRequestReceived.Handle(request.MessageBody as GetEndpointInformationRequest,out response); - }else if (request.MessageBody is WhoIsThereRequest) + GetEndpointInformationRequestReceived.Handle(request.MessageBody as GetEndpointInformationRequest, out response); + } + else if (request.MessageBody is WhoIsThereRequest) { - WhoIsThereRequestReceived.Handle(request.MessageBody as WhoIsThereRequest,out response); - }else if (request.MessageBody is GetActiveRecipeRequest) + WhoIsThereRequestReceived.Handle(request.MessageBody as WhoIsThereRequest, out response); + } + else if (request.MessageBody is GetActiveRecipeRequest) { - GetActiveRecipeRequestReceived.Handle(request.MessageBody as GetActiveRecipeRequest,out response); - }else if (request.MessageBody is GetActiveFaultsRequest) + GetActiveRecipeRequestReceived.Handle(request.MessageBody as GetActiveRecipeRequest, out response); + } + else if (request.MessageBody is GetActiveFaultsRequest) { - GetActiveFaultsRequestReceived.Handle(request.MessageBody as GetActiveFaultsRequest,out response); - }else if (request.MessageBody is HandleFaultRequest) + GetActiveFaultsRequestReceived.Handle(request.MessageBody as GetActiveFaultsRequest, out response); + } + else if (request.MessageBody is HandleFaultRequest) { - HandleFaultRequestReceived.Handle(request.MessageBody as HandleFaultRequest,out response); + HandleFaultRequestReceived.Handle(request.MessageBody as HandleFaultRequest, out response); } CFXEnvelope env = new CFXEnvelope(response); @@ -113,12 +118,12 @@ public class CFXHelper { throw new ArgumentNullException($"AmqpCFXEndpoint is null"); } - + _endpoint.Publish(env); } catch (Exception e) { - throw new InvalidOperationException($"推送事件异常:{ e.Message}"); + throw new InvalidOperationException($"推送事件异常:{e.Message}"); } } } \ No newline at end of file diff --git a/Sln.Iot.CFX/RequestReceived/AreYouThereRequestReceived.cs b/Sln.Iot.CFX/RequestReceived/AreYouThereRequestReceived.cs index 1b6de18..82551dc 100644 --- a/Sln.Iot.CFX/RequestReceived/AreYouThereRequestReceived.cs +++ b/Sln.Iot.CFX/RequestReceived/AreYouThereRequestReceived.cs @@ -39,7 +39,7 @@ public class AreYouThereRequestReceived /// /// /// - public static void Handle(AreYouThereRequest request,out CFXMessage response) + public static void Handle(AreYouThereRequest request, out CFXMessage response) { // try diff --git a/Sln.Iot.PLC/PLCConnect.cs b/Sln.Iot.PLC/PLCConnect.cs index 5b2aec9..a883fed 100644 --- a/Sln.Iot.PLC/PLCConnect.cs +++ b/Sln.Iot.PLC/PLCConnect.cs @@ -107,6 +107,7 @@ namespace Sln.Iot.PLC /// public OperateResult PlcWrite(DeltaSerialOverTcp connect, string address, object value, DataTypeEnum type) { + if (connect == null) return new OperateResult() { IsSuccess = false }; var result = new OperateResult() { IsSuccess = false }; lock (locker1) @@ -161,6 +162,7 @@ namespace Sln.Iot.PLC /// public OperateResult PlcWriteBytes(DeltaSerialOverTcp connect, string address, byte[] data) { + if (connect == null) return new OperateResult() { IsSuccess = false }; lock (locker1) { var res = connect.Write(address, data); @@ -174,6 +176,7 @@ namespace Sln.Iot.PLC /// public OperateResult ReadInt32(DeltaSerialOverTcp connect, string address) { + if (connect == null) return new OperateResult() { IsSuccess = false }; lock (locker1) { var res = connect.ReadInt32(address); @@ -187,6 +190,7 @@ namespace Sln.Iot.PLC /// public OperateResult ReadInt16(DeltaSerialOverTcp connect, string address) { + if (connect == null) return new OperateResult() { IsSuccess = false }; lock (locker1) { var res = connect.ReadInt16(address); @@ -201,6 +205,7 @@ namespace Sln.Iot.PLC /// public OperateResult ReadFloat(DeltaSerialOverTcp connect, string address) { + if (connect == null) return new OperateResult() { IsSuccess = false }; lock (locker1) { var res = connect.ReadFloat(address); @@ -215,6 +220,7 @@ namespace Sln.Iot.PLC /// public OperateResult ReadBool(DeltaSerialOverTcp connect, string address) { + if (connect == null) return new OperateResult() { IsSuccess = false }; lock (locker1) { var res = connect.ReadBool(address); @@ -230,6 +236,7 @@ namespace Sln.Iot.PLC /// public OperateResult ReadBytes(DeltaSerialOverTcp connect, string address, ushort length) { + if (connect == null) return new OperateResult() { IsSuccess = false }; lock (locker1) { var res = connect.Read(address, length); diff --git a/Sln.Iot/Program.cs b/Sln.Iot/Program.cs index c5ce513..3f36cba 100644 --- a/Sln.Iot/Program.cs +++ b/Sln.Iot/Program.cs @@ -1,6 +1,7 @@ using System.Reflection; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; +using Sln.Iot.Business; using Sln.Iot.Config; using Sln.Iot.PLC; using Sln.Iot.Repository; @@ -25,6 +26,8 @@ namespace Sln.Iot //PLC连接初始化 PLCConnect.Instance.InitConnect(); + BusinessStart business = new BusinessStart(); + log.Info($"系统启动成功,日志存放位置:{appConfig.logPath}"); await Task.Delay(-1);