/// <summary> /// ��ȡ�¶ȸ澯��Ϣ /// </summary> /// <param name="scanBordAddr"></param> /// <param name="clr"></param> public static void GetTempAlarmInfo(ScannerMonitorData monitorData, float threshold, out MonitorInfoResult resType) { resType = MonitorInfoResult.Unknown; if (monitorData != null) { if (monitorData.TemperatureOfScanCard.IsValid) { int nValue = (int)monitorData.TemperatureOfScanCard.Value; if (nValue > threshold) { //�¶ȳ�����ֵʱ��ΪΪ�澯��Ϣ resType = MonitorInfoResult.Alarm; } else { resType = MonitorInfoResult.Ok; } } } }
//private void AddOneScreen private string GetErrTypeStr(ErrType item, MonitorInfoResult monitorResult) { string msg = ""; if (item == ErrType.DVI) { msg = GetStr("DVIFault", "DVI故障"); } if (item == ErrType.SenderCard) { msg = GetStr("SenderCardFault", "发送卡故障"); } else if(item==ErrType.CabinetDoor) { msg = GetStr("CabinetDoorAlarm", "箱门开启"); } else if (item == ErrType.Fan) { msg = GetStr("FanAlarm", "风扇告警"); } else if (item == ErrType.Humidity) { msg = GetStr("HumidityAlarm", "湿度告警"); } else if (item == ErrType.MonitorCard) { msg = GetStr("MonitorCardFault", "监控卡故障"); } else if (item == ErrType.Power) { if(monitorResult == MonitorInfoResult.Fault) { msg = GetStr("PowerFault", "电源故障"); } else { msg = GetStr("PowerAlarm", "电源告警"); } } else if (item == ErrType.Redundancy) { msg = GetStr("RedundancyAlarm", "冗余告警"); } else if (item == ErrType.SBStatus) { msg = GetStr("SBStatusFault", "接收卡故障"); } else if (item == ErrType.Smoke) { msg = GetStr("SmokeAlarm", "烟雾告警"); } else if (item == ErrType.Soket) { msg = GetStr("SoketFault", "排线故障"); } else if (item == ErrType.Temperature) { msg = GetStr("TemperatureAlarm", "温度告警"); } return msg; }
/// <summary> /// ��ȡ���Ϻ澯��Ϣ /// </summary> /// <param name="scanBordAddr"></param> /// <param name="clr"></param> public static void GetSBStatusFaultInfo(ScannerMonitorData monitorData, out MonitorInfoResult resType) { resType = MonitorInfoResult.Unknown; if (monitorData != null) { if (monitorData.WorkStatus == WorkStatusType.OK) { if (monitorData.VoltageOfScanCard.IsValid) { if (monitorData.VoltageOfScanCard.Value > MAXSUPPLYVOLTAGE || monitorData.VoltageOfScanCard.Value < MINXSUPPLYVOLTAGE) { resType = MonitorInfoResult.Alarm; } else { resType = MonitorInfoResult.Ok; } } else { //��ѹ��Чʱ��Ϊ���� resType = MonitorInfoResult.Ok; } } else { resType = MonitorInfoResult.Fault; } } }
/// <summary> /// ��ȡ���Ϻ澯��Ϣ /// </summary> /// <param name="scanBordAddr"></param> /// <param name="clr"></param> public static void GetSmokeAlarmInfo(ScannerMonitorData monitorData, out MonitorInfoResult resType) { resType = MonitorInfoResult.Unknown; if (monitorData != null && monitorData.IsConnectMC) { if (monitorData.SmokeWarn.IsValid) { if (monitorData.SmokeWarn.IsSmokeAlarm) { resType = MonitorInfoResult.Alarm; } else { resType = MonitorInfoResult.Ok; } } } }
public static void GetOneFanOrPowerAlarmInfo(ValueInfo valueInfo, float alarmThreshold, float faultThreshold, out MonitorInfoResult resType) { resType = MonitorInfoResult.Unknown; if (valueInfo.IsValid) { if (valueInfo.Value < faultThreshold) { resType = MonitorInfoResult.Fault; } else if (valueInfo.Value < alarmThreshold) { //����ת�ٻ��ѹֵС����ֵʱ��ΪΪ�澯��Ϣ resType = MonitorInfoResult.Alarm; } else { resType = MonitorInfoResult.Ok; } } }
/// <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; } } } } } }
public static void GetOneFanOrPowerAlarmInfo(ValueInfo valueInfo, float threshold, out MonitorInfoResult resType) { //-50 ��������ܴﵽ�Ĺ��Ϸ�ֵ GetOneFanOrPowerAlarmInfo(valueInfo, threshold, -50, out resType); }
/// <summary> /// ��ȡ���Ϻ澯��Ϣ /// </summary> /// <param name="scanBordAddr"></param> /// <param name="clr"></param> public static void GetMCStatusFaultInfo(ScannerMonitorData monitorData, out MonitorInfoResult resType) { resType = MonitorInfoResult.Unknown; if (monitorData != null) { if (monitorData.IsConnectMC) { if (monitorData.VoltageOfMonitorCardCollection != null && monitorData.VoltageOfMonitorCardCollection.Count > 0 && monitorData.VoltageOfMonitorCardCollection[0].IsValid) { if (monitorData.VoltageOfMonitorCardCollection[0].Value > MAXSUPPLYVOLTAGE || monitorData.VoltageOfMonitorCardCollection[0].Value < MINXSUPPLYVOLTAGE) { resType = MonitorInfoResult.Alarm; } else { resType = MonitorInfoResult.Ok; } } else { //��ѹ��Чʱ��Ϊ���� resType = MonitorInfoResult.Ok; } } else { resType = MonitorInfoResult.Fault; } } }
/// <summary> /// ��ȡʪ�ȸ澯��Ϣ /// </summary> /// <param name="scanBordAddr"></param> /// <param name="clr"></param> public static void GetHumidityAlarmInfo(ScannerMonitorData monitorData, float threshold, out MonitorInfoResult resType) { resType = MonitorInfoResult.Unknown; if (monitorData != null) { ValueInfo valueInf; if (monitorData.IsConnectMC && monitorData.HumidityOfMonitorCard.IsValid) { valueInf = monitorData.HumidityOfMonitorCard; } else if (monitorData.HumidityOfScanCard.IsValid) { valueInf = monitorData.HumidityOfScanCard; } else { return; } if ((int)valueInf.Value > threshold) { //ʪ�ȳ�����ֵʱ��ΪΪ�澯��Ϣ resType = MonitorInfoResult.Alarm; } else { resType = MonitorInfoResult.Ok; } } }
/// <summary> /// ��ȡ����״̬�澯����Ϣ /// </summary> /// <param name="generalSwitchCloseList"></param> /// <param name="alarmCnt"></param> /// <returns></returns> public static void GetGeneralSwitcAlarmInfo(ScannerMonitorData monitorData, List<bool> generalSwitchCloseList, out MonitorInfoResult resType) { resType = MonitorInfoResult.Unknown; if (monitorData == null || !monitorData.IsConnectMC) { return; } if (generalSwitchCloseList != null && generalSwitchCloseList.Count > 0) { resType = MonitorInfoResult.Ok; for (int i = 0; i < CurCabintDoorCount; i++) { if (!generalSwitchCloseList[i]) { resType = MonitorInfoResult.Alarm; break; } } } }
/// <summary> /// ��ȡ�¶ȶ�Ӧ����Ϣ /// </summary> /// <param name="monitorData"></param> /// <param name="curIndex"></param> /// <param name="backClr"></param> /// <param name="displayStr"></param> public static void CaculateTempStatisticsInfo(ScannerMonitorData monitorData, float threshold, out ValueCompareResult valueCompareRes, out MonitorInfoResult resType, ref TempAndHumiStatisticsInfo statisticsInfo) { valueCompareRes = ValueCompareResult.Unknown; resType = MonitorInfoResult.Unknown; if (monitorData != null) { if (monitorData.TemperatureOfScanCard.IsValid) { float fValue = monitorData.TemperatureOfScanCard.Value; int nValue = (int)fValue; if (nValue > threshold) { resType = MonitorInfoResult.Alarm; } else { resType = MonitorInfoResult.Ok; } if (statisticsInfo.ValidScanBoardCnt <= 0) { //��ǰɨ�迨����Ϊ0ʱ����ȡ��ǰ�¶� statisticsInfo.MinValue = nValue; statisticsInfo.MaxValue = nValue; valueCompareRes = ValueCompareResult.IsFirstValidValue; } else { //��ȡ��ǰ��С�¶Ⱥ�����¶� if (statisticsInfo.MinValue > nValue) { valueCompareRes = ValueCompareResult.BelowMinValue; statisticsInfo.MinValue = nValue; } else if (statisticsInfo.MinValue == nValue) { valueCompareRes = ValueCompareResult.EqualsMinValue; } if (statisticsInfo.MaxValue < nValue) { valueCompareRes = ValueCompareResult.AboveMaxValue; statisticsInfo.MaxValue = nValue; } else if (statisticsInfo.MaxValue == nValue) { if (valueCompareRes == ValueCompareResult.EqualsMinValue) { valueCompareRes = ValueCompareResult.EqualsBothValue; } else { valueCompareRes = ValueCompareResult.EqualsMaxValue; } } } statisticsInfo.ValidScanBoardCnt++; statisticsInfo.TotalValue += nValue; statisticsInfo.AllValueList.Add(nValue); } } }