如何实现数据历史记录?

时间:2011-10-25 02:23:38

标签: opc opc-ua

一位朋友问我是否可以实施数据历史记录。我正在忙着做研究,谷歌搜索,阅读UPC Unified Architecture - 但要通过它会有很多,所以我会问这里有没有人走过这条路(同时还在继续我的研究)。

大约20多年的开发人员(或两人)需要多少人工月才能获得至少一个可证明的工作原型 - 以及完成多长时间?

哪种编程语言? C ++好吗,还是什么?

我可以使用哪些资源? (我以为我看到了一个Open OPC框架,但再也找不到了)。我可以依据的任何FOSS,库或免费代码?也许是一个sourceForge项目?

如何最好地测试?

还有其他提示吗?

3 个答案:

答案 0 :(得分:3)

在我的公司,我们主要使用由OSISoft和GE Profecy Historian开发的Historian品牌。 Ge Profecy now offers a 25 tag version of their latest Historian 4.5。它的工作方式是你有一个从数据收集器pc收集的历史服务器。根据您与之通信的设备,您需要使用不同的OPC驱动程序。

Matrikon和Kepware是该领域的2个参考文献。在Matrikon,您几乎可以找到与OPC相关的任何内容。我们大多使用Kepware,因为我们觉得他们的解决方案从长远来看更稳定。

根据您对PLC的了解以及您想要获得的点数。实施历史学家可能需要一天到一周的时间。如果您向我们提供更多详细信息,我将非常乐意为您提供帮助。

答案 1 :(得分:1)

如果您在完成项目时可以编写项目,那将会很有趣。

对于OPC库,您的数据非常有限,但OPC Connect有一个很好的UA development kits列表,否则您需要成为OPC基金会的公司成员。

答案 2 :(得分:1)

这是一个古老的话题,但我对这个主题很感兴趣。

OPC有一个Python库:openopc at SourceForge.net(我使用专有的OPC客户端,因为它是由我的自动化供应商Yokogawa提供的。)

对于短期数据抓取,您可以使用分隔文本文件,但对于历史记录,您应该使用数据库。我使用SQLite来获得速度,大小和可移植性。其他DB解决方案具有优势。当然,如果你每秒收集400点,那么随着时间的推移,你的数据库增长得非常快,因此高效的数据存储非常重要。

使用的语言受您选择的OPC包的影响。对于Python来说,OpenOPC for Python是正确的。我已经使用了Graybox's免费的OPC客户端和.Net。我在工作中使用的OCX最容易与VB6一起使用。不确定其他人。

构建历史数据库所需的时间完全取决于应用程序需要的完整程度。您可以在几个小时内组建一个数据采集器。一个长期历史学家,具有查看数据,添加和删除点,维护数据完整性,处理不良数据和优雅中断通信的接口 - 所有这些都需要数天而不是数小时。

相关问题