使用Zedgraph和AdvancedHMI实时应用程序的建议

时间:2013-02-22 05:49:44

标签: plot real-time zedgraph plc

我是Stackoverflow的新手。

我要求提供有关使用Zedgraph和AdvancedHMI的任何建议。

目前我开发了一个c#应用程序,可以实时收集#34;来自PLC的数据通过以太网。我每隔10毫秒使用一个计时器来收集数据,并将这些数据保存到列表中。测试结束后,我将数据传递给MySQL db。

但有时测试速度很快,所以我无法收集足够的分数。

所以我要求提出建议。哪种解决方案更适合"实时"图形,线程或计时器?

主要问题是因为每个测试都有不同的参数,必须动态更新。这些参数来自PLC。所以我正在做的步骤如下:

  1. 初始化Zedgraph对象
  2. 初始化计时器
  3. 在计时器内部,我向PLC询问"标签,X轴(时间[ms]或距离)等)
  4. PLC发送" validData"标志以绘制或跳过该点
  5. 读取X和Y点
  6. 更新图表
  7. 我很确定我的方法非常糟糕且非常低效,但我目前还没有更好的解决方案。

    提前致谢

1 个答案:

答案 0 :(得分:2)

在Windows上执行计时器永远不会得到实时/一致的结果。操作系统不是实时操作系统。如果您需要在10ms内持续采样,则需要在PLC中使用定时器并将数据存储在PLC中。在测试结束时,您将设置一个位,HMI将监视该位。一旦HMI看到位正确,HMI就会读取PLC的所有样本。

对于图形,如果将项目设置为目标.NET 4.0,则会有内置的图表组件。