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)); } }
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(); }
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)); } }
public ChannelDataMessage(ChannelDataContract channelData) { ChannelData = channelData; }