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 | 249 ++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 204 insertions(+), 45 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 896cc15..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 = "";
@@ -119,7 +119,7 @@
{
if (plcService == null || !plcService.IsConnected)
{
- threadStatusMonitor.ErrorMsg= $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!";
+ threadStatusMonitor.ErrorMsg = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!";
SystemValue.PLCServiceReconnect(plcService);
//plcService.Close();
//plcService.OpenService();
@@ -134,21 +134,22 @@
//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.UpdatedUserName = Environment.MachineName + "鑷姩" + Thread.CurrentThread.ManagedThreadId.ToString();
wplog.OnlineTime = DateTimeHelper.GetDateTime();
wplog.IsDeleted = false;
@@ -170,6 +171,31 @@
Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {DataCapturePointCode}宸ュ簭鐩戞帶涓婄嚎瀹屾垚鏍囪 瀛楁{col.DataCaptureColumnTabelName}鍔ㄦ�佽祴鍊煎紓甯竰wplog.Id}", setex);
}
}
+
+ //鐩戞帶娴嬭瘯鏁版嵁锛屾ā鎷燂紝娴嬭瘯
+ 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;
+ SystemBussinessHelper.SetWorkPieceLogMiddleForCreatedUserName(ref wplog, wplog.MonitoringPoint, DataCapturePointCname);
+
//璇诲彇浜岀淮鐮佸悗鏇存柊鏁版嵁搴�
WorkPieceInfoManager.ReadQRcode(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), plcService, _dataCaptureConfig.IsFeedback);
@@ -178,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
{
@@ -218,5 +247,135 @@
}
}
+
+ /// <summary>
+ /// 鑾峰彇OP50鐨勬煇涓伐浣嶇殑鍝釜闈�
+ /// </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
+ {
+ if (!(DataCapturePointCode.Contains("OP5001A") || DataCapturePointCode.Contains("OP5001B")))
+ {
+ return "";
+ }
+
+ 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)
+ {
+ 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";
+ }
+ }
+ Log4NetHelper.WriteErrorLog(LogType.MonitorOP50Side, $"璇诲彇 {DataCapturePointCode}宸ュ簭鐩戞帶娴嬮噺鏍囪鏁版嵁鏃讹紝鏃犳晥鏁板��,鑾峰彇OP50鐨勫摢涓潰,,i_value_M88:{i_value_M88}锛屽伐浠跺彿:{wplog.WorkPieceID}", null);
+ return "";
+ }
+ catch (Exception ex)
+ {
+ Log4NetHelper.WriteErrorLog(LogType.MonitorOP50Side, $"璇诲彇 {DataCapturePointCode}宸ュ簭鐩戞帶娴嬮噺鏍囪鏁版嵁鏃跺紓甯�,鑾峰彇OP50鐨勫摢涓潰,宸ヤ欢鍙�:{wplog.WorkPieceID}", ex);
+ return "";
+ }
+ }
+
+
+ private int _GetSideForOP50(PLCService plcService, WorkPieceLog wplog, string address)
+ {
+ try
+ {
+ object value_M88 = plcService.ReadValuePointV2(address, PLCManger.GetTypeForString("int"));
+ int i_value_M88 = 0;
+ var isRight = int.TryParse(value_M88.ToString(), out i_value_M88);
+ Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {DataCapturePointCode},璇诲彇鍦板潃 {address}锛屽伐搴忕洃鎺ф暟鎹�,鑾峰彇OP50鐨勫摢涓潰,i_value_M88:{i_value_M88},宸ヤ欢鍙�:{wplog.WorkPieceID}");
+ if (isRight)
+ {
+ return i_value_M88;
+ }
+ Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {DataCapturePointCode},璇诲彇鍦板潃 {address}锛屽伐搴忕洃鎺ф祴閲忔爣璁版暟鎹椂锛屾棤鏁堟暟鍊�,鑾峰彇OP50鐨勫摢涓潰,,i_value_M88:{i_value_M88}锛屽伐浠跺彿:{wplog.WorkPieceID}", null);
+ return 0;
+ }
+ catch (Exception ex)
+ {
+ Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {DataCapturePointCode},璇诲彇鍦板潃 {address}锛屽伐搴忕洃鎺ф祴閲忔爣璁版暟鎹椂寮傚父,鑾峰彇OP50鐨勫摢涓潰,宸ヤ欢鍙�:{wplog.WorkPieceID}", ex);
+ return 0;
+ }
+ }
}
}
--
Gitblit v1.9.3