private bool getStability() { if (_continuousSamplingCount == 0) { InitializeSamplingDatas(); } //オートゲインを取得 SetLaserAutoOffsetGain(false); //タイムアウト用タイマースタート System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch(); sw.Start(); List<int> SampParam = new List<int>{1000,int.Parse(_settings._data._waitTime)}; //サンプリング開始 if (_machine.StartSampling(SampParam)) { } else { return false; } //装置の応答待ち if (_machine.GetStatus() != true) { while (_machine._sampStatus != Machine.SamplingStatus.FINISH) { _machine.GetStatus(); if (sw.ElapsedMilliseconds > 10000) { return false; } } } //データの取得 if (_machine.GetSamplingData(0, 999)) { //sigref計算 _dp = new DataProcessor(_machine, _settings); _dp.Main(); //データ用変数確保 //_sampDataStorageForRaw = new List<List<SamplingResult>>(); //生データを入れる //_sampDataStorageBeforeAvg = _dp._allSamplingResult; List<List<SamplingResult>> allSamplingResult = _dp._allSamplingResult; List<List<double>> allGammaList = _dp._allGammaList; List<double> allBslList = _dp._allBslList; //それぞれを移動平均にかける MovingAverage mvAvg = new MovingAverage(); List<List<SamplingResult>> mvAvg_samplingResult = mvAvg.GetSamplingResult(allSamplingResult, int.Parse(_settings._data._movingAverageCount)); List<List<double>> mvAvg_gamma = mvAvg.GetGammaResult(allGammaList,int.Parse(_settings._data._movingAverageCount)); List<double>mvAvg_bsl = mvAvg.GetBslResult(allBslList, int.Parse(_settings._data._movingAverageCount)); //それぞれの安定性を採る _stb = new Stability(_settings); _stb.GetSamplingResult(mvAvg_samplingResult); _stb.GetGammaResult(mvAvg_gamma); _stb.GetBslResult(mvAvg_bsl); //校正係数の取得 _calib = new Calibrate(allSamplingResult, _settings); _stb._calib = _calib._result; //出力用生データのセット _stb.SetRawData(allSamplingResult, allGammaList, allBslList); } else { return false; } return true; }
public bool MakeCalibrationDataFile(Calibrate src, string fileName) { try { string file = ""; System.IO.StreamWriter sw = new System.IO.StreamWriter(fileName, false, System.Text.Encoding.GetEncoding("shift_jis")); for (int i = 0; i < src._result.Count; i++) { file += src._result[i].ToString() + "\r\n"; } sw.Write(file); sw.Close(); return true; } catch (Exception) { return false; } }