当前位置:  开发笔记 > 编程语言 > 正文

如何从Proficy Historian查询原始数据?

如何解决《如何从ProficyHistorian查询原始数据?》经验,为你挑选了1个好方法。

如何从Proficy Historian/iHistorian检索原始时间序列数据?

理想情况下,我会要求两个日期之间的特定标签的数据.



1> Brian Gideon..:

您可以尝试几种不同的采样模式.

生的

内插

实验室

趋势

计算

使用以下所有API可以使用这些模式.

用户API(ihuapi.dll)

SDK(ihsdk.dll)

OLEDB(iholedb.dll)

客户端访问API(Proficy.Historian.ClientAccess.API)

其中趋势采样模式可能是您想要的,因为它专门用于制图/趋势.虽然,实验室和插值也可能有用.

有关每种采样模式的更多信息,请阅读电子书.在我的机器上它存储为C:\Program Files\GE Fanuc\Proficy Historian\Docs\iHistorian.chm,我安装了3.5版本.请特别注意以下部分.

使用Historian OLE DB提供程序

高级主题| 恢复

以下是如何构建OLEDB以进行趋势采样.

set 
    SamplingMode = 'Trend',
    StartTime = '2010-07-01 00:00:00',
    EndTime = '2010-07-02 00:00:00',
    IntervalMilliseconds = 1h
select 
    timestamp, 
    value, 
    quality 
from 
    ihRawData 
where 
    tagname = 'YOUR_TAG'

使用User API和SDK显示等效方法很复杂(使用User API更是如此),因为它们需要在代码中进行大量管道才能进行设置.Client Access API更新,并在后台使用WCF.

顺便说一句,OLEDB方法有一些限制.

尽管文档说我从来没有能够获得本机查询参数.如果您想将它与SQL Server Reporting Services一起使用,那就是一个showstopper.

您无法将样本写入存档或以任何方式更改Historian配置,包括添加/更改标记,编写消息等.

在某些情况下,它可能会有点慢.

它没有规定将多个标记名交叉到列中,然后传送样本,以便为每个时间戳和标记组合存在一个值.趋势采样模式将您带到中途,但仍然没有交叉表,并且实际上并未加载原始样本.然后,用户API和SDK也无法执行此操作.

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有