From 8a9ca879c839467051db1e5d3e7986537ac5afce Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周五, 06 9月 2024 13:54:55 +0800
Subject: [PATCH] 测量岛数据展示
---
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_01.cs | 227 +++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 150 insertions(+), 77 deletions(-)
diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_01.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_01.cs
index 9620521..8a2a57a 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_01.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_01.cs
@@ -45,46 +45,46 @@
public override void DataCaptureStart()
{
- if (SystemValue.isStartedModel)
+ if (SystemValue.isStartedImitateModel)
{
- var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig);
+ //var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig);
- WorkPieceLog wplog = new WorkPieceLog();
- wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId();
- wplog.WorkingProcedure = WorkingProcedure;
- wplog.EquipmentID = WorkingProcedure;
- wplog.Remarks = WorkingProcedure;
- wplog.MonitoringPoint = DataCapturePointCode;
- wplog.CreatedTime = DateTimeHelper.GetDateTime();
- wplog.CreatedUserName = DataCapturePointCode;
- wplog.IsDeleted = false;
- //var valuecol = plcService.ReadValuePoint("2050", "28", 25, typeof(string));
+ //WorkPieceLog wplog = new WorkPieceLog();
+ //wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId();
+ //wplog.WorkingProcedure = WorkingProcedure;
+ //wplog.EquipmentID = WorkingProcedure;
+ //wplog.Remarks = WorkingProcedure;
+ //wplog.MonitoringPoint = DataCapturePointCode;
+ //wplog.CreatedTime = DateTimeHelper.GetDateTime();
+ //wplog.CreatedUserName = DataCapturePointCode;
+ //wplog.IsDeleted = false;
+ ////var valuecol = plcService.ReadValuePoint("2050", "28", 25, typeof(string));
- wplog.EquipmentID = _dataCaptureConfig.EquipmentID;
- wplog.WorkPieceID = WorkPieceID;
- wplog.UpdatedTime = DateTimeHelper.GetDateTime();
- wplog.UpdatedUserName = DataCapturePointCode;
- wplog.OnlineTime = DateTimeHelper.GetDateTime();//缁欎笂绾挎椂闂寸敤
+ //wplog.EquipmentID = _dataCaptureConfig.EquipmentID;
+ //wplog.WorkPieceID = WorkPieceID;
+ //wplog.UpdatedTime = DateTimeHelper.GetDateTime();
+ //wplog.UpdatedUserName = DataCapturePointCode;
+ //wplog.OnlineTime = DateTimeHelper.GetDateTime();//缁欎笂绾挎椂闂寸敤
- //var valueid = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, _dataCaptureConfig.DataCaptureColumnLength.Value, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType));
- //wplog.WorkPieceID = PLCManger.GetWorkPieceIDForPLC(_dataCaptureConfig, plcService);
- if (wplog.WorkPieceID.Length != 22)
- {//鑾峰彇鍒扮殑宸ヤ欢鍙峰紓甯�
- return;
- }
- else
- {//鑾峰彇鍏朵粬閰嶇疆鐨勫緟閲囬泦椤�
+ ////var valueid = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, _dataCaptureConfig.DataCaptureColumnLength.Value, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType));
+ ////wplog.WorkPieceID = PLCManger.GetWorkPieceIDForPLC(_dataCaptureConfig, plcService);
+ //if (wplog.WorkPieceID.Length != 22)
+ //{//鑾峰彇鍒扮殑宸ヤ欢鍙峰紓甯�
+ // return;
+ //}
+ //else
+ //{//鑾峰彇鍏朵粬閰嶇疆鐨勫緟閲囬泦椤�
- //foreach (var col in colConfig.Where(o => o.DataCapturePointCode == DataCapturePointCode))
- //{
- // var valuecol = plcService.ReadValuePoint(col.DbNumber, col.Offset, col.DataCaptureColumnLength.Value, PLCManger.GetTypeForString(col.DataCaptureColumnType));
- // wplog.GetType().GetProperty(col.DataCaptureColumnTabelName).SetValue(wplog, valuecol);//缁欏姩鎬佸瓧娈佃祴鍊�
+ // //foreach (var col in colConfig.Where(o => o.DataCapturePointCode == DataCapturePointCode))
+ // //{
+ // // var valuecol = plcService.ReadValuePoint(col.DbNumber, col.Offset, col.DataCaptureColumnLength.Value, PLCManger.GetTypeForString(col.DataCaptureColumnType));
+ // // wplog.GetType().GetProperty(col.DataCaptureColumnTabelName).SetValue(wplog, valuecol);//缁欏姩鎬佸瓧娈佃祴鍊�
- //}
- }
- //璇诲彇浜岀淮鐮佸悗鏇存柊鏁版嵁搴�
- WorkPieceInfoManager.ReadQRcode(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), plcService, _dataCaptureConfig.IsFeedback);
+ // //}
+ //}
+ ////璇诲彇浜岀淮鐮佸悗鏇存柊鏁版嵁搴�
+ //WorkPieceInfoManager.ReadQRcode(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), plcService, _dataCaptureConfig.IsFeedback);
return;
@@ -106,7 +106,7 @@
//plcService.Close();
//plcService.OpenService();
}
- string value_01 = "";
+ string value_01 = "";//娉ㄦ剰锛氶粯璁ゆ槸FALSE 銆怑ditby shaocx,2024-09-05銆�
while (true)
{
threadStatusMonitor.ErrorMsg = "";
@@ -134,19 +134,20 @@
//string hostname = Environment.MachineName;
object value = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType));
- if (value_01.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE"))
- {//褰撲笂涓�鏍囪浣�0锛屽綋鍓嶈幏鍙栨爣璁颁负1鏃讹紝
- //瑙﹀彂鎿嶄綔, 骞剁粰闈欐�佸彉閲忚祴鍊间负1
- //涓氬姟浠g爜
- threadStatusMonitor.Threadlastmodifytime = DateTime.Now;
- WorkPieceLog wplog = new WorkPieceLog();
+ WorkPieceLog wplog = null;
+
+ var value_bool = value.ToString().ToUpper().Equals("TRUE");
+ if (value_bool)
+ {
+ wplog = new WorkPieceLog();
wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId();
wplog.WorkingProcedure = WorkingProcedure;
wplog.EquipmentID = _dataCaptureConfig.EquipmentID; ;
wplog.Remarks = WorkingProcedure;
wplog.MonitoringPoint = DataCapturePointCode;
+ //wplog.CreatedUserName = DataCapturePointCode;
+ SystemBussinessHelper.SetWorkPieceLogMiddleForCreatedUserName(ref wplog, DataCapturePointCode, DataCapturePointCname);
wplog.CreatedTime = DateTimeHelper.GetDateTime();
- wplog.CreatedUserName = DataCapturePointCode;
wplog.UpdatedTime = DateTimeHelper.GetDateTime();
wplog.UpdatedUserName = Environment.MachineName + "鑷姩" + Thread.CurrentThread.ManagedThreadId.ToString();
wplog.OnlineTime = DateTimeHelper.GetDateTime();
@@ -171,10 +172,29 @@
}
}
+ //鐩戞帶娴嬭瘯鏁版嵁锛屾ā鎷燂紝娴嬭瘯
+ MonitorHelper.MonitorTestForOP3501(_dataCaptureConfig, value, colConfig, wplog);
+ //鐩戞帶涓婄嚎
+ MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceID);
+ }
+ //if (wplog != null)
+ //{
+ // var isRight = SystemBussinessHelper.ValidateIsRightWorkPieceID(wplog.WorkPieceID);
+ // if (isRight)
+ // {
+ #region 澶勭悊涓氬姟
+
+ if (value_01.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE"))
+ {//褰撲笂涓�鏍囪浣�0锛屽綋鍓嶈幏鍙栨爣璁颁负1鏃讹紝
+ //瑙﹀彂鎿嶄綔, 骞剁粰闈欐�佸彉閲忚祴鍊间负1
+ //涓氬姟浠g爜
+ threadStatusMonitor.Threadlastmodifytime = DateTime.Now;
+
//鐗规畩澶勭悊OP50 銆怑ditby shaocx,2024-08-16銆�
string sideValue = GetSideForOP50(plcService, wplog);
wplog.MonitoringPoint += sideValue;
- wplog.CreatedUserName = wplog.MonitoringPoint;
+ //wplog.CreatedUserName = wplog.MonitoringPoint;
+ SystemBussinessHelper.SetWorkPieceLogMiddleForCreatedUserName(ref wplog, wplog.MonitoringPoint, DataCapturePointCname);
//璇诲彇浜岀淮鐮佸悗鏇存柊鏁版嵁搴�
WorkPieceInfoManager.ReadQRcode(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), plcService, _dataCaptureConfig.IsFeedback);
@@ -184,12 +204,15 @@
}
value_01 = value.ToString();
+ #endregion
+ // }
+ //}
}
threadStatusMonitor.Remarks = $"abcdefg:{RandomHelper.GenerateRandomCode(4)}";
if (!_dataCaptureConfig.DataCaptureFrequency.HasValue || _dataCaptureConfig.DataCaptureFrequency < 10)
{
- threadStatusMonitor.ThreadFrequency = 5000;
- Thread.Sleep(5000);
+ threadStatusMonitor.ThreadFrequency = 700;
+ Thread.Sleep(700);
}
else
{
@@ -230,6 +253,62 @@
/// </summary>
/// <param name="plcService"></param>
/// <returns></returns>
+ //private string GetSideForOP50(PLCService plcService, WorkPieceLog wplog)
+ //{
+ // try
+ // {
+ // if (!(DataCapturePointCode.Contains("OP5001A") || DataCapturePointCode.Contains("OP5001B")))
+ // {
+ // return "";
+ // }
+ // string title = $"璇诲彇 {DataCapturePointCode}宸ュ簭鏃讹紝鑾峰彇OP50鐨勫摢涓潰,宸ヤ欢鍙�:{wplog.WorkPieceID}";
+
+ // int i_value_M88 = _GetSideForOP50(plcService, wplog, "M87.0");
+ // if (i_value_M88 == 1)
+ // {
+ // title += ",杩斿洖1";
+ // Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), title);
+ // return "1";
+ // }
+
+ // i_value_M88 = _GetSideForOP50(plcService, wplog, "M87.2");
+ // if (i_value_M88 == 1)
+ // {
+ // title += ",杩斿洖2";
+ // Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), title);
+ // return "2";
+ // }
+
+ // i_value_M88 = _GetSideForOP50(plcService, wplog, "M87.4");
+ // if (i_value_M88 == 1)
+ // {
+ // title += ",杩斿洖3";
+ // Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), title);
+ // return "3";
+ // }
+
+ // i_value_M88 = _GetSideForOP50(plcService, wplog, "M87.6");
+ // if (i_value_M88 == 1)
+ // {
+ // title += ",杩斿洖4";
+ // Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), title);
+ // return "4";
+ // }
+
+ // Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {DataCapturePointCode}宸ュ簭鏃讹紝鏃犳晥鏁板��,鑾峰彇OP50鐨勫摢涓潰,i_value_M88:{i_value_M88}锛屽伐浠跺彿:{wplog.WorkPieceID}");
+ // return "";
+ // }
+ // catch (Exception ex)
+ // {
+ // Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {DataCapturePointCode}宸ュ簭鏃跺紓甯�,鑾峰彇OP50鐨勫摢涓潰,宸ヤ欢鍙�:{wplog.WorkPieceID}", ex);
+ // return "";
+ // }
+ //}
+ /// <summary>
+ /// 鑾峰彇OP50鐨勬煇涓伐浣嶇殑鍝釜闈�
+ /// </summary>
+ /// <param name="plcService"></param>
+ /// <returns></returns>
private string GetSideForOP50(PLCService plcService, WorkPieceLog wplog)
{
try
@@ -238,46 +317,40 @@
{
return "";
}
- string title = $"璇诲彇 {DataCapturePointCode}宸ュ簭鏃讹紝鑾峰彇OP50鐨勫摢涓潰,宸ヤ欢鍙�:{wplog.WorkPieceID}";
- int i_value_M88 = _GetSideForOP50(plcService, wplog, "M87.0");
- if (i_value_M88 == 1)
+ object value_M88 = plcService.ReadValuePointV2("M88", PLCManger.GetTypeForString("int"));
+ int i_value_M88 = 0;
+ var isRight = int.TryParse(value_M88.ToString(), out i_value_M88);
+ Log4NetHelper.WriteInfoLog(LogType.MonitorOP50Side, $"璇诲彇 {DataCapturePointCode}宸ュ簭鐩戞帶娴嬮噺鏍囪鏁版嵁,鑾峰彇OP50鐨勫摢涓潰,i_value_M88:{i_value_M88},宸ヤ欢鍙�:{wplog.WorkPieceID}");
+ if (isRight)
{
- title += ",杩斿洖1";
- Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), title);
- return "1";
+ if (i_value_M88 == 64)
+ {
+ return "1";
+ }
+ else if (i_value_M88 == 16384)
+ {//鍘熷畾涓�16384涓烘鍦ㄦ棆杞紝鐩戞帶涓嬫潵锛屽彂鐜� 16384搴旇鏄伐浣�1鐨勯棶棰� 銆怑ditby shaocx,2024-06-12銆�
+ return "1";
+ }
+ else if (i_value_M88 == 256)
+ {
+ return "2";
+ }
+ else if (i_value_M88 == 1024)
+ {
+ return "3";
+ }
+ else if (i_value_M88 == 4096)
+ {
+ return "4";
+ }
}
-
- i_value_M88 = _GetSideForOP50(plcService, wplog, "M87.2");
- if (i_value_M88 == 1)
- {
- title += ",杩斿洖2";
- Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), title);
- return "2";
- }
-
- i_value_M88 = _GetSideForOP50(plcService, wplog, "M87.4");
- if (i_value_M88 == 1)
- {
- title += ",杩斿洖3";
- Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), title);
- return "3";
- }
-
- i_value_M88 = _GetSideForOP50(plcService, wplog, "M87.6");
- if (i_value_M88 == 1)
- {
- title += ",杩斿洖4";
- Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), title);
- return "4";
- }
-
- Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {DataCapturePointCode}宸ュ簭鏃讹紝鏃犳晥鏁板��,鑾峰彇OP50鐨勫摢涓潰,i_value_M88:{i_value_M88}锛屽伐浠跺彿:{wplog.WorkPieceID}");
+ Log4NetHelper.WriteErrorLog(LogType.MonitorOP50Side, $"璇诲彇 {DataCapturePointCode}宸ュ簭鐩戞帶娴嬮噺鏍囪鏁版嵁鏃讹紝鏃犳晥鏁板��,鑾峰彇OP50鐨勫摢涓潰,,i_value_M88:{i_value_M88}锛屽伐浠跺彿:{wplog.WorkPieceID}", null);
return "";
}
catch (Exception ex)
{
- Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {DataCapturePointCode}宸ュ簭鏃跺紓甯�,鑾峰彇OP50鐨勫摢涓潰,宸ヤ欢鍙�:{wplog.WorkPieceID}", ex);
+ Log4NetHelper.WriteErrorLog(LogType.MonitorOP50Side, $"璇诲彇 {DataCapturePointCode}宸ュ簭鐩戞帶娴嬮噺鏍囪鏁版嵁鏃跺紓甯�,鑾峰彇OP50鐨勫摢涓潰,宸ヤ欢鍙�:{wplog.WorkPieceID}", ex);
return "";
}
}
--
Gitblit v1.9.3