feat - 添加更多可配置项

master
SoulStar 2 months ago
parent 8de7cbb4d9
commit 56a1ad12a1

@ -117,7 +117,7 @@ namespace Sln.Iot.Business
private string tranter(MesReportEntity entity)
{
entity.CycleTime = _appConfig.CycleTime;
//entity.CycleTime = _appConfig.CycleTime;
entity.RunningTime = (int)(DateTime.Now - GlobalVar.OpenTime).TotalSeconds;
#region 傳送字的資料
@ -126,8 +126,8 @@ namespace Sln.Iot.Business
// strSendData += "\"factory\":\"" + "DG5" + "\",";
strSendData += "\"interfaceID\":\"" + entity.InterfaceID + "\",";
// strSendData += "\"EquipType\":" + EquipType + ",";
strSendData += "\"status\":" + entity.Status + ",";
strSendData += "\"statusCode\":\"" + entity.StatusCode + "\",";
strSendData += "\"status\":" + entity.StatusCode + ",";
strSendData += "\"statusCode\":\"" + entity.Status + "\",";
strSendData += "\"passQty\":" + entity.PassQuantity + ",";
strSendData += "\"failQty\":" + entity.FailQuantity + ",";
strSendData += "\"errorCnt\":" + entity.ErrorCount + ",";
@ -181,27 +181,30 @@ namespace Sln.Iot.Business
{
string status = "0";
string statusCode = "0";
if (deviceNo == 1)
if (deviceNo == 1) //真空箱
{
var r1 = _plc.ReadInt16(_plc.DeltaInstance1, "D15176");
var r2 = _plc.ReadInt16(_plc.DeltaInstance2, "D15176");
if (r1.IsSuccess && r2.IsSuccess)
{
if (r1.Content == 0 && r2.Content == 0)
{
GlobalVar.Connect1Entity.StatusCode = "0";
GlobalVar.Connect1Entity.Status = StatusJudge(0).ToString();
}
else if (r1.Content != 0)
if (r1.Content == 1)
{
GlobalVar.Connect1Entity.StatusCode = r1.Content.ToString();
GlobalVar.Connect1Entity.Status = StatusJudge(r1.Content).ToString();
GlobalVar.Connect1Entity.Status = StatusJudge(r1.Content, 2).ToString();
}
else if (r2.Content != 0)
else if (r2.Content == 1)
{
GlobalVar.Connect1Entity.StatusCode = r2.Content.ToString();
GlobalVar.Connect1Entity.Status = StatusJudge(r2.Content).ToString();
GlobalVar.Connect1Entity.Status = StatusJudge(r2.Content, 3).ToString();
}
else
{
GlobalVar.Connect1Entity.StatusCode = "0";
GlobalVar.Connect1Entity.Status = StatusJudge(0, 1).ToString();
}
if (GlobalVar.Connect1Entity.Status == "1")
{
if (GlobalVar.Connect1Entity.IsError == false)
@ -228,13 +231,13 @@ namespace Sln.Iot.Business
_log.Error($"读取PLC状态失败: 真空箱1{r1.IsSuccess} - {r1.Message}; 真空箱2{r2.IsSuccess} - {r2.Message}");
}
}
else if (deviceNo == 2)
else if (deviceNo == 2) //上料提升机
{
var r1 = _plc.ReadInt16(_plc.DeltaInstance3, "D15176");
if (r1.IsSuccess)
{
GlobalVar.Connect2Entity.StatusCode = r1.Content.ToString();
GlobalVar.Connect2Entity.Status = StatusJudge(r1.Content).ToString();
GlobalVar.Connect2Entity.Status = StatusJudge(r1.Content, 4).ToString();
if (GlobalVar.Connect2Entity.Status == "1")
{
@ -262,13 +265,13 @@ namespace Sln.Iot.Business
_log.Error($"读取PLC状态失败: 上料提升机{r1.IsSuccess} - {r1.Message}");
}
}
else if (deviceNo == 3)
else if (deviceNo == 3) //烤箱
{
var r1 = _plc.ReadInt16(_plc.DeltaInstance0, "D15176");
if (r1.IsSuccess)
{
GlobalVar.Connect3Entity.StatusCode = r1.Content.ToString();
GlobalVar.Connect3Entity.Status = StatusJudge(r1.Content).ToString();
GlobalVar.Connect3Entity.Status = StatusJudge(r1.Content, 1).ToString();
if (GlobalVar.Connect3Entity.Status == "1")
{
@ -296,13 +299,13 @@ namespace Sln.Iot.Business
_log.Error($"读取PLC状态失败: 烤箱{r1.IsSuccess} - {r1.Message}");
}
}
else if (deviceNo == 4)
else if (deviceNo == 4) //下料提升机
{
var r1 = _plc.ReadInt16(_plc.DeltaInstance4, "D15176");
if (r1.IsSuccess)
{
GlobalVar.Connect4Entity.StatusCode = r1.Content.ToString();
GlobalVar.Connect4Entity.Status = StatusJudge(r1.Content).ToString();
GlobalVar.Connect4Entity.Status = StatusJudge(r1.Content, 4).ToString();
if (GlobalVar.Connect4Entity.Status == "1")
{
@ -344,23 +347,44 @@ namespace Sln.Iot.Business
/// </summary>
/// <param name="sc"></param>
/// <returns></returns>
private int StatusJudge(int sc)
private int StatusJudge(int sc, int num)
{
if (sc == -1 || sc == 2)
if (sc == 1)
{
//return 1;
try
{
switch (num)
{
case 1: //烤箱
//return 1;
return _plc.ReadInt16(_plc.DeltaInstance0, "D262").Content;
case 2: //真空箱1
//return 1;
return _plc.ReadInt16(_plc.DeltaInstance1, "D262").Content;
case 3: //真空箱2
//return 1;
return _plc.ReadInt16(_plc.DeltaInstance2, "D262").Content;
case 4: //上聊提升机
//return 1;
return _plc.ReadInt16(_plc.DeltaInstance3, "D262").Content;
default:
return 1;
}
}
catch
{
return 1;
}
}
else
{
return 0;
}
if (sc == 1 || sc == 10 || sc == 11)
{
return 1;
}
if (sc == 12)
{
return 10;
}
return 4;
}
/// <summary>
/// stationParameters参数设置
/// </summary>

@ -5,6 +5,7 @@ using HslCommunication;
using Sln.Iot.CFX.CFXConnect;
using Sln.Iot.CFX.Event;
using Sln.Iot.Common;
using Sln.Iot.Config;
using Sln.Iot.PLC;
using Sln.Iot.Repository;
using Sln.Iot.Repository.dao;
@ -126,6 +127,8 @@ namespace Sln.Iot.Business
_log.Error("上料提升机PLC写入完成信号异常");
}
GlobalVar.Connect2Entity.CycleTime = CommonUtil.AddRandom(AppConfigSetting._config.CycleTime2, 5);
//CFX
Task.Run(() =>
{

@ -2,6 +2,8 @@
using HslCommunication;
using Sln.Iot.CFX.CFXConnect;
using Sln.Iot.CFX.Event;
using Sln.Iot.Common;
using Sln.Iot.Config;
using Sln.Iot.PLC;
using Sln.Iot.Repository.service;
using Sln.Iot.Serilog;
@ -84,6 +86,8 @@ namespace Sln.Iot.Business
_log.Error("胶机1真空箱外写入完成信号异常");
}
GlobalVar.Connect1Entity.CycleTime = CommonUtil.AddRandom(AppConfigSetting._config.CycleTime1, 300);
//CFX
Task.Run(() =>
{

@ -6,6 +6,7 @@ using Sln.Iot.CFX.CFXBusiness;
using Sln.Iot.CFX.CFXConnect;
using Sln.Iot.CFX.Event;
using Sln.Iot.Common;
using Sln.Iot.Config;
using Sln.Iot.PLC;
using Sln.Iot.Repository.service;
using Sln.Iot.Serilog;
@ -109,6 +110,9 @@ namespace Sln.Iot.Business
_log.Error("下料提升机PLC写入完成信号异常");
}
GlobalVar.Connect3Entity.CycleTime = CommonUtil.AddRandom(AppConfigSetting._config.CycleTime3, 1000);
GlobalVar.Connect4Entity.CycleTime = CommonUtil.AddRandom(AppConfigSetting._config.CycleTime4, 5);
//CFX
Task.Run(() =>
{

@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Sln.Iot.Common
{
public class CommonUtil
{
public static int AddRandom(int a, int b)
{
if (b <= 0)
{
return a;
}
Random random = new Random();
int n = random.Next(-b + 1, b);
return a + n;
}
}
}

@ -37,7 +37,22 @@ namespace Sln.Iot.Config
/// <summary>
/// 节拍时间(秒)
/// </summary>
public int CycleTime { get; set; }
public int CycleTime1 { get; set; }
/// <summary>
/// 节拍时间(秒)
/// </summary>
public int CycleTime2 { get; set; }
/// <summary>
/// 节拍时间(秒)
/// </summary>
public int CycleTime3 { get; set; }
/// <summary>
/// 节拍时间(秒)
/// </summary>
public int CycleTime4 { get; set; }
/// <summary>
/// PLC配置

@ -5,7 +5,7 @@ namespace Sln.Iot.Config
{
public class AppConfigSetting
{
private static AppConfig? _config;
public static AppConfig? _config;
/// <summary>
/// 加载配置文件并解析为 AppConfig 对象。

@ -1,7 +1,10 @@
{
"AppConfig": {
//MESCycleTime
"CycleTime": 7200,
"CycleTime1": 2000,
"CycleTime2": 62,
"CycleTime3": 9000,
"CycleTime4": 62,
"logPath": "D:\\log",
//CFX
"VacuumConfig": {

Loading…
Cancel
Save