0

我是 Stackoverflow 的新手。

我正在询问有关使用 Zedgraph 和 AdvancedHMI 的任何建议。

目前,我开发了 ac# 应用程序,该应用程序通过以太网从 PLC 收集“实时”数据。我使用计时器每 10 毫秒收集一次数据,并将这些数据保存到一个列表中。测试结束后,我将数据传递给 MySQL db。

但有时测试太快,所以我无法获得足够的分数。

所以我在征求建议。哪种解决方案更适合“实时”图形、线程或计时器?

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

  1. 初始化 Zedgraph 对象
  2. 启动计时器
  3. 在计时器内,我向 PLC 询问“标签、X 轴(时间 [ms] 或距离)等)
  4. PLC 发送“validData”标志以绘制或跳过该点
  5. 读取 X 和 Y 点
  6. 更新图表

我很确定我的方法很糟糕而且效率很低,但我目前没有更好的解决方案。

提前致谢

4

1 回答 1

2

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

至于图表,如果您将项目设置为面向 .NET 4.0,则有一个内置的图表组件。

于 2013-02-22T13:17:58.880 回答