ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 워터폴 그래프 BDT 데이터 수집 예제 함수
    업무용 소스 예제 2021. 10. 4. 11:58
    728x90
    반응형
    728x90

    - 워터폴 그래프 BDT 데이터 수집 예제 함수

    private void TaskAcquisitionBDTDatas(ushort unType)
            {
                try
                {
                    while (_closed)
                    {
                        Thread.Sleep(100);
                        DateTime dt = _dt_taskMainBDT[unType - 1];
                        TimeSpan ts = _ts_taskMainBDT[unType - 1].Value;
                        if ((DateTime.Now - dt).TotalMilliseconds >= ts.TotalMilliseconds)
                        {
                            _dt_taskMainBDT[unType - 1] = DateTime.Now;
                            AcquisitionBDTDatas(unType, DataManagerUnit1.dic_BDTInfos, false);
                            switch (unType)
                            {
                                case 1:
                                    if (DataManagerUnit1.BDTSystemInfo.unSensorIndex[0].Equals(0))
                                    {
                                        if (DataManagerUnit1.BDTSystemInfo.unSensorIndex[1].Equals(13))                                     {
                                            if (DataManagerUnit1.dic_BDTInfos.ContainsKey(1))                                         {
                                                Action act = delegate { MainWaterfall.DrawWaterfall(DataManagerUnit1.dic_BDTInfos[1]); };
                                                MainWaterfall.Dispatcher.Invoke(DispatcherPriority.Loaded, act);
                                                act = null;
                                                                                                                                                                                                                            }
                                            else
                                            {
                                                Action act = delegate { MainWaterfall.ClearWaterfall(); };
                                                MainWaterfall.Dispatcher.Invoke(DispatcherPriority.Loaded, act);
                                                act = null;
                                                                                                                                                                                                                            }
                                        }
                                    } break;
                                case 2:
                                    if (DataManagerUnit1.BDTSystemInfo.unSensorIndex[0].Equals(1))
                                    {
                                        if (DataManagerUnit1.BDTSystemInfo.unSensorIndex[1].Equals(13))                                     {
                                            if (DataManagerUnit1.dic_BDTInfos.ContainsKey(2))                                         {
                                                Action act = delegate { MainWaterfall.DrawWaterfall(DataManagerUnit1.dic_BDTInfos[2]); };
                                                MainWaterfall.Dispatcher.Invoke(DispatcherPriority.Loaded, act);
                                                act = null;
                                                                                                                                                                                                                            }
                                            else
                                            {
                                                Action act = delegate { MainWaterfall.ClearWaterfall(); };
                                                MainWaterfall.Dispatcher.Invoke(DispatcherPriority.Loaded, act);
                                                act = null;
                                                                                                                                                                                                                            }
                                        }
                                    } break;
                                case 3:
                                    if (DataManagerUnit1.BDTSystemInfo.unSensorIndex[0].Equals(4))
                                    {
                                        if (DataManagerUnit1.BDTSystemInfo.unSensorIndex[1].Equals(13))                                     {
                                            if (DataManagerUnit1.dic_BDTInfos.ContainsKey(3))                                         {
                                                Action act = delegate { MainWaterfall.DrawWaterfall(DataManagerUnit1.dic_BDTInfos[3]); };
                                                MainWaterfall.Dispatcher.Invoke(DispatcherPriority.Loaded, act);
                                                act = null;
                                                                                                                                                                                                                            }
                                            else
                                            {
                                                Action act = delegate { MainWaterfall.ClearWaterfall(); };
                                                MainWaterfall.Dispatcher.Invoke(DispatcherPriority.Loaded, act);
                                                act = null;
                                                                                                                                                                                                                            }
                                        }
                                    } break;
                                case 4:
                                    if (DataManagerUnit1.BDTSystemInfo.unSensorIndex[0].Equals(5))
                                    {
                                        if (DataManagerUnit1.BDTSystemInfo.unSensorIndex[1].Equals(13))                                     {
                                            if (DataManagerUnit1.dic_BDTInfos.ContainsKey(4))                                         {
                                                Action act = delegate { MainWaterfall.DrawWaterfall(DataManagerUnit1.dic_BDTInfos[4]); };
                                                MainWaterfall.Dispatcher.Invoke(DispatcherPriority.Loaded, act);
                                                act = null;
                                                                                                                                                                                                                            }
                                            else
                                            {
                                                Action act = delegate { MainWaterfall.ClearWaterfall(); };
                                                MainWaterfall.Dispatcher.Invoke(DispatcherPriority.Loaded, act);
                                                act = null;
                                                                                                                                                                                                                            }
                                        }
                                    } break;
                                case 5:
                                    if (DataManagerUnit1.BDTSystemInfo.unSensorIndex[0].Equals(10))
                                    {
                                        if (DataManagerUnit1.BDTSystemInfo.unSensorIndex[1].Equals(13))                                     {
                                            if (DataManagerUnit1.dic_BDTInfos.ContainsKey(5))                                         {
                                                Action act = delegate { MainWaterfall.DrawWaterfall(DataManagerUnit1.dic_BDTInfos[5]); };
                                                MainWaterfall.Dispatcher.Invoke(DispatcherPriority.Loaded, act);
                                                act = null;
                                                                                                                                                                                                                            }
                                            else
                                            {
                                                Action act = delegate { MainWaterfall.ClearWaterfall(); };
                                                MainWaterfall.Dispatcher.Invoke(DispatcherPriority.Loaded, act);
                                                act = null;
                                                                                                                                                                                                                            }
                                        }
                                    } break;
                            }
                        }
                    }
                }
                catch (Exception ee)
                {
                    TraceManager.AddLog(string.Format("{0}r\n{1}", ee.StackTrace, ee.Message));
                    System.Diagnostics.Debug.WriteLine(string.Format("{0}r\n{1}", ee.StackTrace, ee.Message));
                }
            }
    728x90
    반응형

    댓글

Designed by Tistory.