diff --git a/Sln.Iot.Business/MesReportBusiness.cs b/Sln.Iot.Business/MesReportBusiness.cs
index 8cc9a39..e05cf76 100644
--- a/Sln.Iot.Business/MesReportBusiness.cs
+++ b/Sln.Iot.Business/MesReportBusiness.cs
@@ -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
///
///
///
- 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;
}
+
///
/// stationParameters参数设置
///
diff --git a/Sln.Iot.Business/RFID01Business.cs b/Sln.Iot.Business/RFID01Business.cs
index eb142ec..849b196 100644
--- a/Sln.Iot.Business/RFID01Business.cs
+++ b/Sln.Iot.Business/RFID01Business.cs
@@ -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(() =>
{
diff --git a/Sln.Iot.Business/RFID03Business.cs b/Sln.Iot.Business/RFID03Business.cs
index 691cc23..b017422 100644
--- a/Sln.Iot.Business/RFID03Business.cs
+++ b/Sln.Iot.Business/RFID03Business.cs
@@ -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(() =>
{
diff --git a/Sln.Iot.Business/RFID06Business.cs b/Sln.Iot.Business/RFID06Business.cs
index 621fa71..cced3e0 100644
--- a/Sln.Iot.Business/RFID06Business.cs
+++ b/Sln.Iot.Business/RFID06Business.cs
@@ -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(() =>
{
diff --git a/Sln.Iot.Common/CommonUtil.cs b/Sln.Iot.Common/CommonUtil.cs
new file mode 100644
index 0000000..c5ef93e
--- /dev/null
+++ b/Sln.Iot.Common/CommonUtil.cs
@@ -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;
+ }
+ }
+}
diff --git a/Sln.Iot.Config/AppConfig.cs b/Sln.Iot.Config/AppConfig.cs
index 7fafd90..b570d4f 100644
--- a/Sln.Iot.Config/AppConfig.cs
+++ b/Sln.Iot.Config/AppConfig.cs
@@ -37,7 +37,22 @@ namespace Sln.Iot.Config
///
/// 节拍时间(秒)
///
- public int CycleTime { get; set; }
+ public int CycleTime1 { get; set; }
+
+ ///
+ /// 节拍时间(秒)
+ ///
+ public int CycleTime2 { get; set; }
+
+ ///
+ /// 节拍时间(秒)
+ ///
+ public int CycleTime3 { get; set; }
+
+ ///
+ /// 节拍时间(秒)
+ ///
+ public int CycleTime4 { get; set; }
///
/// PLC配置
diff --git a/Sln.Iot.Config/AppConfigSetting.cs b/Sln.Iot.Config/AppConfigSetting.cs
index 5956321..c7f45e8 100644
--- a/Sln.Iot.Config/AppConfigSetting.cs
+++ b/Sln.Iot.Config/AppConfigSetting.cs
@@ -5,7 +5,7 @@ namespace Sln.Iot.Config
{
public class AppConfigSetting
{
- private static AppConfig? _config;
+ public static AppConfig? _config;
///
/// 加载配置文件并解析为 AppConfig 对象。
diff --git a/Sln.Iot/appsettings.json b/Sln.Iot/appsettings.json
index 28013a8..a9a8a6d 100644
--- a/Sln.Iot/appsettings.json
+++ b/Sln.Iot/appsettings.json
@@ -1,7 +1,10 @@
{
"AppConfig": {
//MES数据中的CycleTime字段
- "CycleTime": 7200,
+ "CycleTime1": 2000,
+ "CycleTime2": 62,
+ "CycleTime3": 9000,
+ "CycleTime4": 62,
"logPath": "D:\\log",
//CFX连接配置
"VacuumConfig": {