天天看點

AVEVA PDMS資料接口開發

<a href="mailto:[email protected]"><b>eryar</b>@<b>163</b>.<b>com</b></a>

<b>       摘要</b>:本文簡要介紹<b>AVEVA</b> <b>Plant</b>/<b>PDMS</b>資料接口的開發方式。

<b>       關鍵字</b>:<b>AVEVA</b> <b>Plant</b>、<b>PDMS</b>、<b>DARs</b>、二次開發、資料接口

<b>AVEVA</b>提供了三種二次開發的方式:<b>DAR</b>(<b>Data</b> <b>Access</b> <b>Routines</b>)、<b>C</b>#、<b>PML</b>(<b>AVEVA</b> <b>Programmable</b> <b>Macro</b> <b>Language</b>)。

<b>DARs</b>是<b>FORTAN</b>77的一些函數,可用于建立與其它程式的接口。如編寫生成材料報表程式、管子應力分析程式、生成軸測圖程式等。使用<b>DAR</b>就像在<b>PDMS</b>中的指令中使用指令一樣友善,對資料的導航和定位方式相似。

<b>C</b>#是<b>AVEVA</b>使用.<b>NET</b>來二次開發的推薦語言,功能是這三種二次開發方式中最強大的。

<b>PML</b>是<b>AVEVA</b>内置二次開發語言,簡單易學,可以在<b>AVEVA</b>中很快開發出實用的程式。

開發<b>PDMS</b>與其它程式的接口,一般流程是從<b>PDMS</b>中讀取所需要的資料,并将其傳遞給其它程式處理,最好還可以将其它程式處理後的結果傳回到<b>PDMS</b>中。<b>AVEVA</b>提供的<b>PSI</b>(<b>Pipe</b> <b>Stress</b> <b>Interface</b>)就是這種模式。

想從<b>AVEVA</b> <b>Plant</b>(<b>PDMS</b>)中提供所需要的資料用上述三種方法都可以實作。可以根據需要選擇,本文簡述使用<b>DAR</b>來開發資料接口。

<b>DAR</b>提供從模型中提取屬性必要的函數。這些函數分為以下幾種類型:

u 初始化(<b>Initialisation</b>);

u 資料導航(<b>Navigation</b>);

u 讀取屬性(<b>Attribute</b> <b>retrieval</b>);

u 錯誤處理(<b>Error</b> <b>Handling</b>);

u 功能函數(<b>Utility</b> <b>routines</b>);

上述這些函數對資料都隻有讀的權限,不能對資料庫進行寫和更新。

<b>DAR</b>程式的運作需要<b>FORTRAN</b>的兩個庫檔案:<b>libifcoremd</b>.<b>dll</b>和<b>libmmd</b>.<b>dll</b>,并且要確定<b>d</b>3<b>lib</b>.<b>dll</b>庫檔案的環境變量的正确設定。在<b>AVEVA</b>的安裝目錄中有個<b>dars</b>檔案夾,其中有使用<b>DAR</b>的庫和示例程式。參考這些檔案,對熟悉<b>C</b>++的人來說使用<b>DAR</b>還是很簡單的。

使用<b>DAR</b>可以導出<b>AVEVA</b> <b>PDMS</b>中的<b>DESI</b>、<b>CATA</b>、<b>DICT</b>等不同資料庫中的資料。開發了個讀取資料的小程式,程式運作結果如圖所示:

AVEVA PDMS資料接口開發

使用<b>DAR</b>的速度還是很快的,就是對多位元組文字的處理上稍有不足,即對中文的處理。

<b>AVEVA</b>提供了靈活的二次開發方式,容易編寫自定義的程式。是以軟體的架構還是非常重要的,好的架構讓使用者易于上手,二次開發也很友善。

<b>Data</b> <b>Access</b> <b>Routines</b> <b>User</b> <b>Guide</b>

.<b>NET</b> <b>Customisation</b> <b>User</b> <b>Guide</b>

<b>Software</b> <b>Customisation</b> <b>Guide</b>

<b>Software</b> <b>Customisation</b> <b>Reference</b> <b>Manual</b>

<b>Pipe</b> <b>Stress</b> <b>Interface</b> <b>User</b> <b>Guide</b>