From 50884f67cc2f622cd9fce212739e07270eb719b5 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周六, 23 11月 2024 15:52:15 +0800 Subject: [PATCH] 22 --- CC/iWareSql/DataAccess/TaskHandler.cs | 22 +++++++++++ CC/iWareCC_ASRS/ThreadService/02_BZ39工位(补板后工位)/DataProcess_RobotBuffer_ModeChange.cs | 59 +++++++++++++++++++++-------- CC/iWareCC_ASRS/FormCC.cs | 2 3 files changed, 65 insertions(+), 18 deletions(-) diff --git a/CC/iWareCC_ASRS/FormCC.cs b/CC/iWareCC_ASRS/FormCC.cs index 5f5600d..b23ffc4 100644 --- a/CC/iWareCC_ASRS/FormCC.cs +++ b/CC/iWareCC_ASRS/FormCC.cs @@ -237,7 +237,7 @@ new Thread(DeleteData).Start(); - new Thread(LineInSacnResult.HandlerLineInSacnResult).Start(); + //new Thread(LineInSacnResult.HandlerLineInSacnResult).Start(); diff --git "a/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/DataProcess_RobotBuffer_ModeChange.cs" "b/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/DataProcess_RobotBuffer_ModeChange.cs" index 082f504..57420bc 100644 --- "a/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/DataProcess_RobotBuffer_ModeChange.cs" +++ "b/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/DataProcess_RobotBuffer_ModeChange.cs" @@ -42,30 +42,55 @@ using (WmsDBModel wmsDB = new WmsDBModel()) { var rbRunMode = wmsDB.wms_rbline_runmode.FirstOrDefault(); - if (rbRunMode.LineRunMode == (int)RbRunModeEnum.鍑哄簱妯″紡) - { - SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_ModeChange = $"宸茬粡鏄嚭搴撴ā寮忎簡,姝ゆ寰幆缁撴潫"; - continue; - } - rbRunMode.LineRunMode = (int)RbRunModeEnum.鍑哄簱妯″紡; - rbRunMode.LineRunModeName = RbRunModeEnum.鍑哄簱妯″紡.ToString(); - rbRunMode.UpdateTime = DateTime.Now; - //鎺ㄩ�佺粰PLC鍒囨崲妯″紡 - using (StationServiceClient client = new StationServiceClient()) - { - var res = await client.ChangeModeAsync((int)EDevice.Station, (int)RbRunModeEnum.鍑哄簱妯″紡, rgvLocation); - if (!res.result) + if (TaskHandler.ValidateNoFinishOutTaskForRobotBuffer(wmsDB)) + {//涓嶅瓨鍦� + rbRunMode.LineRunMode = (int)RbRunModeEnum.鍏ュ簱妯″紡; + rbRunMode.LineRunModeName = RbRunModeEnum.鍏ュ簱妯″紡.ToString(); + rbRunMode.UpdateTime = DateTime.Now; + + //鎺ㄩ�佺粰PLC鍒囨崲妯″紡 + using (StationServiceClient client = new StationServiceClient()) { - SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_ModeChange = $"{rgvLocation.ToString()}-鎺ㄩ�佺粰PLC鍒囨崲妯″紡 澶辫触,ChangeModeAsync 杩斿洖:{res.resMsg}"; + var res = await client.ChangeModeAsync((int)EDevice.Station, (int)RbRunModeEnum.鍏ュ簱妯″紡, rgvLocation); + if (!res.result) + { + SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_ModeChange = $"{rgvLocation.ToString()}-鎺ㄩ�佺粰PLC鍒囨崲妯″紡 澶辫触,ChangeModeAsync 杩斿洖:{res.resMsg}"; + continue; + } + else + { + Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-鎺ㄩ�佺粰PLC鍒囨崲妯″紡 鎴愬姛,ChangeModeAsync锛屽弬鏁�: 绔欑偣{rgvLocation}"); + } + } + FormCC.IsAllowRunOutMode = false; + } + else + {//瀛樺湪 + if (rbRunMode.LineRunMode == (int)RbRunModeEnum.鍑哄簱妯″紡) + { + SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_ModeChange = $"宸茬粡鏄嚭搴撴ā寮忎簡,姝ゆ寰幆缁撴潫"; continue; } - else + rbRunMode.LineRunMode = (int)RbRunModeEnum.鍑哄簱妯″紡; + rbRunMode.LineRunModeName = RbRunModeEnum.鍑哄簱妯″紡.ToString(); + rbRunMode.UpdateTime = DateTime.Now; + + //鎺ㄩ�佺粰PLC鍒囨崲妯″紡 + using (StationServiceClient client = new StationServiceClient()) { - Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-鎺ㄩ�佺粰PLC鍒囨崲妯″紡 鎴愬姛,ChangeModeAsync锛屽弬鏁�: 绔欑偣{rgvLocation}"); + var res = await client.ChangeModeAsync((int)EDevice.Station, (int)RbRunModeEnum.鍑哄簱妯″紡, rgvLocation); + if (!res.result) + { + SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_ModeChange = $"{rgvLocation.ToString()}-鎺ㄩ�佺粰PLC鍒囨崲妯″紡 澶辫触,ChangeModeAsync 杩斿洖:{res.resMsg}"; + continue; + } + else + { + Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-鎺ㄩ�佺粰PLC鍒囨崲妯″紡 鎴愬姛,ChangeModeAsync锛屽弬鏁�: 绔欑偣{rgvLocation}"); + } } } - wmsDB.SaveChanges(); } diff --git a/CC/iWareSql/DataAccess/TaskHandler.cs b/CC/iWareSql/DataAccess/TaskHandler.cs index 9a4526a..18ac5e0 100644 --- a/CC/iWareSql/DataAccess/TaskHandler.cs +++ b/CC/iWareSql/DataAccess/TaskHandler.cs @@ -36,5 +36,27 @@ } + /// <summary> + /// 楠岃瘉 鏈哄櫒浜虹紦瀛樺矝鏄惁瀛樺湪 鏈粨鏉� 鐨勫嚭搴撲换鍔� + /// </summary> + /// <param name="wmsDB"></param> + /// <returns>true:涓嶅瓨鍦� false锛氬瓨鍦�</returns> + public static bool ValidateNoFinishOutTaskForRobotBuffer(WmsDBModel.WmsDBModel wmsDB) + { + var isExist = wmsDB.wms_rbline_task.Where(x => x.TaskStatus != (int)TaskStatusEnum.宸插畬鎴� + && x.TaskStatus != (int)TaskStatusEnum.宸插彇娑� + && ( + x.RbTaskType == (int)RbTaskTypeEnum.鍑哄簱浠诲姟 + ) + ).ToList(); + + if (isExist?.Count() > 0) + { + return false; + } + return true; + } + + } } \ No newline at end of file -- Gitblit v1.9.3