【问题标题】:Suggestions using Zedgraph and AdvancedHMI Realtime application [closed]使用 Zedgraph 和 AdvancedHMI Realtime 应用程序的建议 [关闭]
【发布时间】:2013-02-22 05:49:44
【问题描述】:

我是 Stackoverflow 的新手。

我正在询问有关将 Zedgraph 与 AdvancedHMI 一起使用的任何建议。

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

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

所以我在征求建议。哪个解决方案更适合“实时”绘图,线程还是计时器?

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

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

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

提前致谢

【问题讨论】:

    标签: plot real-time zedgraph plc


    【解决方案1】:

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

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

    【讨论】:

    • 把数据存入PLC,测试完再读出,绝对是一条路。
    • 您好,感谢您的回复。我知道 Windows 不是 RTOS,这就是我在引号中写“实时”的原因。事实上,客户想要使用 Windows PC。我喜欢您关于将测试数据存储在 PLC 中并稍后在绘图应用程序中显示的建议。我会询问控制部门的人是否愿意更改 PLC 中的程序以添加此功能。非常感谢你的建议。它真的很感激。
    猜你喜欢
    • 2011-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-19
    • 2012-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多