C# Real Time Line Chart

Katılım
20 Eyl 2006
Mesajlar
440
Puanları
1
Yaş
40
Arkadaşlar merhaba,

Fabrikamızda üretim hatlarında dolum makinalarının anlık olarak dolum hızlarını gösteren bir tane real time Line chart yapmak istiyorum. C# de çok iyi değilim. İnternetten yabancı kaynaklar dahil bir çok kaynağı araştırdım ancak ben bir şeyin mantığını anlamazsam kopyalamada yapamıyorum. Rica etsem C# de Real Time Line Chart nasıl yapılır bir örnekle anlatırmısınız.

Saygılarımla.
 
Merhabalar, aslında C#'da real time chart'ı "thread" yapısını kullanarak yapabilirsiniz. Daha basite indirgemek ve daha temel seviye biliyorsanız "Timer" kullanarak da yapabilirsiniz. Belirli bir interval değeri belirler "getChart()" diye bir method yazarsınız ve sürekli belirlediğiniz interval aralığında o methodu çağırır değerleri ekrana yazar. Thread yapısı daha sağlıklı ve doğru olandır tabii ki. Aslında araştırırsanız gerekli bilgiyi elde edebilirsiniz. Gayet basit örneklendirmeleri mevcut..
 
Berat bey merhaba. Bayramınız kutlu olsun. Cevabınız için teşekkür ederim. Elinizde threat ile yapılmış basit bir örnek varsa atabilir misiniz. Söylediğim gibi c# de çok iyi değilim. Özlerin mantığını anlayarak bir şeyler yapmaya çalışıyorum. Yardımcı olursanız sevinirim. Teşekkürler.
 
Berat bey merhaba. Bayramınız kutlu olsun. Cevabınız için teşekkür ederim. Elinizde threat ile yapılmış basit bir örnek varsa atabilir misiniz. Söylediğim gibi c# de çok iyi değilim. Özlerin mantığını anlayarak bir şeyler yapmaya çalışıyorum. Yardımcı olursanız sevinirim. Teşekkürler.
Merhabalar, sizinde bayramınız kutlu olsun efendim. Thread yapısı ile ilgili Youtube’da gerekli kaynakları çok rahat bulabilir, Microsoft sitesinde link üzerinden araştırma yapabilirsiniz.
https://docs.microsoft.com/tr-tr/dotnet/api/system.threading.thread?view=netcore-3.1
 
Merhaba, Programı aşağıdaki gibi yaptım. Ancak tek sorun Grafikte X ekseni zamanı hep sıfırda kalıyor. Hiçbir şekilde değişmiyor. Bende anlık zamanı göstermek istiyorum. bunu nasıl yapabilirim. Yardımlarınızı rica ederim.

using System.Threading.Tasks;
using System.Windows.Forms;
using System.Threading;
using System.Windows.Forms.DataVisualization.Charting;



namespace Ders1
{
public partial class frm1 : Form
{
int[] pet1Array = new int[60];
int thick;
public int pet1PerfCounter { get; set; }

public frm1()
{

InitializeComponent();


}

System.Timers.Timer Charttimer = new System.Timers.Timer();

private void Form1_Load(object sender, EventArgs e)
{
Thread th = new Thread(new ThreadStart(this.pet1ChartValues));
th.IsBackground = true;
this.pet1Chart.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Minutes;
this.pet1Chart.Series[0].XValueType = ChartValueType.DateTime;
this.pet1Chart.ChartAreas[0].AxisX.LabelStyle.Format = "HH:mm:ss";
this.pet1Chart.Series[0].IsXValueIndexed = true;
th.Start();
}

private void btnBasla_Click(object sender, EventArgs e)
{


}
private void pet1ChartValues()
{

while (true)
{
pet1Array[pet1Array.Length - 1] = this.pet1PerfCounter;
Array.Copy(pet1Array, 1, pet1Array, 0, pet1Array.Length - 1);

if (pet1Chart.IsHandleCreated)
{
this.Invoke((MethodInvoker)delegate { UpdatePet1Chart(); });
this.Invoke((MethodInvoker)delegate { UpdatePet1ChartValue(); });

}
else
{
//.....
}
Thread.Sleep(1000);
}


}
private void UpdatePet1Chart()
{
pet1Chart.Series["PET1"].Points.Clear();

for (int i = 0; i < pet1Array.Length-1; i++)
{
pet1Chart.Series["PET1"].Points.AddY(pet1Array);
}
}

private void UpdatePet1ChartValue()
{
double tick;

pet1Chart.Series["PET1"].Points.Clear();
for (int i = 0; i < pet1Array.Length - 1; i++)
{
pet1Chart.Series["PET1"].Points.AddXY(thick++,pet1Array);
}

this.Update();

}
private void btnUpdateData_Click(object sender, EventArgs e)
{
this.pet1PerfCounter = Int32.Parse(txtPet1Performance.Text);
}

private void btnClose_Click(object sender, EventArgs e)
{
this.Close();
}

private void pet1Chart_Click(object sender, EventArgs e)
{

}

private void timer1_Tick(object sender, EventArgs e)
{

}
}
}
 
Berat bey Merhaba,

Program ektedir. bilginize.
 

Ekli dosyalar

  • Ders1.rar
    171.8 KB · Görüntüleme: 9
Berat bey Merhaba programın son hali ektedir. bilginize.
 

Ekli dosyalar

  • Ders1.rar
    468.5 KB · Görüntüleme: 8

Forum istatistikleri

Konular
129,697
Mesajlar
929,063
Kullanıcılar
452,401
Son üye
begum_ovuc

Yeni konular

Geri
Üst