本机连接opc server有部分数据不刷新_实时数据库PI在企业MES系统中的应用
實時數據庫是計算機控制系統和上層生產管理系統數據存儲和展示的核心。結合河南天冠燃料乙醇有限公司MES系統應用實例,介紹了實時數據庫PI的安裝部署,建立信號量集和數據導入,以及客戶端接口配置,數據庫測試等相關主題。通過基于PI實時數據開發的實際應用軟件,介紹了在Microsoft Visual Stdio 2005環境下用C#及PI-SDK進行的接口程序開發。實踐表明,基于PI的企業生產管理系統極大地提高了企業生產管理層的信息化水平,收到了良好的間接經濟效益。
隨著輕工、石化等連續過程生產企業制造執行系統(MES系統)模型的日趨成熟,其系統的核心實時數據庫的選型及應用開發愈來愈引起人們的重視,它與關系數據庫一起構成了工廠的生產管理信息集成環境。作為管理和控制之間的橋梁,實時數據庫不僅承擔著對生產過程中實時數據的采集與存儲的任務,而且還直接支持控制層和過程監控層的許多應用。目前國內外有不少實時數據庫產品可用于工業實現,美國的OSIsoft公司的PI數據庫無疑是其中的佼佼者,由于其采用先進的Swinging Door(旋轉門)專利壓縮技術算法,使數據壓縮率大大提高,且體系架構先進,運行穩定,在國內電力、石化等行業占有很大的市場份額。天冠燃料乙醇有限公司MES系統中使用PI實時數據庫,連接美國愛默生Deltav,西門子PLC300/400系列,國產新華DCS等十多套自動控制系統,兩萬多個測點。本文結合應用實例對PI的部署、配置及二次軟件開發進行了闡述。
1 PI的部署與配置
1.1 安裝與部署
PI數據庫是基于Client/Sel-ver(客戶端/服務器)架構的軟件,其安裝包分為服務器軟件包和客戶端軟件包且適用于WINDOWS,UINX等多種平臺;服務器端可利用磁盤陣列和系統平臺的群集管理器配置成雙機冗余模式。本文僅就WINDOWS平臺做以介紹。
PI的安裝較簡單,在安裝過程中會生成\PI\dat目錄,該目錄下有三個文件piarch.001,piarch.002,piarch.003存放實時數據的歸檔文件(data archive file),文件默認大小是32Mb。歸檔文件的大小決定了數據庫存儲歷史數據時間的長短,也和存入數據庫的實時數據點數相關,應綜合以上兩點確定歸檔文件的大小。在安裝過程結尾還會提示是否安裝PI-SDK軟件開發包,應選擇安裝。在工程實踐中只要各選項選擇得當,PI的安裝較為簡單,但若安裝中出現錯誤,卸載較為麻煩,甚至需要在注冊表里手動卸載某些選項,稍有遺漏,重裝往往不成功。在這種情況下最好更新或恢復操作系統平臺后再進行安裝。
服務器端安裝成功后,后臺進程即啟動,PIServer開始運行,在系統任務管理器里可以看到pinetmgr.exe、piarchss.exe等相關進程。有一個方法可測試PI Server是否已經正常運行。即在命令行窗口進入PI的安裝目錄\pi\adm,執行pisnap.bat數據快照查看批處理命令,若提示“Attempting eonnection to localhost 5450;Enter tag name:”輸入“sinusoid”(內部測試點),若輸出測點實時值,則說明Server已經正常運行了。
1.2 導入數據及相關配置
在服務器端安裝成功后就要進行導入測點(Tab)的工作,測點(Tab)即位于工廠控制層DCS、PLC的實時數據,在PI中要有一個Tag和過程控制層的測點相對應,才能通過客戶端接口從控制網絡中取到實時值存入數據庫。
向數據庫添加Tag,可以在命令行方式下進行,這主要用于初期數據庫測試階段。大批量導入數據可在前端利用Excel進行。這需要安裝PI—SMT客戶端組件,然后在Excel“工具”菜單下選“加載宏”,加載安裝路徑下\pipc\smt里的PlTagCnf.xla宏,此時Excel會多出一個“PI-SMT”菜單,該菜單下的各命令都是對PI進行相關操作的工具。其中最常用的就是“Import Tags”和“Export Tags”命令。利用“ImportTags”可以將數據庫里的測點Tag按篩選條件導入進Excel,表的第一行即是數據的各屬性字段。利用“Outport Tags”可以將Excel表中的數據批量導入PI數據庫內。
需要指出的是,數據庫安裝成功后,其內部已預建了十個不同數據類型的測試點,一般情況下不要刪除這些測試點,否則可能引起運行故障。另外對于控制層的信號,如開關狀態、多狀態閥位(開、關、半開)等離散型值,用戶可以建立信號量集與之對應,具體步驟為命令行窗口下進入安裝路徑\pi\adm,輸入
Piconfig //配置命令 @table pids //進入離散量狀態(Digital states)表,表名為pids @mode cr //進入創建模式 @istr set,state,…//確定輸入的結構,set對應信號狀態集的名稱,state對應狀態字符串 set1,off,on //新建一個信號量集set1,內有兩個狀態off和on @ends
完成上述操作后,就可以把離散性質的過程值賦予該信號狀態集。
數據庫內每條Tag記錄有多個字段屬性。其中的Tag定義了測點在PI里的測點名,而instrument.tag字段必須與控制層opeserver傳輸的測點名稱完全一致,否則就會取不到數據。
1.3 配置接口
接口配置屬于PI客戶端的范疇,PI的接口有多種類型,最常用的是開放型工業標準OPC接口。采用這項標準后,硬件開發商為自己的硬件產品開發符合標準的OPC Server程序,如愛默生Dehav系統的OPCServer是OPC.Deltav,西門子WINCC系統的OPC Server是OPCServer.WINCC。而軟件開發者不用再關心硬件驅動方面的技術問題,只要按標準開發程序就可完成與硬件的連接,這樣不但提高了系統的開放性,也提高了軟件開發的效率,使軟件開發人員可以有更多的精力投人到其核心產品的開發上。
接口程序最好安裝在網關機上,網關機起到將生產管理網絡與控制網絡隔離的作用,接口程序從控制網絡采集實時數據然后將其轉發至實時數據庫服務器。系統網絡結構如圖1所示。
圖1 PI系統網絡結構圖
安裝完PI opcint組件及PI API后,在默認路徑下會生成接口程序文件夾\pipc\interface,操作系統管理工具里還會生成opcint服務,該服務即是后臺運行的接口程序。配置接口需對\pipe\interface\opcint下opcint.bat文件進行編輯。主要選項如下:
●/ps=該項確定點源,與PI數據庫內PIPOINT表的pointsource字段相對應,假設某一系統有多個接口.其中一個ps=0,則數據庫內pointsouree字段為o的所有測點的實時值都從該接口取值。pointsource是一個單字符變量,PI的一些子模塊使用了默認的pointsource字符,如Totalizer子模塊使用T,Alarm子模塊使用G和@,Performance Equations子模塊使用C等,因此在PI 2版本里用戶定義的pointsource是不能使用C,?,,@,Q,T等字符的;
●id=pipc.log日志文件使用該標記對該接口接收的數據消息進行記錄,該項必須與數據庫Location1字段相對應:
●/SERVER=接口所連接opc serveri的名字,如果opc接口與opt server運行在一臺機器上,只需寫出opc server的名稱,若不在一臺機器上,則其格式應是serverde的主機名加兩個冒號然后加server名,即hostname::servename:
●/host=PI Server的主機名和端口號,一般主機名用IP地址,端口號是5450;
●/f=定義實時數據的刷新周期,可定義多個,具體用哪個南數據庫里Location4字段確定;
接口配置完成后即可啟動接口服務,在系統管理工具一服務下有opcint項,若接口程序與opcsenrer不在同一臺機器上運行,則網關機必須使用和server機相同的用戶賬號和密碼,且要在opcint服務的屬性一登錄選項卡下的“登錄身份”項做出一致的設置,否則接口也不能運行成功。
1.4 PI測試及應用工具
接口安裝目錄下提供了接口測試工具PIOPCTool,目前也有不少第三方測試工具,這些工具使接口的測試變得十分方便。可以用它找出硬件廠商控制系統opc server的名字、查找server傳輸測點的準確點名用于接口和數據庫Tag測點的配置。
PI還提供了HealthCheck數據庫檢測工具,利用它可以方便地檢查和定位系統及網絡故障,數據測點統計,查看數據快照和歷史記錄值等。
Process-Book是PI的前端客戶端程序,類似于控制層的上位監控系統。在管理層利用它可以再現工廠車間實時的生產運行情況。Process-Book是一個C-S結構的軟件,運行和配置有不便之處,目前國內有第三方軟件公司開發的基于PI的B-S架構的系統。
2 軟件開發接口介紹
PI提供PI-API和PI-SDK兩種類型的軟件開發接口。PI-API是PI系統通用編程接口的例行程序庫,該程序庫可運行在各種硬件平臺上,PI系統的應用程序如PI-ProcessBook,PI-DataLink,PI-ProFile等都是利用PI-API和數據庫Server進行通信的。用戶自己也可以利用PI-API開發自己的應用程序讀寫PI數據,前提是必須購買適用操作系統平臺的API版本,PI-API大約有100多個不同功能的函數。而PI-SDK是用于訪問PI Server的軟件工具包,該工具包運行在Windows平臺,可以訪問所有平臺的Server。PI-SDK基于微軟COM技術,能夠被大多數Win32軟件開發環境引用,如VB,VC,和C#.Net等。下面僅介紹一下C#.Net環境下PI-SDK軟件開發包的使用。
首先欲基于PI-SDK開發PI數據庫,必須先安裝PI-SDK,然后在Visual Stdio中新建一個項目,添加引用:PI-SDK 1.2 Type Library和PISDKCommon 1.2 Type Library,并且使用PISDK,PISDKCommon,PITimeServer命名空間。
讀取PI Snapshot值的程序段如下:
Server piSvr=new PISDK. PISDKClass ().Servers.DefauhServer://PIServer對象 public PIPoint pt;//聲明PI測點對象 public PlValue pv;//聲明PI測點值對象 decimal as_piValue;//存儲取得的PI值,此例設置一十進制數變量 piSvr.Open(”localhost”);//打開PI連接,引號內可以是Server所在主機的IP,//此時可以檢測piSvr的Connected屬性來判斷連接是否成功:if(piSvr Connected)····-· pt=piSvr.PIPoints[“test”];肌比處test為所要取值的PI數據庫內的測點名 pv=pt.Data.Snapshot;//獲取測點快照的實時值 as_piValue=Convert.ToDecimal(pv.Value);//轉換為十進制值 ……//相關數據處理程序 piSvr.Close();//斷開PI Server連接程序執行至此.就可以完成從PI數據庫取值的任務了。
利用上述接口開發的天冠乙醇公司分時段用電量計量系統,根據一天不同時段中工業用電電費近四倍差價的情況,采集各生產分廠實時用電量,生成分時段用電量日報及月報,還利用Microsoft SQLServer Reportin Service產生分時段用電量與電費的百分比餅圖,對企業節能減排、降耗起到了很好的監督考核作用。
3 結 語
作為業界知名的實時數據庫,PI可以運行在多個主流系統平臺上,性能穩定,應用接口全面。支持OPC,ODBC,OLEDB等標準接口,而且提供了API、SDK等豐富的開發接口和運行信息,便于用戶進行二次應用開發。
天冠燃料乙醇有限公司基于PI的生產管理信息系統,將全公司十多個分廠工藝流程畫面、兩萬多點生產實時數據同步展現給各級生產管理人員,為全局生產調度提供最直接的信息支撐;同時基于PI接口組件的數采軟件義將相關數據采集進關系數據庫,生成各種生產信息及統計、分析報表,為企業生產管理和決策提供依據。系統運行四年多時間,運行穩定,收到了良好的經濟效益。
圖片和內容源自網絡分享,若有侵權,請聯系刪除!
上海艾磊科技有限公司專門為企業提供IT咨詢,IT外包,系統集成,以及各類IT增值服務。其中增值服務包括OFFICE 365云服務,鼎捷企業ERP管理軟件,云備份,企業郵箱,無線覆蓋,上網行為管理,VPN架設,網絡安全服務,INTERNET接入,設備租賃, IP電話服務
總結
以上是生活随笔為你收集整理的本机连接opc server有部分数据不刷新_实时数据库PI在企业MES系统中的应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ppc linux 性能,用profil
- 下一篇: 嵌入式 c语言 面试题,嵌入式面试题-持