From 2ef8eda1ea4ef302d86dff34d722da0cce950eff Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周一, 09 12月 2024 16:34:02 +0800 Subject: [PATCH] 1 --- CC/iWareCC_ASRS/FormCC.cs | 156 ++++++++++++++++++--------------------------------- 1 files changed, 56 insertions(+), 100 deletions(-) diff --git a/CC/iWareCC_ASRS/FormCC.cs b/CC/iWareCC_ASRS/FormCC.cs index 7e0d1ab..8141c09 100644 --- a/CC/iWareCC_ASRS/FormCC.cs +++ b/CC/iWareCC_ASRS/FormCC.cs @@ -37,6 +37,11 @@ { /// <summary> + /// 鍏ㄥ眬-閰嶇疆鎶ヨ淇℃伅鍒楄〃 + /// </summary> + public static DeviceWarningOutput configDeviceWarningList = DeviceWarningHandler.GetConfigWarningList(); + + /// <summary> /// 鍏ㄥ眬鈥旀槸鍚﹀彲浠ヨ繍琛屾墽琛屽嚭搴撴ā寮� /// </summary> public static bool IsAllowRunOutMode = false; @@ -172,31 +177,12 @@ startModelTipsThread.Start(); #region 鑾峰彇璁惧鏁版嵁 - ParameterizedThreadStart parStart1 = new ParameterizedThreadStart(GetSrmInfo); - Thread thread1 = new Thread(parStart1); - object o1 = (int)EDevice.涓�鍙峰爢鍨涙満; - thread1.Start(o1); - - ParameterizedThreadStart parStart2 = new ParameterizedThreadStart(GetSrmInfo); - Thread thread2 = new Thread(parStart2); - object o2 = (int)EDevice.浜屽彿鍫嗗灈鏈�; - thread2.Start(o2); - - ParameterizedThreadStart parStart3 = new ParameterizedThreadStart(GetSrmInfo); - Thread thread3 = new Thread(parStart3); - object o3 = (int)EDevice.涓夊彿鍫嗗灈鏈�; - thread3.Start(o3); - - ParameterizedThreadStart parStart4 = new ParameterizedThreadStart(GetSrmInfo); - Thread thread4 = new Thread(parStart4); - object o4 = (int)EDevice.鍥涘彿鍫嗗灈鏈�; - thread4.Start(o4); - - - var tskGetStationInfo = new Thread(GetStationInfo); tskGetStationInfo.Start(); + + var _GetStationWarningInfo = new Thread(GetStationWarningInfo); + _GetStationWarningInfo.Start(); tskSetSrmLable = new Thread(SrmRead_Label); @@ -391,84 +377,6 @@ - /// <summary> - /// 鑾峰彇鍫嗗灈鏈虹殑瀹炴椂淇℃伅 - /// </summary> - private void GetSrmInfo(object int_device) - { - while (true) - { - EDevice device = (EDevice)Enum.Parse(typeof(EDevice), int_device.ToString()); - Thread.Sleep(cycleDelay_Device); - try - { - using (var opcClinet = new SrmService.SrmServiceClient()) - { - srmViewDict[(int)device] = opcClinet.GetSrmInfo((int)device); - CastToDevice_SrmRealTime(srmViewDict[(int)device]); - List<String> warningAddressList = new List<string>(); - if (srmViewDict[(int)device].R_WarningDBList != null && srmViewDict[(int)device].R_WarningDBList.Length > 0) - { - var waringList = srmViewDict[(int)device].R_WarningDBList.ToList(); - if (waringList != null && waringList.Count > 0) - { - for (int i = 0; i < waringList.Count; i++) - { - DeviceWarningHandler.SaveWarning(device, iWareCommon.Utils.LogType.DataProcess_BZ39_IssueInboundTask, - waringList[i].Code, waringList[i].Address, waringList[i].Context);//鏂板鎶ヨ - warningAddressList.Add(waringList[i].Address); - } - } - } - DeviceWarningHandler.AutoCloseWarning(device, iWareCommon.Utils.LogType.DataProcess_BZ39_IssueInboundTask, warningAddressList);//鑷姩鍏抽棴鎶ヨ - } - } - catch (Exception ex) - { - Log4NetHelper.WriteErrorLog(iWareCommon.Utils.LogType.DataProcess_BZ39_IssueInboundTask, "鑾峰彇" + device.ToString() + "鐨勫疄鏃朵俊鎭紓甯�:" + ex.Message, ex); - continue; - } - }; - } - - /// <summary> - /// 杞崲涓篠RM鐨勫疄鏃剁姸鎬� - /// </summary> - /// <param name="view"></param> - private void CastToDevice_SrmRealTime(SrmView view) - { - List<Device_SrmRealTime> realTimeList = new List<Device_SrmRealTime>(); - Device_SrmRealTime obj = new Device_SrmRealTime(); - EDevice device = (EDevice)Enum.Parse(typeof(EDevice), view.R_SrmNo.ToString()); - obj = new Device_SrmRealTime() - { - SrmCode = view.R_SrmNo.ToString(), - SrmName = device.ToString(), - Mode = view.R_Mode.ToString(), - ModeName = view.ModeName, - State = view.R_State.ToString(), - StateName = view.StateName, - - TaskID = view.R_TaskNo.ToString(), - LiftFull = view.R_LiftFull == 1, - PosX = view.R_PosX, - PosY = view.R_PosY, - PosZ = view.R_PosZ, - PosZName = EnumberHelper.GetEnumName<ESrmForkPosition>(view.R_PosZ).ToString(), - // XCoordinate=view.r_xc - - SrmToPlace = view.SrmToPlace, - SrmSourcePlace = view.SrmSourcePlace, - ZCoordinate = view.R_PosZmm.ToString(), - XCoordinate = view.R_PosXmm.ToString(), - YCoordinate = view.R_PosYmm.ToString() - - }; - realTimeList.Add(obj); - - DeviceSrmRealTimeHandler.Update(realTimeList, iWareCommon.Utils.LogType.DataProcess_BZ39_IssueInboundTask); - - } @@ -696,6 +604,54 @@ } + /// <summary> + /// 鑾峰彇Station 鎶ヨ淇℃伅 + /// </summary> + /// <param name="obj"></param> + private async void GetStationWarningInfo(object obj) + { + while (true) + { + Thread.Sleep(1000);//1绉掗挓璇诲彇涓�娆� + try + { + if (stationServiceClient == null) + { + continue; + } + iWareCC.StationService.DeviceWarningInfo[] waringList = await stationServiceClient.GetWaringInfoListAsync((int)EDevice.Station, configDeviceWarningList.wmsConfigDeviceWarnings.ToArray()); + + //鏄剧ず鎶ヨ淇℃伅 + List<String> warningAddressList = new List<string>(); + if (waringList != null && waringList.Length > 0) + { + for (int i = 0; i < waringList.Length; i++) + { + var findObj = configDeviceWarningList.wms_config_device_warning_list.Where(x => x.WarningCode == waringList[i].Codek__BackingField).FirstOrDefault(); + DeviceWarningHandler.SaveWarning(EDevice.Station, iWareCommon.Utils.LogType.StationThreadService, + findObj.WarningCode, findObj.DeviceAreaCode, findObj.WarningContent, findObj.DeviceWarningType);//鏂板鎶ヨ + warningAddressList.Add(findObj.WarningCode); + } + + } + else + { + + } + DeviceWarningHandler.AutoCloseWarning(EDevice.Station, iWareCommon.Utils.LogType.StationThreadService, warningAddressList);//鑷姩鍏抽棴鎶ヨ + + //*/ + } + catch (Exception ex) + { + rgvView = null; + Log4NetHelper.WriteErrorLog(iWareCommon.Utils.LogType.StationThreadService, "鑾峰彇绔欑偣淇℃伅鍑虹幇寮傚父:" + ex.Message, ex); + continue; + } + } + } + + #endregion -- Gitblit v1.9.3