【问题标题】:PLC to SQL Server data lossPLC 到 SQL Server 数据丢失
【发布时间】:2015-03-04 10:54:04
【问题描述】:

我负责一个项目,我们需要从 PLC 收集数据(11 个标签)并以 5 毫秒的增量将它们写入 SQL 数据库。

这是第一个需要如此高采样率的项目,而我们通常只收集大约 5 - 10% 的数据(Rockwell Allen-Bradley CompactLogix PLC --> Kepware KEPserver --> VB.NET桌面应用程序-> MS SQL)。我在网上搜索了一些第三方产品(SQL4automation、Kepware DataLogger 插件、RSLinx、Ignition),它们承诺将数据从 PLC 直接无损传输到 DB,但它们都非常昂贵。

有没有人找到类似问题的(最好是免费的)解决方案?我们目前正在重写我们的 PLC 和桌面应用程序,以将数据写入两个单独的数组并交替复制 - 有人用这种方法成功了吗?

如果没有 - 有使用 3rd 方软件的经验吗?

感谢您的帮助, 杜吉

【问题讨论】:

  • 5ms 是一个非常高的速率,考虑到所有的延迟......我真的认为在这种情况下在 PLC 内存上有一个数据缓冲区是常态。缓冲区甚至应该包含超过 2 个 IMO 标签的“快照”。

标签: arrays sql-server database plc data-loss


【解决方案1】:

我已经从标准 PC 和 Siemens PLC 实现了低至 10 毫秒的轮询率,无需任何特殊配置来提高性能(plc 上的缓冲区,...)

看看:Snap7 - Step7 Ethernet Communication Suite

【讨论】:

  • 感谢 P.A.,您提出的解决方案对于 Siemens 控制器来说确实很有前景,并且将来可能会派上用场。但是,我们为此项目选择了 Rockwell (Allen Bradley) PLC。
【解决方案2】:

Wonderware Historian 将为您提供解决方案。驱动程序实际上可以记录数据并触发更改。数据也会自动压缩。然后,您可以使用 Historian 以 5 毫秒的增量查询 SQL 数据库并取回有效的真实数据。然而,Historian 绝不是免费的。

除此之外,我会将所有数据存储在 PLC 中。例如,以 5 毫秒为间隔的一整秒。然后每隔一秒左右将该信息传输到 SQL。

【讨论】:

    猜你喜欢
    • 2018-06-09
    • 2020-10-05
    • 2011-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多