Beispiel #1
0
 public void RecvProc()
 {
     while (!bStop)
     {
         try
         {
             Site   st;
             Sensor ss;
             int    i = 0;
             while (sites.GetAt(i++, out st))
             {
                 int j = 0;
                 while (st.GetAt(j++, out ss))
                 {
                     double   data_origion;
                     double   data;
                     DateTime time;
                     if (ss.type == SENSOR_TYPE.GUANDAO || ss.type == SENSOR_TYPE.MINGQU)
                     {
                         double sum;
                         //if (DbClient.QueryRecentSum(st.num,ss.num,out data,out time))
                         if (DbClient.QueryRecentAvg(st.num, ss.num, 10, out data_origion, out data, out time) &&
                             DbClient.QueryRecentSum(st.num, ss.num, out sum, out time))
                         {
                             UiUpdater.DataInQueue(st.num, ss.num, data_origion, data, data * 3600, sum, time);
                         }
                     }
                     else if (DbClient.QueryRecentAvg(st.num, ss.num, 10, out data_origion, out data, out time))
                     {
                         UiUpdater.DataInQueue(st.num, ss.num, data_origion, data, data, 0, time);
                     }
                 }
             }
         }
         catch (System.Exception ex)
         {
             Thread.Sleep(5 * 1000);
         }
         //Thread.Sleep(5*1000);
         Thread.Sleep(1000);
     }
 }