/// <summary>
 /// ��ȡ���õ���Ҫ��صļ�ؿ��ķ��Ⱥ͵�Դ����
 /// </summary>
 /// <param name="configInfo"></param>
 /// <param name="sbCommKey"></param>
 /// <returns></returns>
 public static uint GetMonitorFanCnt(ScanBdMonitoredParamUpdateInfo configInfo, string sbCommKey)
 {
     if (configInfo.CountType == ScanBdMonitoredParamCountType.SameForEachScanBd)
     {
         return configInfo.SameCount;
     }
     else
     {
         if (configInfo.CountDicOfScanBd != null
             && configInfo.CountDicOfScanBd.ContainsKey(sbCommKey))
         {
             return configInfo.CountDicOfScanBd[sbCommKey];
         }
         else
         {
             return configInfo.SameCount;
         }
     }
 }
 public object Clone()
 {
     ScanBdMonitoredParamUpdateInfo newObj = new ScanBdMonitoredParamUpdateInfo();
     bool res = this.CopyTo(newObj);
     if (!res)
     {
         return null;
     }
     else
     {
         return newObj;
     }
 }
        public static List<string> GetFanNoticeStr(ScannerMonitorData monitorData,
                                           ScanBdMonitoredParamUpdateInfo mcFanInfo,
                                           int fanIndex,
                                           string sbCommAddr)
        {
            List<string> noticeStrList = new List<string>();
            string valueStr = "";
            if (monitorData == null)
            {
                valueStr = CommonStaticValue.DisplayTypeStr[(int)MonitorDisplayType.Fan] + ":"
                           + CommonStaticValue.StatusNoticeStr[(int)CommonStaticValue.NoticeType.Unkown];
                noticeStrList.Add(valueStr);
                return noticeStrList;
            }

            uint fanCnt = GetMonitorFanCnt(mcFanInfo, sbCommAddr);
            if (fanCnt == 0)
            {
                return noticeStrList;
            }

            if (!monitorData.IsConnectMC)
            {
                valueStr = CommonStaticValue.DisplayTypeStr[(int)MonitorDisplayType.Fan] + ":"
                           + CommonStaticValue.StatusNoticeStr[(int)CommonStaticValue.NoticeType.Unkown]
                           + "(" + CommonStaticValue.NotConnectMC + ")";
                noticeStrList.Add(valueStr);
                return noticeStrList;
            }

            #region ��ȡÿ�����ȵ���Ϣ
            if (monitorData.FanSpeedOfMonitorCardCollection == null)
            {
                valueStr = CommonStaticValue.DisplayTypeStr[(int)MonitorDisplayType.Fan] + ":"
                             + CommonStaticValue.StatusNoticeStr[(int)CommonStaticValue.NoticeType.Unkown];
                noticeStrList.Add(valueStr);
                return noticeStrList;
            }
            for (int i = 0; i < fanCnt; i++)
            {
                if (i == fanIndex)
                {
                    valueStr = CommonStaticValue.SwitchSignStr[(int)CommonStaticValue.SwitchSignType.Fan]
                              + "(" + CommonStaticValue.SwitchName + " " + (i + 1).ToString() + "): ";
                    if (i >= monitorData.FanSpeedOfMonitorCardCollection.Count)
                    {
                        valueStr += CommonStaticValue.StatusNoticeStr[(int)CommonStaticValue.NoticeType.Unkown];
                    }
                    else
                    {
                        if (monitorData.FanSpeedOfMonitorCardCollection[i].IsValid)
                        {
                            valueStr += monitorData.FanSpeedOfMonitorCardCollection[i].Value;
                        }
                        else
                        {
                            valueStr += CommonStaticValue.StatusNoticeStr[(int)CommonStaticValue.NoticeType.Unkown];
                        }
                    }
                    noticeStrList.Add(valueStr);
                }
            }
            #endregion

            return noticeStrList;
        }
 public MonitorConfigData()
 {
     TempDisplayType = TemperatureType.Celsius;
     TempAlarmThreshold = 60;
     HumiAlarmThreshold = 60;
     FanSpeed = 1000;
     PowerAlarmValue = 4;
     PowerFaultValue = 3.5f;
     IsDisplayScanBoardVolt = true;
     MCFanInfo = new ScanBdMonitoredParamUpdateInfo();
     MCPowerInfo = new ScanBdMonitoredPowerInfo();
 }