【问题标题】:Identify list of tables which are updated, when Tag values are modified or inserted into Wonderware Historian server当标签值被修改或插入 Wonderware Historian 服务器时,识别更新的表列表
【发布时间】:2026-01-27 04:00:01
【问题描述】:

我想问以下问题:

  1. 标识表的列表,当标签值被更新时 修改或新标签被插入到系统中。

  2. 我应该运行什么 SQL 查询来检索更新的标签列表,包括 它们在任何时间点的最新值、旧值、更新时间等?

请告诉我。

【问题讨论】:

  • 这一切都取决于您的表结构。你有时间戳列,身份属性列吗?行版本控制?一些样本数据和预期输出怎么样?

标签: sql-server wonderware historian


【解决方案1】:

虽然与 SQL Server 紧密集成,但 Wonderware Historian 实际上并未将实时标签数据存储在 SQL Server 中。相反,所有标签数据都存储在专有文件系统中。数据通过专有的 OLE DB 提供程序在 SQL Server 中作为视图公开。 以下 pdf 将更好地理解 WW Historian 架构:

http://iom.invensys.com/EN/SoftwareGCC14Presentations/Wonderware/WW%20INFO-07%20Valuable%20Information%20From%20WSP%202014%20R2.pdf

以下 pdf 将提供有关 OLE-DB 提供程序支持的特性和功能的更多详细信息,包括查询选项、版本控制等:

https://www.logic-control.com/datasheets/1/Historian/HistorianConcepts.pdf 关于检索每个标签的最新值,您可以查询“实时”表/视图。

【讨论】:

  • 感谢您的回复。我想 SQLdependency 哪个
  • 感谢您的回复。我已阅读文档并查看实时视图。同样,我查看了诸如 Modlogtable 和 Modlogcolumn 之类的表,但我不确定它们是否满足我的目的,如下所述,并且如文档中所述,它们会降低数据库服务器的性能。我的目标是创建 SQLdependency,它可以帮助我找到在特定时间修改了值的标签。这种依赖只适用于表而不适用于视图。那么是否有任何表格可以告诉我何时更新标签或何时收到数据?
  • @MuhammadHammad 您是要查看配置更改(添加或删除新标签)还是要订阅现有标签值的更改?
  • 我正在寻找两者的解决方案,特别是现有标签值的更改
  • @MuhammadHammad - 不幸的是,我不相信你想要的东西可以通过 WW Historian OLE DB 提供程序开箱即用。我怀疑您最好的选择是在您的应用程序中实现一个惰性线程,该线程定期检查运行时表中每个标记的时间戳,并将其与您在内存中保存的缓存副本进行比较,以检测自上次扫描以来是否发生了更改。请注意,尽管快速查询多个标签会对 Historian 和您的应用程序产生服务器性能影响。
最近更新 更多