style, feat - connect the business code and style cfx code

master
SoulStar 2 months ago
parent 5b7e5eee6c
commit b6125ec679

@ -0,0 +1,30 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Sln.Iot.Business
{
/// <summary>
/// 业务启动类
/// </summary>
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();
}
}
}

@ -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()
{

@ -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()
{

@ -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()
{

@ -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
}
/// <summary>
/// RFID02胶机1真空箱数据处理流程
/// RFID04胶机2真空箱前数据处理流程
/// </summary>
/// <param name="state"></param>
public void TimerCallback(object? state)

@ -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
}
/// <summary>
/// RFID02胶机1真空箱数据处理流程
/// RFID05胶机2真空箱后数据处理流程
/// </summary>
/// <param name="state"></param>
public void TimerCallback(object? state)

@ -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
}
/// <summary>
/// RFID02胶机1真空箱数据处理流程
/// RFID06下料提升机数据处理流程
/// </summary>
/// <param name="state"></param>
public void TimerCallback(object? state)

@ -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}");
}
}
}

@ -39,7 +39,7 @@ public class AreYouThereRequestReceived
/// </summary>
/// <param name="request"></param>
/// <param name="response"></param>
public static void Handle(AreYouThereRequest request,out CFXMessage response)
public static void Handle(AreYouThereRequest request, out CFXMessage response)
{
//
try

@ -107,6 +107,7 @@ namespace Sln.Iot.PLC
/// <returns></returns>
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
/// <returns></returns>
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
/// <returns></returns>
public OperateResult<int> ReadInt32(DeltaSerialOverTcp connect, string address)
{
if (connect == null) return new OperateResult<int>() { IsSuccess = false };
lock (locker1)
{
var res = connect.ReadInt32(address);
@ -187,6 +190,7 @@ namespace Sln.Iot.PLC
/// <returns></returns>
public OperateResult<short> ReadInt16(DeltaSerialOverTcp connect, string address)
{
if (connect == null) return new OperateResult<short>() { IsSuccess = false };
lock (locker1)
{
var res = connect.ReadInt16(address);
@ -201,6 +205,7 @@ namespace Sln.Iot.PLC
/// <returns></returns>
public OperateResult<float> ReadFloat(DeltaSerialOverTcp connect, string address)
{
if (connect == null) return new OperateResult<float>() { IsSuccess = false };
lock (locker1)
{
var res = connect.ReadFloat(address);
@ -215,6 +220,7 @@ namespace Sln.Iot.PLC
/// <returns></returns>
public OperateResult<bool> ReadBool(DeltaSerialOverTcp connect, string address)
{
if (connect == null) return new OperateResult<bool>() { IsSuccess = false };
lock (locker1)
{
var res = connect.ReadBool(address);
@ -230,6 +236,7 @@ namespace Sln.Iot.PLC
/// <returns></returns>
public OperateResult<byte[]> ReadBytes(DeltaSerialOverTcp connect, string address, ushort length)
{
if (connect == null) return new OperateResult<byte[]>() { IsSuccess = false };
lock (locker1)
{
var res = connect.Read(address, length);

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

Loading…
Cancel
Save