/// <summary> /// ��ȡ���߹��Ϻ澯��ɫ��Ϣ /// </summary> /// <param name="scanBordAddr"></param> /// <param name="clr"></param> public static void GetRowLineCorAndStr(ScannerMonitorData monitorData, ScanBoardRowLineStatus rowLineStatus, ref Color clr) { clr = Color.Gray; if (monitorData == null || !monitorData.IsConnectMC) { return; } if (rowLineStatus != null && rowLineStatus.SoketRowLineStatusList != null && rowLineStatus.SoketRowLineStatusList.Count > 0) { clr = Color.Green; SoketRowLineInfo soketInfo = null; for (int i = 0; i < rowLineStatus.SoketRowLineStatusList.Count; i++) { soketInfo = rowLineStatus.SoketRowLineStatusList[i]; if (!soketInfo.IsABCDOk || !soketInfo.IsCtrlOk || !soketInfo.IsDCLKOk || !soketInfo.IsLatchOk || !soketInfo.IsOEOk) { clr = Color.Red; return; } if (soketInfo.RGBStatusList != null || soketInfo.RGBStatusList.Count > 0) { for (int j = 0; j < soketInfo.RGBStatusList.Count; j++) { if (!soketInfo.RGBStatusList[j].IsBlueOk || !soketInfo.RGBStatusList[j].IsGreenOk || !soketInfo.RGBStatusList[j].IsRedOk || !soketInfo.RGBStatusList[j].IsVRedOk) { clr = Color.Red; return; } } } } } }
public static List<string> GetRowLineNoticeStr(ScannerMonitorData monitorData, ScanBoardRowLineStatus rowLineStatus) { List<string> noticeStrList = new List<string>(); string valueStr = ""; if (monitorData == null) { valueStr = CommonStaticValue.DisplayTypeStr[(int)MonitorDisplayType.RowLine] + ":" + CommonStaticValue.StatusNoticeStr[(int)CommonStaticValue.NoticeType.Unkown]; noticeStrList.Add(valueStr); return noticeStrList; } if (!monitorData.IsConnectMC) { valueStr = CommonStaticValue.DisplayTypeStr[(int)MonitorDisplayType.RowLine] + ":" + CommonStaticValue.StatusNoticeStr[(int)CommonStaticValue.NoticeType.Unkown] + "(" + CommonStaticValue.NotConnectMC + ")"; noticeStrList.Add(valueStr); return noticeStrList; } if (rowLineStatus == null) { valueStr = CommonStaticValue.DisplayTypeStr[(int)MonitorDisplayType.RowLine] + ":" + CommonStaticValue.StatusNoticeStr[(int)CommonStaticValue.NoticeType.Unkown]; noticeStrList.Add(valueStr); return noticeStrList; } bool bRGBHasFault = false; bool bAllHasFault = false; bool bIsOneGroupHasFault = false; bool bCtrlIsHasFault = false; List<string> groupAlarmListStr = null; List<string> soketAlarmListStr = null; if (rowLineStatus != null && rowLineStatus.SoketRowLineStatusList != null) { SoketRowLineInfo soketInfo = null; soketAlarmListStr = new List<string>(); for (int i = 0; i < rowLineStatus.SoketRowLineStatusList.Count; i++) { valueStr = ""; bRGBHasFault = false; bCtrlIsHasFault = false; groupAlarmListStr = new List<string>(); soketInfo = rowLineStatus.SoketRowLineStatusList[i]; #region ��ȡ�����ź��ַ��� if (!soketInfo.IsABCDOk) { bCtrlIsHasFault = true; valueStr = CommonStaticValue.ScanSignalName; } if (!soketInfo.IsCtrlOk) { if (bCtrlIsHasFault) { valueStr += ","; } valueStr += "Ctrl"; bCtrlIsHasFault = true; } if (!soketInfo.IsDCLKOk) { if (bCtrlIsHasFault) { valueStr += ","; } valueStr += "DCLK"; bCtrlIsHasFault = true; } if (!soketInfo.IsLatchOk) { if (bCtrlIsHasFault) { valueStr += ","; } bCtrlIsHasFault = true; valueStr += "Latch"; } if (!soketInfo.IsOEOk) { if (bCtrlIsHasFault) { valueStr += ","; } valueStr += "OE"; bCtrlIsHasFault = true; } #endregion if (bCtrlIsHasFault) { bAllHasFault = true; soketAlarmListStr.Add(CommonStaticValue.SoketName + (i + 1).ToString() + ":"); soketAlarmListStr.Add(" " + valueStr + CommonStaticValue.SignalName); } #region ��ȡRGB�źŵ��ַ��� if (soketInfo.RGBStatusList != null || soketInfo.RGBStatusList.Count > 0) { groupAlarmListStr = new List<string>(); for (int j = 0; j < soketInfo.RGBStatusList.Count; j++) { valueStr = ""; bIsOneGroupHasFault = false; if (!soketInfo.RGBStatusList[j].IsRedOk) { bIsOneGroupHasFault = true; valueStr = "R"; } if (!soketInfo.RGBStatusList[j].IsGreenOk) { if (bIsOneGroupHasFault) { valueStr += ","; } valueStr += "G"; bIsOneGroupHasFault = true; } if (!soketInfo.RGBStatusList[j].IsBlueOk) { if (bIsOneGroupHasFault) { valueStr += ","; } valueStr += "B"; bIsOneGroupHasFault = true; } if (!soketInfo.RGBStatusList[j].IsVRedOk) { if (bIsOneGroupHasFault) { valueStr += ","; } valueStr += "VR"; bIsOneGroupHasFault = true; } if (bIsOneGroupHasFault) { bRGBHasFault = true; groupAlarmListStr.Add(" " + CommonStaticValue.GroupName + (j + 1).ToString() + ":" + valueStr + CommonStaticValue.SignalName); } } if (bRGBHasFault) { bAllHasFault = true; if (!bCtrlIsHasFault) { soketAlarmListStr.Add(CommonStaticValue.SoketName + (i + 1).ToString() + ":"); } soketAlarmListStr.AddRange(groupAlarmListStr); } } #endregion } } if (bAllHasFault) { noticeStrList.Add(CommonStaticValue.FaultInformation + ":"); noticeStrList.AddRange(soketAlarmListStr); } else { noticeStrList.Add(CommonStaticValue.DisplayTypeStr[(int)MonitorDisplayType.RowLine] + ":" + CommonStaticValue.StatusNoticeStr[(int)CommonStaticValue.NoticeType.OK]); } return noticeStrList; }
/// <summary> /// ��ȡ���߸澯���� /// </summary> /// <param name="scanBordAddr"></param> /// <param name="clr"></param> public static void GetRowLineFaultInfo(ScannerMonitorData monitorData, ScanBoardRowLineStatus rowLineStatus, out MonitorInfoResult resType) { resType = MonitorInfoResult.Unknown; if (monitorData == null || !monitorData.IsConnectMC) { return; } if (rowLineStatus != null && rowLineStatus.SoketRowLineStatusList != null) { SoketRowLineInfo soketInfo = null; resType = MonitorInfoResult.Ok; for (int i = 0; i < rowLineStatus.SoketRowLineStatusList.Count; i++) { soketInfo = rowLineStatus.SoketRowLineStatusList[i]; if (!soketInfo.IsABCDOk || !soketInfo.IsCtrlOk || !soketInfo.IsDCLKOk || !soketInfo.IsLatchOk || !soketInfo.IsOEOk) { resType = MonitorInfoResult.Fault; return; } if (soketInfo.RGBStatusList != null || soketInfo.RGBStatusList.Count > 0) { for (int j = 0; j < soketInfo.RGBStatusList.Count; j++) { if (!soketInfo.RGBStatusList[j].IsBlueOk || !soketInfo.RGBStatusList[j].IsGreenOk || !soketInfo.RGBStatusList[j].IsRedOk || !soketInfo.RGBStatusList[j].IsVRedOk) { resType = MonitorInfoResult.Fault; return; } } } } } }