问题标签 [osisoft]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - win32com和IPICalculation二级接口
我正在通过 win32com 开发 OSISoft 的 PISDK 接口。我正在尝试使用IPICalculation 的功能之一,但由于 IPICalculation 是辅助接口,因此我无法使其正常工作。
到目前为止,我所拥有的是:
快速查看受影响的生成文件(在 中%LOCALAPPDATA%\Temp\gen_py
)显示,虽然IPIData2.py
文件声明了IPIData2
类,但文件中没有等效项IPICalculation.py
。
对我来说,这似乎是 win32com 和 makepy 中的一个错误,但我不太确定。
我还通过网络挖掘并找到了另一种方法来做到这一点,这也失败了:
其他旁注:
- 我也试过在类型库中运行 makepy
- 我试过
EnsureDispatch
没有成功 - 可以在 这里找到使用 IPICalculation 接口的 VBA 示例
我正在 Python 3.7.3、64 位、Anaconda Distribution、Windows 10 64 位、PISDK 1.3 类型库、PISDK.dll 64 位版本 1.4.6.494 上尝试此操作。
r - 将 R 连接到 Osisoft Pi Historian
我正在尝试将 R 连接到 Osisoft Pi Historian,但没有成功。有没有人这样做过或者有我可以安装的包?
这个简单的脚本不返回任何连接,我没有使用过 RODBC,所以可能会偏离轨道,感谢您的任何建议。
javascript - 如何使用 Pi Vision Web Api 获取过滤后的数据
我正在尝试过滤使用 Pi 的 web api 时返回的数据。例如,假设我有这个 url 结构,https://machinename/piwebapi/tables/tableId/data,它返回下表数据:
我想通过 4WD 过滤这些数据:是的。
我尝试通读此处的文档并使用许多不同的查询,但我没有看到基于值进行过滤的查询。https://techsupport.osisoft.com/documentation/pi-web-api/help//controllers/table/actions/getdata.html
我也尝试过使用搜索查询,它可以根据值进行过滤,但是当表是 AF 对象时,我无法让 url 结构工作。https://machinename/piwebapi/tables/search?databaseWebId=databaseId
是否可以过滤像这样的 url 结构,https://machinename/piwebapi/tables/tableId/data,以获得特定值?
r - 使用 R 从 Web API (OSISoft PI) 递归读取数据
提前为一个有点模糊的帖子道歉 - 我正在阅读机密数据,无法共享数据本身或访问它的确切方法。
我正在编写一个 R 函数来从给定设备 ( ) 的 PI Web API 中检索两个时间戳 ( start_time
& ) 之间的一些实验数据。在某些情况下,我可能想要检索多达 100,000 行,但每个 API 调用最多返回 1000 行数据。观察的间隔不相等,因此并不总是知道要为给定的and检索多少行。end_time
webid
start_time
end_time
我目前的方法是使用while
循环 - 下面的简化逻辑:
wherePiRead
是返回给定start_time
,end_time
和webid
(设备) 数据的函数,并且t1
是从当前 API 调用中检索到的数据的最长时间。我总是在检索历史数据,1 小时的间隔是可以接受的。循环有效,while
但我想做一个递归函数。
这是我到目前为止所拥有的:
执行时,两次打印到控制台(通过cat
语句)是相同的,并且 R 陷入无限循环。关于我在这里缺少什么的任何想法?
sql-server - SSRS OLE DB 提供程序不在下拉列表中
我设置了一个链接服务器,它使用 OLE DB 提供程序“PIOLEDB”连接到 PI Data Archive。这工作正常。我在 SSRS 中也有一个数据源,它连接到该链接服务器,并且也可以按预期工作。
但是,我试图直接从 SSRS 连接到我的 PI 数据库,而不使用链接服务器。我相信我应该能够通过在“OLE DB”类型的 SSRS 中创建一个数据源并选择“PIOLEDB”的提供者来做到这一点。但是,我的提供者“PIOLEDB”没有出现在下拉选择器中。我错过了什么步骤?另外,如果可能的话,最好省略链接服务器,我是否正确?
php - 获取值时使用 ArcValue 的 pisdk php
当我使用$point->Data()->ArcValue(strtotime("now"),rtAuto,null);
我得到以下错误:
致命错误:未捕获的 com_exception:
参数 0:类型 mismatch.in C:\index3.php:58 堆栈跟踪:#0 C:\index3.php(58): variant->ArcValue(1625754415, 5, NULL) #1 { main}在第 58 行的 C:\index3.php 中抛出
如何使用函数 ArcValue?
excel - 如何在 PI DataLink 中计算平均值
如何计算FIC02
单元格日期中变量最后 4 小时的平均值DATE
?
见下文:
日期 | FIC02 | |
---|---|---|
08 年 1 月 8 日 06:30:00 | ? | |
08-1-08 13:30:00 | ? | |
08-1-08 20:30:00 | ? |
我在 Excel 中使用 PI DataLink 的“计算数据”函数:
start time: 08-jan-08 06:30:00 - (4/24)
end time 08-jan-08 06:30:00
使用的代码如下:
=PIAdvCalcVal("FIC02";"'Planilha1'!$A$6 - (4/24)";Planilha1!$A$6;"average";"time-weighted";0;1;0;"")
出现以下错误信息:时间无效。
vba - 使用 VBA 的 Processbook 中多阶段符号的机会 PI Tag
如何使用 VBA 更改 ProcessBook 中多级符号的 PI Tag。例如,我可以获得实际的 PI Tag,
a = Whitepilotlight2_1.GetTagName(1)
但找不到更改它的命令。