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