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);