Esempio n. 1
0
        private void NTC_Başlat()
        {
            Ntc_Arama.Tag = 0;
            int tick = Environment.TickCount + 100;

            if (!File.Exists(Path.GetDirectoryName(Application.ExecutablePath) + "\\Ntc\\Liste.csv"))
            {
                new MlzListesiniOlusturma().ShowDialog();
            }
            if (!File.Exists(Path.GetDirectoryName(Application.ExecutablePath) + "\\Ntc\\Liste.csv"))
            {
                Application.Exit(); return;
            }
            group_ntc.Enabled = false;

            o.Ntcler.Clear();

            string[] gecici_liste = File.ReadAllLines(Path.GetDirectoryName(Application.ExecutablePath) + "\\Ntc\\Liste.csv");
            for (int a = 1; a < gecici_liste.Length; a++)
            {
                try
                {
                    bool Sorunlu = false;

                    //fazladan virgül içeren metinlerin düzenlenmesi
                    string[] aa = gecici_liste[a].Split(',');
                    for (int aa_ = 0; aa_ < aa.Length; aa_++)
                    {
                        aa[aa_] = aa[aa_].Replace("_ArgeMuP_", ",");
                    }

                    NtcHesap_ nh = new NtcHesap_();
                    nh.Üretici     = aa[0];
                    nh.ÜreticiKodu = aa[1];
                    nh.Açıklama    = aa[2];
                    nh.Pdf         = aa[13].Trim(' ', '/', '\\');;

                    //-40°C ~ 150°C -> -40 150
                    var çs = aa[3].Split(' ');
                    if (!double.TryParse(çs[0].Trim('°', 'C'), o.style, o.culture, out nh.ÇalışmaSıcaklığı_Düşük))
                    {
                        Sorunlu = true;
                        //Console.WriteLine("Satır " + (a+1) + " ÇalışmaSıcaklığı_Düşük");
                        //continue;
                    }
                    if (!double.TryParse(çs[çs.Length - 1].Trim('°', 'C'), o.style, o.culture, out nh.ÇalışmaSıcaklığı_Yüksek))
                    {
                        Sorunlu = true;
                        //Console.WriteLine("Satır " + (a + 1) + " ÇalışmaSıcaklığı_Yüksek");
                        //continue;
                    }

                    //25°C -> 25
                    if (!double.TryParse(aa[4].Trim('°', 'C'), o.style, o.culture, out nh.ReferansNoktası_Sıcaklık))
                    {
                        Sorunlu = true;
                        //Console.WriteLine("Satır " + (a + 1) + " ReferansNoktası_Sıcaklık");
                        //continue;
                    }

                    //100K -> 100000
                    if (!double.TryParse(aa[5].ToUpper().Trim('K', 'M'), o.style, o.culture, out nh.ReferansNoktası_Direnç))
                    {
                        Sorunlu = true;
                        //Console.WriteLine("Satır " + (a + 1) + " ReferansNoktası_Direnç");
                        //continue;
                    }
                    if (aa[5].ToUpper().Contains("K"))
                    {
                        nh.ReferansNoktası_Direnç *= 1000;
                    }
                    else if (aa[5].ToUpper().Contains("M"))
                    {
                        nh.ReferansNoktası_Direnç *= 1000 * 1000;
                    }

                    //±1% -> 1
                    if (!double.TryParse(aa[6].Trim('±', '%', '°', 'C'), o.style, o.culture, out nh.ReferansNoktası_HataOranı))
                    {
                        Sorunlu = true;
                        //Console.WriteLine("Satır " + (a + 1) + " ReferansNoktası_HataOranı");
                        //continue;
                    }
                    if (!double.TryParse(aa[7].Trim('±', '%'), o.style, o.culture, out nh.Beta_HataOranı))
                    {
                        Sorunlu = true;
                        //Console.WriteLine("Satır " + (a + 1) + " Beta_HataOranı");
                        //continue;
                    }

                    for (int b = 0; b < 5; b++)
                    {
                        double betttta = 0;
                        if (double.TryParse(aa[8 + b].ToUpper().Trim('K'), o.style, o.culture, out betttta))
                        {
                            bool bulundu = false;
                            nh.GörünenAdı = nh.ÜreticiKodu.ToUpper() + " " + betttta;

                            for (int c = 0; c < o.Ntcler.Count && !bulundu; c++)
                            {
                                if (o.Ntcler[c].GörünenAdı == nh.GörünenAdı)
                                {
                                    bulundu = true; break;
                                }
                            }

                            if (!bulundu)
                            {
                                NtcHesap_ yeni = new NtcHesap_();
                                yeni.Açıklama                  = nh.Açıklama;
                                yeni.Beta                      = betttta;
                                yeni.Beta_HataOranı            = nh.Beta_HataOranı;
                                yeni.Pdf                       = nh.Pdf;
                                yeni.ReferansNoktası_Direnç    = nh.ReferansNoktası_Direnç;
                                yeni.ReferansNoktası_HataOranı = nh.ReferansNoktası_HataOranı;
                                yeni.ReferansNoktası_Sıcaklık  = nh.ReferansNoktası_Sıcaklık;
                                yeni.ÇalışmaSıcaklığı_Düşük    = nh.ÇalışmaSıcaklığı_Düşük;
                                yeni.ÇalışmaSıcaklığı_Yüksek   = nh.ÇalışmaSıcaklığı_Yüksek;
                                yeni.Üretici                   = nh.Üretici;
                                yeni.ÜreticiKodu               = nh.ÜreticiKodu;
                                yeni.GörünenAdı                = Sorunlu ? "*" + nh.GörünenAdı : nh.GörünenAdı;

                                o.Ntcler.Add(yeni);
                            }
                        }
                    }
                }
                catch (Exception) { }

                if (Environment.TickCount > tick)
                {
                    tick = Environment.TickCount + 100; Application.DoEvents();
                }
            }

            Ntc_Arama.Text = "";
            Ntc_ler.Items.Clear();

            foreach (var b in o.Ntcler)
            {
                Ntc_ler.Items.Add(b.GörünenAdı);

                if (Environment.TickCount > tick)
                {
                    tick = Environment.TickCount + 100; Application.DoEvents();
                }
            }
            toolTip1.SetToolTip(Ntc_ler, Ntc_ler.Items.Count + " NTC");

            group_ntc.Enabled = true;
        }
 public Ntc_Bilgileri(NtcHesap_ NtcHesap)
 {
     InitializeComponent();
     Nh = NtcHesap;
 }
