问题标签 [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.
c++ - c++ 获取自 01/01/0001 00:00:00 以来的毫秒数
我需要一个特殊格式的时间戳来进行 API 调用:
日期转换为自 0001 年 1 月 1 日午夜 12:00:00 起经过的 UTC 毫秒数。
我的第一个假设是使用:
但当然输出是 UNIX 纪元的时间间隔
Thu Jan 1 00:00:00 1970
所以对于 anow = "Wed Dec 12 13:30:00 2018"
它返回1544617800000
ms。
如何获取自 0001 年 1 月 1 日午夜 12:00:00 以来经过的毫秒数?
上下文 OSISoft API
用于指定日期范围的 OSISoft API 文档很奇怪
数值范围查询
前面的示例是针对字符串字段的范围查询。数值 > 也可以使用范围查询来搜索。
唯一被索引为数字字段的字段是各个 PI 标记点属性的 CreationDate 和 ChangeDate 字段。要为这些字段编制索引 > 将它们添加到 PI 标记点属性列表。可以在“设置”页面上查看或修改此配置。
这些日期时间值通过转换索引为数值:日期转换为自 0001 年 1 月 1 日午夜 12:00:00 起经过的 UTC 毫秒数。
在以下示例中,查询是对上次更改日期等于或大于 2 月 26 日 22:16:50.000(这是世界时)的请求。这个DateTime,经过上述转换后,将表示为数值:63655280210000。因此提交的查询为:
https://MyServer/piwebapi/search/query?q=changedate:[63655280210000 TO *]
从这个文档中,我问了这个关于如何获取自 0001 年 1 月 1 日午夜 12:00:00 以来经过的毫秒数的问题。
我还将问题链接到PISquare
excel - 设置 PI DataLink 函数返回等于另一个变量时出现对象不匹配
我正在尝试根据对 PIDataLink 当前值函数提供的特定值的更改将一系列有序值打印到当前工作表。我已将产生不匹配错误的区域加粗,意识到我的其余代码将共享此错误。(如果 MFA = "culstop" 则) *为了节省空间,缺少一些重复代码。
python - 如何使用 Python3 连接到 PI Webservice
我正在尝试连接到 OSISoft 的 PI Webservice,官方文档很糟糕,目前我以https://github.com/SwatiAcharjee/PI-Web-API-Client-Python/blob/master为例/setup.py。
我安装了:
但是当尝试连接到 WS 时,通过:
给我一个错误:
(假设 WS 在身份验证过程中使用 Kerberos)
关于如何连接到 PI Webservice 的一些想法或示例,使用带有 GNU Linux 的机器上的 Python??。
问候
excel - 如何在 Variant/double 数组值上使用 If/then 条件?
我正在尝试查看我的函数生成的数组的每个值,如果值为 <> 0,则将其放在一个单元格中,但在那个阶段我总是会遇到类型不匹配错误。代码将在写入时在单元格内放置一个值,但我想从集合中清除 0 值并替换为“-”。
Vals0(1 到 30)
php - PHP 未捕获的 com_exception:参数 0:类型不匹配
我有一个GetPoints
来自 COM 对象的函数
当我调用函数时:
我得到一个com_exception
:
未捕获的 com_exception:参数 0:类型不匹配
我能做些什么来解决这个错误?
excel - 计划任务未加载 PI DataLink 加载项
我有一个带有一些 VBA 代码的 Excel 工作簿,它使用 OSIsoft DataLink 插件的 PISampDat 函数来提取多列数据。工作簿由批处理文件运行,而批处理文件又由 Windows 计划任务触发。如果我手动运行工作簿或批处理文件,它会按预期工作,但如果我使用计划任务,则会收到以下错误:
1004: 无法运行宏“PISampDat”。该工作簿中的宏可能不可用,或者所有宏都可能被禁用。
“PISampDat”不是宏,而是插件中的函数名称。代码如下:
似乎当它由计划任务运行时,Excel 没有加载 DataLink 加载项,因此无法识别函数名称。
更多详细信息:
- 以管理员用户身份运行的计划任务,对涉及的所有文件和文件夹具有权限
- 选择“无论用户是否登录都运行”选项
- 选择了“以最高权限运行”选项
- 为 Windows Server 2012 R2 配置
- “程序/脚本”选项仅包含批处理文件名
- “开始于(可选)”选项仅包含批处理文件路径
知道如何解决这个问题吗?
excel - 如何在 VBA 中仅使用后期绑定来向下转换对象?
我正在编写一个 VBA 应用程序,对于一个特定的功能,我只使用后期绑定,因为该应用程序的大多数用户都没有安装参考(也不会使用这个特定的功能)。
我正在使用的对象的行为如下:
该GetServer
方法返回一个PIServer
对象,但存在一个更具体的接口,实现PIServer
:
我想将PIServer
对象向下转换为IGetPoints2
对象。
什么都不做,我得到一个 PIServer 对象:
在调试器中查看PiServer
证实了这一点。
使用强类型变量应该可以,但我不想引用此处使用的任何类型。
如何仅使用后期绑定来向下转换此对象?
opc-ua - 我应该使用什么驱动程序将 Osisoft Pi 与我的 C# 客户端连接起来
我有一个使用 OPC UA 进行通信的 C# 应用程序。现在我需要与一个 Osisoft Pi 系统进行通信,据我了解,它也是一个 OPC UA 客户端。不涉及PLC!
我的客户端和 Osisoft Pi 在局域网中的不同计算机上运行。
OPC UA 服务器 (KepServerEx 6) 需要配置驱动程序。
什么驱动程序适合这种情况?
excel - 有没有办法使用 VBA 自动填充 Pi DataLink 数据?
我正在从 Osisoft Pi Historian 的服务器中提取每小时数据,以获取数千个不同的数据点。有问题的采样函数是 PISampDat
当我尝试将一行复制到下一行以节省时间和精力时,我收到一条消息“调整大小以显示所有值”。但是当我告诉程序重新计算时,这条消息永远不会更新为实际值。
我有两个选择:A)手动输入每一行的公式参数,这是一项艰巨而痛苦的任务,或者 B)你们中的一个人可以仁慈地告诉我如何使用 VBA 自动填充所有这些行。
单元格 H280 中的公式如下: =PISampDat(Sheet1!$T$3,"2019-05-01","2019-06-01","1h",2,Sheet3!$B$280)
这将在 ABX280 之前的所有单元格中复制(5 月份每个小时的值,包括 2019 年 6 月 1 日午夜。)
我不知道从哪里开始使用 VBA。
我曾尝试在 280 之前去掉 $,但随后我被提示“不允许更改数组的一部分”。
尝试将公式复制到其他行会导致消息“调整大小以显示所有值”,但调整大小和重新计算不会执行任何操作。要么,要么我只是从其他行复制值,而公式实际上并没有被其他数据项调用。
osisoft - 如何在 PI-Web API 中通过属性名称和属性值查找元素
有没有办法通过 PI-Web API 中的属性名称和属性值来查找元素。
输入:
属性名 = SAP_ID
属性值 = <>
预期输出:
包含与此 attributename='SAP_ID' 和 attributevalue=<> 匹配的属性的元素
我正在寻求有关如何使用 PI-WEB API 完成此操作的帮助。
笔记:
我尝试使用 PI-Web API Crawler 搜索(但我的技术主管不鼓励这样做,因为它需要启用额外的基础设施/服务)。
我试图说服我的技术主管使用 ExtendedProperties,但 PI-WEB API 公开了元素扩展属性,但没有任何基于它的搜索选项。
版本信息:
产品标题:“PI Web API 2018”
产品版本:“1.11.0.640”