对OSYsoft PI的数据库访问我的潜在客户问我一个有关从JMP访问OSYsoft PI的数据库的问题。
他们最近在工厂安装了PI系统,并开始讨论如何利用数据。 他们想知道访问OSYsoft PI的最佳实践。
我看了下面的讨论,并了解JMP可以使用ODBC驱动程序进行访问。
https://community.jmp.com/t5/JMP-SE-Discussions/Can-JMP-Access-data-from-Pi/mp/43392
但是,我看到了以下缺陷。 似乎在访问PI时有一些问题。
https://sirius.na.sas.com/Sirius/GSTS/ShowTrack.aspx?trknum=7612389374
有人知道访问PI的最佳方法吗?
我找到了以下插件,该插件连接到OLEDB并将其转换为SQLite数据库,以与查询生成器一起使用。
您认为这是更好的方法吗?
https://community.jmp.com/t5/JMP-Add-Ins/OLE-Database-Tools-Addin/ta-p/23702
另外,有人对推荐的系统架构有什么了解吗? 如果有的话,我想分享客户。
回复:对OSYsoft PI的数据库访问
从JMP连接OSI PI的方法有多种。
如您所述,JMP接口选项可以包括使用ODBC驱动程序,HTTP请求或通过运行程序和其他。
对客户而言,最佳选择取决于客户所许可的OSI PI产品及其在JSL中的舒适度。
我将在下面探讨一些方法(我认为)每种方法的利弊。
- 该外接程序使用OLEDB接口,并作为使用运行程序和Python的示例。 借此,OLEDB驱动程序连接到历史记录器,以创建数据库中包含的表的快照。 然后,使用JMP QB对快照数据库进行交互式查询。 一旦定义了足够的查询,就可以直接向Historian DB提交选项。 但是,我不建议使用此方法,因为很难正确配置/安装Python,因为每个客户都有不同的安全策略,并且安装了最低版本的python,或者未安装python,并且使用了不同的库和/或版本。 该插件是在JMP软件中提供JMP-Python集成之前编写的。
- 也可以使用JDBC驱动程序运行程序。 我没有尝试实现这样的解决方案,但从理论上讲它会起作用。 使用此方法的优点是该解决方案将是客户可以完全自定义的解决方案,并且可以与JMP加载项一起部署。 这种方法的缺点是,需要让客户使用JMP JSL来提供平稳,连续的解决方案,而科学家或工程师可以在没有任何JSL脚本的情况下使用它们。
- OSI PI ODBC驱动程序运行良好,但该驱动程序可能会出现性能问题,即,提取大量数据时速度较慢。 这是驱动程序而不是JMP的问题。
- HTTP请求非常健壮,这是我的建议。 但是HTTP请求需要JSL知识来实现。 这可能是积极的,因为解决方案可以完全由客户针对其特定工作流程进行定制。 这种方法的缺点是客户确实需要具有JMP JSL脚本编写技能,才能使解决方案对工程师/科学家而言是无缝的。
- 另一个选择是从SQL Server到Historian DB 。由于该解决方案使用自定义查询将数据提取到JMP中,因此该方法将无法完全利用JMP Query Builder的所有方面。 这种方法的好处是,如果客户已经知道他们想要执行的SQL查询,则可以以最小的努力重用它们以将其数据导入JMP。
我无法完全评论Proficy Historian架构,因为它们与客户以及与他们的关系以及与他人或基于许可产品的选择如何在公司基础架构中建立关系更加密切。
我希望这有帮助。 如有其他问题,请随时与我联系。
干杯,
斯坦
回复:对OSYsoft PI的数据库访问斯坦,非常感谢您的评论。这些信息非常有帮助。