Esempio n. 3
0
        private void Ntc_ler_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (Ntc_ler.SelectedIndex < 0)
            {
                return;
            }
            Ntc_ler.Enabled = false;

            if (Ağırlıklar != null)
            {
                toolTip1.SetToolTip(Ntc_ler, "% " + o.D2S(Ağırlıklar[Ntc_ler.SelectedIndex].Ağırlık) + " " + Ntc_ler.SelectedItem.ToString());
            }

            NtcHesap_ ntc = new NtcHesap_();

            foreach (var a in o.Ntcler)
            {
                if (a.GörünenAdı == Ntc_ler.SelectedItem.ToString())
                {
                    ntc = a; break;
                }
            }

            Grafik.Series.Clear();
            Grafik.ChartAreas[0].CursorX.IsUserEnabled          = true;
            Grafik.ChartAreas[0].CursorX.IsUserSelectionEnabled = true;
            Grafik.ChartAreas[0].CursorY.IsUserEnabled          = true;
            Grafik.ChartAreas[0].CursorY.IsUserSelectionEnabled = true;

            Series NSensör = Grafik.Series.Add("Sensör");

            NSensör.ChartType = SeriesChartType.Range;
            NSensör.Color     = Color.YellowGreen;

            Series Nntc = Grafik.Series.Add("Ntc");

            Nntc.ChartType = SeriesChartType.Range;
            Nntc.Color     = Color.White;

            for (int a = 0; a < Sh.R_T_Tablosu.Count; a++)
            {
                NSensör.Points.AddXY(Sh.R_T_Tablosu[a].SıcaklıkDeğeri, GrafikİçinDüzenle(Sh.R_T_Tablosu[a].Rmak), GrafikİçinDüzenle(Sh.R_T_Tablosu[a].Rmin));
                Nntc.Points.AddXY(Sh.R_T_Tablosu[a].SıcaklıkDeğeri, GrafikİçinDüzenle(ntc.Rmak(Sh.R_T_Tablosu[a].SıcaklıkDeğeri)), GrafikİçinDüzenle(ntc.Rmin(Sh.R_T_Tablosu[a].SıcaklıkDeğeri)));

                double Ağırlık = Ağırlığı(Sh.R_T_Tablosu[a].Rmin, ntc.Rmin(Sh.R_T_Tablosu[a].SıcaklıkDeğeri), true);
                if (Ağırlık <= 0)
                {
                    Liste[1, a].Style.BackColor = Color.YellowGreen;
                    Liste[1, a].ToolTipText     = "NTC : " + o.D2S(ntc.Rmin(Sh.R_T_Tablosu[a].SıcaklıkDeğeri));
                }
                else
                {
                    Liste[1, a].ToolTipText = "Sensör : " + o.D2S(Sh.R_T_Tablosu[a].Rmin) + Environment.NewLine +
                                              "NTC    : " + o.D2S(ntc.Rmin(Sh.R_T_Tablosu[a].SıcaklıkDeğeri)) + Environment.NewLine +
                                              "Fark   : " + o.D2S(Math.Abs(Sh.R_T_Tablosu[a].Rmin - ntc.Rmin(Sh.R_T_Tablosu[a].SıcaklıkDeğeri))) + " Ω" + Environment.NewLine +
                                              "% " + o.D2S(Ağırlık);

                    if (Ağırlık > (double)Yüzde.Value)
                    {
                        Liste[1, a].Style.BackColor = Color.OrangeRed;
                    }
                    else
                    {
                        Liste[1, a].Style.BackColor = Color.Gold;
                    }
                }

                Ağırlık = Ağırlığı(ntc.Rmak(Sh.R_T_Tablosu[a].SıcaklıkDeğeri), Sh.R_T_Tablosu[a].Rmak, false);
                if (Ağırlık <= 0)
                {
                    Liste[2, a].Style.BackColor = Color.YellowGreen;
                    Liste[2, a].ToolTipText     = "NTC : " + o.D2S(ntc.Rmak(Sh.R_T_Tablosu[a].SıcaklıkDeğeri));
                }
                else
                {
                    Liste[2, a].Style.BackColor = Color.OrangeRed;
                    Liste[2, a].ToolTipText     = "Sensör : " + o.D2S(Sh.R_T_Tablosu[a].Rmak) + Environment.NewLine +
                                                  "NTC    : " + o.D2S(ntc.Rmak(Sh.R_T_Tablosu[a].SıcaklıkDeğeri)) + Environment.NewLine +
                                                  "Fark   : " + o.D2S(Math.Abs(ntc.Rmak(Sh.R_T_Tablosu[a].SıcaklıkDeğeri) - Sh.R_T_Tablosu[a].Rmak)) + " Ω" + Environment.NewLine +
                                                  "% " + o.D2S(Ağırlık);

                    if (Ağırlık > (double)Yüzde.Value)
                    {
                        Liste[2, a].Style.BackColor = Color.OrangeRed;
                    }
                    else
                    {
                        Liste[2, a].Style.BackColor = Color.Gold;
                    }
                }

                //if (ntc.Rmin(Sh.R_T_Tablosu[a].SıcaklıkDeğeri) >= Sh.R_T_Tablosu[a].Rmin &&
                //    ntc.Rmin(Sh.R_T_Tablosu[a].SıcaklıkDeğeri) <= Sh.R_T_Tablosu[a].Rmak)
                //{
                //    Liste[1, a].Style.BackColor = Color.YellowGreen;
                //    Liste[1, a].ToolTipText = "NTC : " + ntc.Rmin(Sh.R_T_Tablosu[a].SıcaklıkDeğeri);
                //}
                //else
                //{
                //    double fark = Math.Abs(Sh.R_T_Tablosu[a].Rmin - ntc.Rmin(Sh.R_T_Tablosu[a].SıcaklıkDeğeri));

                //    Liste[1, a].ToolTipText = "Sensör : " + Sh.R_T_Tablosu[a].Rmin + Environment.NewLine +
                //        "NTC    : " + ntc.Rmin(Sh.R_T_Tablosu[a].SıcaklıkDeğeri) + Environment.NewLine +
                //        "Fark   : " + fark + " Ω" + Environment.NewLine +
                //        "% " + (fark / Sh.R_T_Tablosu[a].Rmin * 100.0).ToString();

                //    double yüzde = Sh.R_T_Tablosu[a].Rmin / 100.0 * (double)this.Yüzde.Value;

                //    if (fark > yüzde) Liste[1, a].Style.BackColor = Color.OrangeRed;
                //    else              Liste[1, a].Style.BackColor = Color.Gold;
                //}

                //if (ntc.Rmak(Sh.R_T_Tablosu[a].SıcaklıkDeğeri) <= Sh.R_T_Tablosu[a].Rmak &&
                //    ntc.Rmak(Sh.R_T_Tablosu[a].SıcaklıkDeğeri) >= Sh.R_T_Tablosu[a].Rmin)
                //{
                //    Liste[2, a].Style.BackColor = Color.YellowGreen;
                //    Liste[2, a].ToolTipText = "NTC : " + ntc.Rmak(Sh.R_T_Tablosu[a].SıcaklıkDeğeri);
                //}
                //else
                //{
                //    double fark = Math.Abs(ntc.Rmak(Sh.R_T_Tablosu[a].SıcaklıkDeğeri) - Sh.R_T_Tablosu[a].Rmak);

                //    Liste[2, a].Style.BackColor = Color.OrangeRed;
                //    Liste[2, a].ToolTipText = "Sensör : " + Sh.R_T_Tablosu[a].Rmak + Environment.NewLine +
                //        "NTC    : " + ntc.Rmak(Sh.R_T_Tablosu[a].SıcaklıkDeğeri) + Environment.NewLine +
                //        "Fark   : " + fark + " Ω" + Environment.NewLine +
                //        "% " + (fark / Sh.R_T_Tablosu[a].Rmak * 100.0).ToString();

                //    double yüzde = Sh.R_T_Tablosu[a].Rmin / 100.0 * (double)this.Yüzde.Value;

                //    if (fark > yüzde) Liste[2, a].Style.BackColor = Color.OrangeRed;
                //    else Liste[2, a].Style.BackColor = Color.Gold;
                //}
            }

            Ntc_ler.Enabled = true;
            Ntc_ler.Focus();
        }