Ejemplo n.º 1
0
        private void LoadNIFilter()
        {
            String exePath           = System.AppDomain.CurrentDomain.BaseDirectory;
            string CalibrationFolder = exePath + "CalibrationFiles\\";

            if (!Directory.Exists(CalibrationFolder))
            {
                MessageBox.Show("Calibration Folder Not Found.", "Calibration Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            string fileName = CalibrationFolder + "ND Filter T% reference data.csv";

            if (!File.Exists(fileName))
            {
                //MessageBox.Show("ND Calibration File Not Found." + fileName, "Calibration Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            string strread = "";

            NDInfo.Clear();
            StreamReader sr = new StreamReader(fileName);
            string       line;

            string[] row;
            int      Rowcnt = 0;

            while ((line = sr.ReadLine()) != null)
            {
                row = line.Split(',');
                if (row[0] == "")
                {
                    continue;
                }

                if (Rowcnt == 0)
                {
                    NDFileterInfo tmp = new NDFileterInfo();
                    tmp.Name = row[1];
                    NDInfo.Add(tmp);
                    NDFileterInfo tmp2 = new NDFileterInfo();
                    tmp2.Name = row[4];
                    NDInfo.Add(tmp2);
                    NDFileterInfo tmp3 = new NDFileterInfo();
                    tmp3.Name = row[7];
                    NDInfo.Add(tmp3);
                    NDFileterInfo tmp4 = new NDFileterInfo();
                    tmp4.Name = row[10];
                    NDInfo.Add(tmp4);
                    NDFileterInfo tmp5 = new NDFileterInfo();
                    tmp5.Name = row[13];
                    NDInfo.Add(tmp5);
                    NDFileterInfo tmp6 = new NDFileterInfo();
                    tmp6.Name = row[16];
                    NDInfo.Add(tmp6);
                    Rowcnt++;
                    continue;
                }

                int             Idx   = 1;
                CalibrationInfo info1 = new CalibrationInfo();
                info1.waveLength = int.Parse(row[0]);
                info1.Nominal    = double.Parse(row[Idx]);
                info1.min        = double.Parse(row[Idx + 1]);
                info1.max        = double.Parse(row[Idx + 2]);
                NDInfo[0].data.Add(info1);

                Idx = 4;
                CalibrationInfo info2 = new CalibrationInfo();
                info2.waveLength = int.Parse(row[0]);
                info2.Nominal    = double.Parse(row[Idx]);
                info2.min        = double.Parse(row[Idx + 1]);
                info2.max        = double.Parse(row[Idx + 2]);
                NDInfo[1].data.Add(info2);

                Idx = 7;
                CalibrationInfo info3 = new CalibrationInfo();
                info3.waveLength = int.Parse(row[0]);
                info3.Nominal    = double.Parse(row[Idx]);
                info3.min        = double.Parse(row[Idx + 1]);
                info3.max        = double.Parse(row[Idx + 2]);
                NDInfo[2].data.Add(info3);

                Idx = 10;
                CalibrationInfo info4 = new CalibrationInfo();
                info4.waveLength = int.Parse(row[0]);
                info4.Nominal    = double.Parse(row[Idx]);
                info4.min        = double.Parse(row[Idx + 1]);
                info4.max        = double.Parse(row[Idx + 2]);
                NDInfo[3].data.Add(info4);

                Idx = 13;
                CalibrationInfo info5 = new CalibrationInfo();
                info5.waveLength = int.Parse(row[0]);
                info5.Nominal    = double.Parse(row[Idx]);
                info5.min        = double.Parse(row[Idx + 1]);
                info5.max        = double.Parse(row[Idx + 2]);
                NDInfo[4].data.Add(info5);

                Idx = 16;
                CalibrationInfo info6 = new CalibrationInfo();
                info6.waveLength = int.Parse(row[0]);
                info6.Nominal    = double.Parse(row[Idx]);
                info6.min        = double.Parse(row[Idx + 1]);
                info6.max        = double.Parse(row[Idx + 2]);
                NDInfo[5].data.Add(info6);
            }

            // UpdateCaliUI();
            UpdateNDFilterLB();
        }
Ejemplo n.º 2
0
        public void SaveNDFilterData(NDFileterInfo myNDFilterData, List <float> TransData, int ModIdx, NDFileterInfo NdData)
        {
            //lock (sny_Obj)
            {
                string s_FileName = "_NDFilterData_" + DateTime.Now.ToString("yyyyMMdd");

                string path = "D:\\DailyNDFilterData";
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }
                path = "D:\\DailyNDFilterData\\Module" + (ModIdx).ToString();
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }
                string FileName = path + "\\" + s_FileName + ".csv";

                FileStream objFileStream;
                bool       bCreatedNew = false;

                if (!File.Exists(FileName))
                {
                    objFileStream = new FileStream(FileName, FileMode.CreateNew, FileAccess.Write);
                    bCreatedNew   = true;
                }
                else
                {
                    objFileStream = new FileStream(FileName, FileMode.Append, FileAccess.Write);
                }

                StreamWriter sw          = new StreamWriter(objFileStream, System.Text.Encoding.GetEncoding(-0));
                string       columnTitle = "";
                int          i;
                string       columnValue = "";
                int          t           = 0;
                //int waveNum = pub.m_Lambda.Value.GetLength(0);//总的波长个数
                double tempCounts = 0;
                try
                {
                    //bCreatedNew = true;

                    if (bCreatedNew)
                    {
                        columnTitle = "CG Test:" + "," + Para.SWVersion + ",";
                        sw.WriteLine(columnTitle);
                        columnTitle = "";

                        //写入列标题
                        columnTitle = "SerialNumber" + "," + "DateTime" + ",";

                        for (int wave = 0; wave < myNDFilterData.data.Count; wave++)
                        {
                            columnTitle += myNDFilterData.data[wave].waveLength.ToString("F1") + ",";
                        }
                        sw.WriteLine(columnTitle);
                    }

                    //Nominal
                    columnValue  = myNDFilterData.Name + "_Nominal,";
                    columnValue += DateTime.Now.ToString("dd MM HH:mm:ss") + ",";
                    for (i = 0; i < NdData.data.Count; i++)
                    {
                        columnValue += NdData.data[i].Nominal.ToString("F3") + ",";
                    }
                    sw.WriteLine(columnValue);

                    //Min
                    columnValue  = myNDFilterData.Name + "_Min,";
                    columnValue += DateTime.Now.ToString("dd MM HH:mm:ss") + ",";
                    for (i = 0; i < NdData.data.Count; i++)
                    {
                        columnValue += NdData.data[i].min.ToString("F3") + ",";
                    }
                    sw.WriteLine(columnValue);

                    //Max
                    columnValue  = myNDFilterData.Name + "_Max,";
                    columnValue += DateTime.Now.ToString("dd MM HH:mm:ss") + ",";
                    for (i = 0; i < NdData.data.Count; i++)
                    {
                        columnValue += NdData.data[i].max.ToString("F3") + ",";
                    }
                    sw.WriteLine(columnValue);

                    columnValue  = myNDFilterData.Name + "_T%,";
                    columnValue += DateTime.Now.ToString("dd MM HH:mm:ss") + ",";
                    for (i = 0; i < TransData.Count; i++)
                    {
                        columnValue += TransData[i].ToString("F3") + ",";
                    }

                    sw.WriteLine(columnValue);

                    sw.Close();
                    objFileStream.Close();
                }
                catch (Exception e)
                {
                    //MessageBox.Show(e.ToString());
                }
                finally
                {
                    sw.Close();
                    objFileStream.Close();
                }
            }
        }