> c#作为上位机开发,必然要设计实时曲线,曲线是将采集的数据通过线条展现出来,可以看到数据的变化趋势。
测试界面如下:
这里我们需要用到一个定时器,定义为:timer_tread,设计三个按钮
分别是开始绘制(tread_Start)、停止绘制(tread_stop)、清空绘制(tread_reset)
定时器内编写代码如下:
private void timer_tread_Tick(object sender, EventArgs e)//实时曲线
{
// 设置曲线的样式
Series series = chart1.Series[0];
// 画样条曲线(Spline)
series.ChartType = SeriesChartType.Spline;
// 线宽2个像素
series.BorderWidth = 2;
// 线的颜色:红色
series.Color = System.Drawing.Color.Red;
// 图示上的文字
series.LegendText = "实时曲线";
// 数据获取--来自上一篇文章的一号压力数据
关于C#与S7-200smart之间通信连续读数的测试
double yValue = Convert.ToDouble(PT1.Text);
string xValue = DateTime.Now.ToLongTimeString().ToString();
// 添加数据点到Series
series.Points.AddXY(xValue, yValue);
}
三个按钮代码如下:
private void tread_Start_Click(object sender, EventArgs e)//开始绘制
{
timer_tread.Start();
}
private void tread_stop_Click(object sender, EventArgs e)//停止绘制
{
timer_tread.Stop();
}
private void tread_reset_Click(object sender, EventArgs e)//清空绘制
{
this.chart1.Series[0].Points.Clear();
}
后记:
本简单测试,实际使用中,应该鼠标跟随获取当前点位的数据(X轴和Y轴),有高手可以分享一下如何做到?
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |