问题标签 [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.

0 投票
1 回答
108 浏览

python - win32com和IPICalculation二级接口

我正在通过 win32com 开发 OSISoft 的 PISDK 接口。我正在尝试使用IPICalculation 的功能之一,但由于 IPICalculation 是辅助接口,因此我无法使其正常工作。

到目前为止,我所拥有的是:

快速查看受影响的生成文件(在 中%LOCALAPPDATA%\Temp\gen_py)显示,虽然IPIData2.py文件声明了IPIData2类,但文件中没有等效项IPICalculation.py

对我来说,这似乎是 win32com 和 makepy 中的一个错误,但我不太确定。

我还通过网络挖掘并找到了另一种方法来做到这一点,这也失败了:

其他旁注:

我正在 Python 3.7.3、64 位、Anaconda Distribution、Windows 10 64 位、PISDK 1.3 类型库、PISDK.dll 64 位版本 1.4.6.494 上尝试此操作。

0 投票
1 回答
296 浏览

r - 将 R 连接到 Osisoft Pi Historian

我正在尝试将 R 连接到 Osisoft Pi Historian,但没有成功。有没有人这样做过或者有我可以安装的包?

这个简单的脚本不返回任何连接,我没有使用过 RODBC,所以可能会偏离轨道,感谢您的任何建议。

0 投票
1 回答
568 浏览

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,以获得特定值?

0 投票
0 回答
265 浏览

r - 使用 R 从 Web API (OSISoft PI) 递归读取数据

提前为一个有点模糊的帖子道歉 - 我正在阅读机密数据,无法共享数据本身或访问它的确切方法。

我正在编写一个 R 函数来从给定设备 ( ) 的 PI Web API 中检索两个时间戳 ( start_time& ) 之间的一些实验数据。在某些情况下,我可能想要检索多达 100,000 行,但每个 API 调用最多返回 1000 行数据。观察的间隔不相等,因此并不总是知道要为给定的and检索多少行。end_timewebidstart_timeend_time

我目前的方法是使用while循环 - 下面的简化逻辑:

wherePiRead是返回给定start_time,end_timewebid(设备) 数据的函数,并且t1是从当前 API 调用中检索到的数据的最长时间。我总是在检索历史数据,1 小时的间隔是可以接受的。循环有效,while但我想做一个递归函数。

这是我到目前为止所拥有的:

执行时,两次打印到控制台(通过cat语句)是相同的,并且 R 陷入无限循环。关于我在这里缺少什么的任何想法?

0 投票
0 回答
47 浏览

sql-server - SSRS OLE DB 提供程序不在下拉列表中

我设置了一个链接服务器,它使用 OLE DB 提供程序“PIOLEDB”连接到 PI Data Archive。这工作正常。我在 SSRS 中也有一个数据源,它连接到该链接服务器,并且也可以按预期工作。

但是,我试图直接从 SSRS 连接到我的 PI 数据库,而不使用链接服务器。我相信我应该能够通过在“OLE DB”类型的 SSRS 中创建一个数据源并选择“PIOLEDB”的提供者来做到这一点。但是,我的提供者“PIOLEDB”没有出现在下拉选择器中。我错过了什么步骤?另外,如果可能的话,最好省略链接服务器,我是否正确?

提供者

链接服务器配置

Visual Studio SSRS OLEDB 提供程序

0 投票
1 回答
38 浏览

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?

0 投票
1 回答
73 浏览

java - 使用wiremock 如何匹配POST 正文中的wiremock 服务器URL?

我将 Wiremock 与调用 OSISoft PI Web API 的客户端一起使用,并且在将 POST 正文与此处定义的请求匹配时遇到问题,因为使用 Wiremock POST 正文将具有包含随机生成的端口的 URL。例如

如何匹配 Resource 元素中的 URL,其中端口号将在测试运行之间更改?显然,我不能像使用响应那样对请求使用模板。

通过查看有关请求匹配的文档,我发现使用equalToJson占位符或matchesJsonPath正则表达式可能是一种选择,但我不清楚确切的语法。还是我缺少一个更简单的选择?

0 投票
0 回答
28 浏览

osisoft - 是否可以在不打开程序的情况下从 Processbook 中提取动态项目状态报告?

编辑[关闭]

我需要从多个文件制作多个状态报告。为此,我想制作一个脚本,在不打开实际程序 ProcessBook 的情况下从状态报告创建 CSV。甚至有可能还是我必须编写一个“模仿我的点击”脚本?

通过鼠标点击,我必须单击“保存到文件”来创建 CSV。

环境是带有 .pi 文件的 OSISoft PI ProcessBook

状态报告可以保存为 CSV 文件

0 投票
1 回答
139 浏览

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;"")

出现以下错误信息:时间无效。

0 投票
1 回答
38 浏览

vba - 使用 VBA 的 Processbook 中多阶段符号的机会 PI Tag

如何使用 VBA 更改 ProcessBook 中多级符号的 PI Tag。例如,我可以获得实际的 PI Tag, a = Whitepilotlight2_1.GetTagName(1)但找不到更改它的命令。