Esempio n. 1
0
 private void HandleDataContract(ChannelDataContract dataContract)
 {
     sg.IsResetFlag     = true;
     sg.RecordLab       = dataContract.RecordLab;
     sg.SaveLab         = dataContract.SaveLab;
     sg.GroupCOName     = dataContract.GroupCOName;
     sg.CorporationName = dataContract.CorporationName;
     sg.WorkShopName    = dataContract.WorkShopName;
     sg.T_Device_Name   = dataContract.DevName;
     sg.DevSN           = dataContract.DevSN;
     sg.Name            = dataContract.CHName;
     sg.MSSN            = dataContract.CHMSSN;
     sg.LowDanger       = dataContract.LowDanger;
     sg.LowAlert        = dataContract.LowAlert;
     sg.LowNormal       = dataContract.LowNormal;
     sg.HighNormal      = dataContract.HighNormal;
     sg.HighAlert       = dataContract.HighAlert;
     sg.HighDanger      = dataContract.HighDanger;
     sg.STIME           = dataContract.STIME;
     sg.AMS             = dataContract.AMS;
     sg.AlarmType       = (int)dataContract.AlarmType;
     sg.AlarmGrade      = (AlarmGrade)Enum.Parse(typeof(AlarmGrade), dataContract.AlarmGrade.ToString());
     sg.IP   = dataContract.IP;
     sg.Unit = (Unit)Enum.Parse(typeof(Unit), dataContract.Unit.ToString());
     if (dataContract.SlotNum != null)
     {
         sg.SlotNum = dataContract.SlotNum.Value;
     }
     if (dataContract.ChaN != null)
     {
         sg.ChaN = dataContract.ChaN.Value;
     }
     sg.IsConnected = true;
 }
        private void DrawTimeDomain(bool fitView)
        {
            try
            {
                if (viewModel == null || viewModel.CurrentSnapshotContract == null)
                {
                    return;
                }

                PointLineSeries  series           = m_chart.ViewXY.PointLineSeries[0];
                PointLineSeries  series1          = m_chart.ViewXY.PointLineSeries[1];
                LineSeriesCursor lineSeriesCursor = m_chart.ViewXY.LineSeriesCursors[0];
                int index = GetNearestPointIndex(series, lineSeriesCursor.ValueAtXAxis);
                if (index == -1)
                {
                    if (series1.PointCount > 0)
                    {
                        m_chart.BeginUpdate();
                        series1.Clear();
                        m_chart.EndUpdate();
                    }
                    return;
                }

                SeriesPoint           point         = series.Points[index];
                Guid                  id            = (Guid)point.Tag;
                SnapshotItemContract2 itemContract2 = viewModel.CurrentSnapshotContract.Item.Where(o => o.id == id).SingleOrDefault();
                if (itemContract2 == null)
                {
                    return;
                }
                ChannelDataContract channelData = itemContract2.Data;

                if (channelData != null)
                {
                    int           length = channelData.VData.Length / 4;
                    SeriesPoint[] points = new SeriesPoint[length];
                    for (int i = 0; i < length; i++)
                    {
                        points[i].X = i;
                        points[i].Y = BitConverter.ToSingle(channelData.VData, i * 4);
                    }

                    m_chart.BeginUpdate();
                    series1.Points = points;
                    if (fitView)
                    {
                        m_chart.ViewXY.FitView();
                    }
                    m_chart.EndUpdate();
                }
            }
            catch (Exception ex)
            {
                _eventAggregator.GetEvent <ThrowExceptionEvent>().Publish(Tuple.Create <string, Exception>("数据回放-报警点趋势-时域", ex));
            }
        }
