Ejemplo n.º 1
0
 public PowerInfo(byte [] data)
 {
     if (data.Length != 9)
     {
         Logger.Instance().Error("PowerInfo实例化失败,没有9个字节!");
     }
     else
     {
         m_Head[0] = data[0];
         m_Head[1] = data[1];
         m_Length  = data[2];
         //m_PID         =(ProductID)data[3];
         m_Pump2PC   = data[4];
         m_MessageID = data[5];
         m_AppDC     = data[6];
         if (Enum.IsDefined(typeof(PumpPowerStatus), data[7]))
         {
             m_PowerStatus = (PumpPowerStatus)data[7];
         }
         else
         {
             m_PowerStatus = PumpPowerStatus.External;
         }
         m_CheckCode = data[8];
     }
 }
Ejemplo n.º 2
0
        static private VPump100Data[] ConvertToVPump100Datas(DataTable datatable, out int createCount)
        {
            NullOrDBNullConverter nc = new NullOrDBNullConverter(0f);

            createCount = 0;
            List <VPump100Data> list = new List <VPump100Data>();

            foreach (DataRow row in datatable.Rows)
            {
                DateTime dt          = Convert.ToDateTime(row[ColumnNamesForPump.StrTime]);
                float    instantFlux = Convert.ToSingle(nc.Convert(row[ColumnNamesForPump.Flux]));
                float    efficienty  = Convert.ToSingle(nc.Convert(row[ColumnNamesForPump.Efficiency]));
                float    sum         = Convert.ToSingle(nc.Convert(row[ColumnNames.TuWater]));
                float    remain      = Convert.ToSingle(nc.Convert(row[ColumnNames.ReWater]));

                PumpStatus       pumpStatus    = VPumpStatusParser.ParsePumpStatus(row[ColumnNamesForPump.PumpStatus].ToString());
                ForceStartStatus forceStatus   = VPumpStatusParser.ParseForceStartStatus(row[ColumnNamesForPump.ForceRun].ToString());
                VibrateStatus    vibrateStatus = VPumpStatusParser.ParseVibrateStatus(row[ColumnNamesForPump.Vibrate].ToString());
                PumpPowerStatus  powerStatus   = VPumpStatusParser.ParsePowerStatus(row[ColumnNamesForPump.Power].ToString());


                VPump100Data data = new VPump100Data();
                data.DT               = dt;
                data.InstantFlux      = instantFlux;
                data.Efficiency       = efficienty;
                data.TotalAmount      = sum;
                data.RemainAmount     = remain;
                data.PumpStatus       = pumpStatus;
                data.ForceStartStatus = forceStatus;
                data.VibrateStatus    = vibrateStatus;
                data.PowerStatus      = powerStatus;

                list.Add(data);
                if (list.Count >= 5)
                {
                    break;
                }
            }
            createCount = list.Count;
            while (list.Count < 5)
            {
                list.Add(new VPump100Data());
            }
            return(list.ToArray());
        }
Ejemplo n.º 3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="bs"></param>
        /// <param name="startIndex"></param>
        /// <returns></returns>
        static public VPump100Data ToVPump100Data(byte[] bs,
                                                  int startIndex)
        {
            int   start = startIndex;
            Int64 ticks = BitConverter.ToInt64(bs, start);

            start += 8;

            float instantFlux = BitConverter.ToSingle(bs, start);

            start += 4;

            float eff = BitConverter.ToSingle(bs, start);

            start += 4;

            float total = BitConverter.ToSingle(bs, start);

            start += 4;

            float remain = BitConverter.ToSingle(bs, start);

            start += 4;

            PumpStatus       pumpStatus       = (PumpStatus)bs[start++];
            ForceStartStatus forceStartStatus = (ForceStartStatus)bs[start++];
            VibrateStatus    vibrateStatus    = (VibrateStatus)bs[start++];
            PumpPowerStatus  powerStatus      = (PumpPowerStatus)bs[start++];

            VPump100Data data = new VPump100Data();

            data.DT               = new DateTime(ticks);
            data.InstantFlux      = instantFlux;
            data.Efficiency       = eff;
            data.ForceStartStatus = forceStartStatus;
            data.PowerStatus      = powerStatus;
            data.PumpStatus       = pumpStatus;
            data.RemainAmount     = remain;
            data.TotalAmount      = total;
            data.VibrateStatus    = vibrateStatus;

            return(data);
        }