對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的數據庫訪問斯坦,非常感謝您的評論。這些信息非常有幫助。