[西门子] 测试c#的实时曲线

[复制链接]
查看234 | 回复0 | 2024-6-9 19:17:42 | 显示全部楼层 |阅读模式
>  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轴),有高手可以分享一下如何做到?





免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则