Esempio n. 3
0
 public VibrationMessage(ChannelDataContract dataContract)
 {
     DataContract = dataContract;
     VDataBytes   = DataContract.VData;
     SamplePoint  = DataContract.SamplePoint;
     if (DataContract.TriggerN == 2)
     {
         SampleFre = DataContract.RPM.GetValueOrDefault() * DataContract.TeethNumber.GetValueOrDefault() / 60;
     }
     else
     {
         SampleFre = dataContract.SampleFre;
     }
     //BPFilter = new BandPassFilter();
     //HPFilter = new HighPassFilter();
     //LPFilter = new LowPassFilter();
 }
Esempio n. 4
0
        private void SetSignal(ChannelDataContract dataContract)
        {
            sg.IsResetFlag     = true;
            sg.RecordLab       = dataContract.RecordLab;
            sg.SaveLab         = dataContract.SaveLab;
            sg.GroupCOName     = dataContract.GroupCOName;
            sg.CorporationName = dataContract.CorporationName;
            sg.WorkShopName    = dataContract.WorkShopName;
            sg.T_Device_Name   = dataContract.DevName;
            sg.DevSN           = dataContract.DevSN;
            sg.Name            = dataContract.CHName;
            sg.MSSN            = dataContract.CHMSSN;
            sg.TriggerN        = (TriggerType)Enum.Parse(typeof(TriggerType), dataContract.TriggerN.ToString());
            sg.LowDanger       = dataContract.LowDanger;
            sg.LowAlert        = dataContract.LowAlert;
            sg.LowNormal       = dataContract.LowNormal;
            sg.HighNormal      = dataContract.HighNormal;
            sg.HighAlert       = dataContract.HighAlert;
            sg.HighDanger      = dataContract.HighDanger;
            sg.STIME           = dataContract.STIME;
            sg.AMS             = dataContract.AMS;
            sg.AlarmType       = dataContract.AlarmType;
            sg.AlarmGrade      = (AlarmGrade)Enum.Parse(typeof(AlarmGrade), dataContract.AlarmGrade.ToString());

            sg.SVType     = (SVType)Enum.Parse(typeof(SVType), dataContract.SVType.ToString());
            sg.nType      = (nType)Enum.Parse(typeof(nType), dataContract.nType.ToString());
            sg.SensorType = (SensorType)Enum.Parse(typeof(SensorType), dataContract.SensorType.ToString());
            sg.VMSDir     = (TPDir)Enum.Parse(typeof(TPDir), dataContract.VMSDir.ToString());
            sg.HP         = (HP)Enum.Parse(typeof(HP), dataContract.HP.ToString());
            if (dataContract.RPM.HasValue)
            {
                sg.RPM = dataContract.RPM.Value;
            }
            sg.IsEnp = dataContract.IsEnp;

            if (dataContract.TeethNumber.HasValue)
            {
                sg.TeethNumber = dataContract.TeethNumber.Value;
            }
            if (dataContract.IsUpload.HasValue)
            {
                sg.IsUpload = dataContract.IsUpload.Value;
            }
            if (dataContract.RSlotNum.HasValue)
            {
                sg.RSlotNum = dataContract.RSlotNum.Value;
            }
            if (dataContract.RChaN.HasValue)
            {
                sg.RChaN = dataContract.RChaN.Value;
            }
            if (dataContract.HDRSlotNum.HasValue)
            {
                sg.HDRSlotNum = dataContract.HDRSlotNum.Value;
            }
            if (dataContract.HDChaN.HasValue)
            {
                sg.HDRChaN = dataContract.HDChaN.Value;
            }
            if (dataContract.SlotNum.HasValue)
            {
                sg.SlotNum = dataContract.SlotNum.Value;
            }
            if (dataContract.ChaN.HasValue)
            {
                sg.ChaN = dataContract.ChaN.Value;
            }
            if (dataContract.TSpan.HasValue)
            {
                sg.TSpan = dataContract.TSpan.Value;
            }
            if (dataContract.IntevalTime.HasValue)
            {
                sg.IntevalTime = dataContract.IntevalTime.Value;
            }
            if (dataContract.IsAntiAliase.HasValue)
            {
                sg.IsAntiAliase = dataContract.IsAntiAliase.Value;
            }
            sg.SamplePoint = dataContract.SamplePoint;
            if (sg.TriggerN == TriggerType.Angle)
            {
                sg.SampleFre = sg.RPM * sg.TeethNumber / 60;
            }
            else
            {
                sg.SampleFre = dataContract.SampleFre;
            }
            sg.IP                 = dataContract.IP;
            sg.Winfun             = (Winfun)Enum.Parse(typeof(Winfun), dataContract.Winfun.ToString());
            sg.Unit               = (Unit)Enum.Parse(typeof(Unit), dataContract.Unit.ToString());
            sg.OperatingModeUnit  = dataContract.OperatingModeUnit;
            sg.OperatingModePara  = dataContract.OperatingModePara;
            sg.ComparativePercent = dataContract.ComparativePercent;
            sg.FormulaLowDanger   = dataContract.FormulaLowDanger;
            sg.FormulaLowAlert    = dataContract.FormulaLowAlert;
            sg.FormulaLowNormal   = dataContract.FormulaLowNormal;
            sg.FormulaHighNormal  = dataContract.FormulaHighNormal;
            sg.FormulaHighAlert   = dataContract.FormulaHighAlert;
            sg.FormulaHighDanger  = dataContract.FormulaHighDanger;
            if (dataContract.SampleType.HasValue)
            {
                sg.SampleType = (SampleType)Enum.Parse(typeof(SampleType), dataContract.SampleType.Value.ToString());
            }
            sg.HibernationTime = dataContract.HibernationTime;
            sg.WorkTime        = dataContract.WorkTime;
            sg.WirelessMAC     = dataContract.WirelessMAC;

            sg.Bytes       = dataContract.VData;
            sg.IsConnected = true;

            foreach (var item in sg.DivFres)
            {
                var divFreContract = dataContract.DivFre.Where(o => o.FreDescription == item.Name).SingleOrDefault();
                if (divFreContract != null)
                {
                    item.UploadTime      = divFreContract.STIME;
                    item.FreV            = divFreContract.FreV;
                    item.AlarmType       = divFreContract.AlarmType;
                    item.DivFreType      = (DivFreType)Enum.Parse(typeof(DivFreType), divFreContract.DivFreType.ToString());
                    item.Base1Fre        = divFreContract.Base1Fre;
                    item.Base1FrePercent = divFreContract.Base1FrePercent;
                    item.Base2Fre        = divFreContract.Base2Fre;
                    item.MultiFre        = divFreContract.MultiFre;
                    item.DivFreStrategt  = divFreContract.DivFreStrategt.Value;
                    item.MaxFreNum       = divFreContract.MaxFreNum;
                    item.LowDanger       = divFreContract.LowDanger;
                    item.LowAlert        = divFreContract.LowAlert;
                    item.LowNormal       = divFreContract.LowNormal;
                    item.HighNormal      = divFreContract.HighNormal;
                    item.HighAlert       = divFreContract.HighAlert;
                    item.HighDanger      = divFreContract.HighDanger;
                    item.AlarmGrade      = (AlarmGrade)Enum.Parse(typeof(AlarmGrade), divFreContract.AlarmGrade.ToString());
                    item.Phase           = divFreContract.Phase;
                    if (divFreContract.RPM.HasValue)
                    {
                        item.RPM = divFreContract.RPM.Value;
                    }
                    if (divFreContract.IntevalTime.HasValue)
                    {
                        // item.IntevalTime = divFreContract.IntevalTime.Value;
                    }
                    if (divFreContract.IsUpload.HasValue)
                    {
                        item.IsUpload = divFreContract.IsUpload.Value;
                    }
                    if (divFreContract.CharacteristicFre.HasValue)
                    {
                        item.CharacteristicFre = divFreContract.CharacteristicFre.Value;
                    }
                    if (divFreContract.DefaultR.HasValue)
                    {
                        item.DefaultR = divFreContract.DefaultR.Value;
                    }
                    item.FreMV              = divFreContract.FreMV;
                    item.OperatingModeUnit  = divFreContract.OperatingModeUnit;
                    item.OperatingModePara  = divFreContract.OperatingModePara;
                    item.ComparativePercent = divFreContract.ComparativePercent;

                    item.FormulaLowDanger  = divFreContract.FormulaLowDanger;
                    item.FormulaLowAlert   = divFreContract.FormulaLowAlert;
                    item.FormulaLowNormal  = divFreContract.FormulaLowNormal;
                    item.FormulaHighNormal = divFreContract.FormulaHighNormal;
                    item.FormulaHighAlert  = divFreContract.FormulaHighAlert;
                    item.FormulaHighDanger = divFreContract.FormulaHighDanger;

                    // item.IsConnected = true;
                    //  item.IsRead = true;
                }
                else
                {
                    //  item.IsConnected = false;
                    //  item.IsRead = false;
                }
            }
        }
        private void DrawFrequencyDomain(bool fitView)
        {
            try
            {
                if (viewModel == null || viewModel.CurrentSnapshotContract == null)
                {
                    return;
                }

                PointLineSeries  series           = m_chart.ViewXY.PointLineSeries[0];
                PointLineSeries  series1          = m_chart.ViewXY.PointLineSeries[1];
                LineSeriesCursor lineSeriesCursor = m_chart.ViewXY.LineSeriesCursors[0];
                int index = GetNearestPointIndex(series, lineSeriesCursor.ValueAtXAxis);
                if (index == -1)
                {
                    if (series1.PointCount > 0)
                    {
                        m_chart.BeginUpdate();
                        series1.Clear();
                        m_chart.EndUpdate();
                    }
                    return;
                }
                else
                {
                    SeriesPoint           point         = series.Points[index];
                    Guid                  id            = (Guid)point.Tag;
                    SnapshotItemContract2 itemContract2 = viewModel.CurrentSnapshotContract.Item.Where(o => o.id == id).SingleOrDefault();
                    if (itemContract2 == null)
                    {
                        return;
                    }
                    ChannelDataContract channelData = itemContract2.Data;

                    if (channelData != null)
                    {
                        int      length = channelData.VData.Length / 4;
                        double[] vdata  = new double[length];
                        for (int i = 0; i < length; i++)
                        {
                            vdata[i] = BitConverter.ToSingle(channelData.VData, i * 4);
                        }

                        double frequencyInterval = channelData.SampleFre / channelData.SamplePoint;
                        if (channelData.TriggerN == 2)
                        {
                            frequencyInterval = ((int)channelData.TeethNumber / 2) / length;
                        }
                        int frequencyLength = (int)(channelData.SamplePoint / 2.56);

                        var outputAmp = Algorithm.Instance.FFT2Action(vdata, channelData.SamplePoint);

                        m_chart.BeginUpdate();
                        if (series1.Points == null || series1.Points.Length != frequencyLength)
                        {
                            series1.Points = new SeriesPoint[frequencyLength];
                        }
                        for (int i = 0; i < frequencyLength; i++)
                        {
                            series1.Points[i].X = frequencyInterval * i;
                            series1.Points[i].Y = outputAmp[i];
                        }
                        if (fitView)
                        {
                            m_chart.ViewXY.FitView();
                        }
                        m_chart.EndUpdate();
                    }
                }
            }
            catch (Exception ex)
            {
                _eventAggregator.GetEvent <ThrowExceptionEvent>().Publish(Tuple.Create <string, Exception>("数据回放-报警点趋势-频域", ex));
            }
        }
Esempio n. 6
0
 public ChannelDataMessage(ChannelDataContract channelData)
 {
     ChannelData = channelData;
 }