public void UploadLQValue(tLQParam param) { string cacheData = string.Empty; System.Threading.Tasks.Task.Run(() => { try { if (iCMS.WG.Agent.ComFunction.IsExisted(iCMS.WG.Agent.ComFunction.CreateCacheData(param, EnumCacheType.LQValue))) { iCMS.WG.Agent.Common.LogHelper.WriteLog(iCMS.WG.Agent.Common.Enum.EnumLogType.InvalidData.ToString(), "重复LQ,MAC: " + param.mac.ToHexString() + "采集时间:" + iCMS.WG.Agent.ComFunction.GetSamplingTime(param.SampleTime)); return; } VibrationValueParameter LQData = new VibrationValueParameter(); LQData.SamplingTime = iCMS.WG.Agent.ComFunction.GetSamplingTime(param.SampleTime); LQData.DAQStyle = ((int)param.DaqMode).ToString(); LQData.WSMAC = param.mac.ToHexString().ToUpper(); LQData.LQSignalType = (int)param.WaveType; LQData.LQValue = param.EigenValuePara; cacheData = LQData.ToClientString(); ComFunction.CreateRequest(EnumRequestType.UpLoadData, "UploadVibrationValue", cacheData); } catch (Exception ex) { iCMS.WG.Agent.Common.LogHelper.WriteLog(iCMS.WG.Agent.Common.Enum.EnumLogType.Error.ToString(), "iCMS.WG.Agent.CommunicationWithServer.UploadLQValue执行失败,异常:" + ex.Message + "\r\n详细:" + ex.StackTrace.ToString()); if (iCMS.WG.Agent.ComFunction.GetAppConfig("isCache").Trim() == "1") { iCMS.WG.Agent.Common.LogHelper.WriteLog(iCMS.WG.Agent.Common.Enum.EnumLogType.Cache.ToString(), "UploadLQValue # \r\n" + cacheData); } } }); }
/// <summary> /// 通信层的特征值的再次解析 /// </summary> private void WsEigenDataAnalysis(tMeshEigenValueParam param) { lock (m_dicReceiveEignWs) { if (!m_dicReceiveEignWs.ContainsKey(param.mac.ToHexString())) { m_dicReceiveEignWs.Add(param.mac.ToHexString(), false); } if (param.AccDef != null || param.VelDef != null || param.DspDef != null || param.AccEnvDef != null) { m_dicReceiveEignWs[param.mac.ToHexString()] = true; } else { m_dicReceiveEignWs[param.mac.ToHexString()] = false; } } if (param.AccDef != null || param.VelDef != null || param.DspDef != null || param.AccEnvDef != null) { tEigenValueParam Eigen = new tEigenValueParam(); Eigen.mac.Assign(param.mac); Eigen.DaqMode = enWsDaqMode.eTiming; Eigen.SampleTime.u8Year = param.SampleTime.u8Year; Eigen.SampleTime.u8Month = param.SampleTime.u8Month; Eigen.SampleTime.u8Day = param.SampleTime.u8Day; Eigen.SampleTime.u8Hour = param.SampleTime.u8Hour; Eigen.SampleTime.u8Min = param.SampleTime.u8Min; Eigen.SampleTime.u8Sec = param.SampleTime.u8Sec; Eigen.AccWaveType = enMeasDefType.eAccWaveform; if (param.AccDef != null) { Eigen.bAccRMSValid = (param.AccDef.bAccWaveRMSValid == true) ? 1 : 0; Eigen.f32AccRMS = param.AccDef.fAccRMSValue; Eigen.bAccPKValid = (param.AccDef.bAccWavePKValid == true) ? 1 : 0; Eigen.f32AccPK = param.AccDef.fAccPKValue; } Eigen.VelWaveType = enMeasDefType.eVelWaveform; if (param.VelDef != null) { Eigen.bVelRMSValid = (param.VelDef.bVelWaveRMSValid == true) ? 1 : 0; Eigen.f32VelRMS = param.VelDef.fVelRMSValue; } Eigen.DspWaveType = enMeasDefType.eDspWaveform; if (param.DspDef != null) { Eigen.bDspPKPKValid = (param.DspDef.bDspWavePKPKValid == true) ? 1 : 0; Eigen.f32DspPKPK = param.DspDef.fDspPKPKValue; } Eigen.AccEnvWaveType = enMeasDefType.eAccEnvelope; if (param.AccEnvDef != null) { Eigen.bAccEnvPKValid = (param.AccEnvDef.bAccEnvWavePKValid == true) ? 1 : 0; Eigen.f32AccEnvPK = param.AccEnvDef.fAccEnvPKValue; Eigen.bAccEnvPKCValid = (param.AccEnvDef.bAccEnvWavePKCValid == true) ? 1 : 0; Eigen.f32AccEnvPKC = param.AccEnvDef.fAccEnvPKCValue; } //bEigentoDaq = true; if (WsEigenDataNotify != null) { WsEigenDataNotify(Eigen); } } //解析LQ的特征值 if (param.LQDef != null) { tLQParam LQ = new tLQParam(); LQ.mac.Assign(param.mac); LQ.DaqMode = enWsDaqMode.eTiming; LQ.SampleTime.u8Year = param.SampleTime.u8Year; LQ.SampleTime.u8Month = param.SampleTime.u8Month; LQ.SampleTime.u8Day = param.SampleTime.u8Day; LQ.SampleTime.u8Hour = param.SampleTime.u8Hour; LQ.SampleTime.u8Min = param.SampleTime.u8Min; LQ.SampleTime.u8Sec = param.SampleTime.u8Sec; LQ.EigenValuePara = param.LQDef.fLQRMSValue; LQ.WaveType = enMeasDefType.eLQform; LQ.EigenType = enEigenValueType.eLQ; if (WsLQNotify != null) { WsLQNotify(LQ); } } //解析启停机的特征值 if (param.RevStopDef != null) { tRevStopParam RevStop = new tRevStopParam(); RevStop.mac.Assign(param.mac); RevStop.DaqMode = enWsDaqMode.eTiming; RevStop.SampleTime.u8Year = param.SampleTime.u8Year; RevStop.SampleTime.u8Month = param.SampleTime.u8Month; RevStop.SampleTime.u8Day = param.SampleTime.u8Day; RevStop.SampleTime.u8Hour = param.SampleTime.u8Hour; RevStop.SampleTime.u8Min = param.SampleTime.u8Min; RevStop.SampleTime.u8Sec = param.SampleTime.u8Sec; RevStop.f32EigenPK = param.RevStopDef.fRevStopPKValue; RevStop.WaveType = enMeasDefType.eAppRevStopform; RevStop.EigenType = enEigenValueType.ePK; if (WsRevStopNotify != null) { WsRevStopNotify(RevStop); } } }