Posted on 2012-11-30 20:28
eryar 閱讀(6379)
評論(0) 編輯 收藏 引用 所屬分類:
4.AVEVA Solution
AVEVA PDMS數據接口的開發
eryar@163.com
摘要:本文簡要介紹AVEVA Plant/PDMS數據接口的開發方式。
關鍵字:AVEVA Plant、PDMS、DARs、二次開發、數據接口
一、概述 Overview
AVEVA提供了三種二次開發的方式:DAR(Data Access Routines)、C#、PML(AVEVA Programmable Macro Language)。
DARs是FORTAN77的一些函數,可用于創建與其它程序的接口。如編寫生成材料報表程序、管子應力分析程序、生成軸測圖程序等。使用DAR就像在PDMS中的命令中使用命令一樣方便,對數據的導航和定位方式相似。
C#是AVEVA使用.NET來二次開發的推薦語言,功能是這三種二次開發方式中最強大的。
PML是AVEVA內置二次開發語言,簡單易學,可以在AVEVA中很快開發出實用的程序。
二、程序開發 Program Developing
開發PDMS與其它程序的接口,一般流程是從PDMS中讀取所需要的數據,并將其傳遞給其它程序處理,最好還可以將其它程序處理后的結果返回到PDMS中。AVEVA提供的PSI(Pipe Stress Interface)就是這種模式。
想從AVEVA Plant(PDMS)中提供所需要的數據用上述三種方法都可以實現。可以根據需要選擇,本文簡述使用DAR來開發數據接口。
DAR提供從模型中提取屬性必要的函數。這些函數分為以下幾種類型:
u 初始化(Initialisation);
u 數據導航(Navigation);
u 讀取屬性(Attribute retrieval);
u 錯誤處理(Error Handling);
u 功能函數(Utility routines);
上述這些函數對數據都只有讀的權限,不能對數據庫進行寫和更新。
DAR程序的運行需要FORTRAN的兩個庫文件:libifcoremd.dll和libmmd.dll,并且要確保d3lib.dll庫文件的環境變量的正確設置。在AVEVA的安裝目錄中有個dars文件夾,其中有使用DAR的庫和示例程序。參考這些文件,對熟悉C++的人來說使用DAR還是很簡單的。
三、程序結果 Program Result
使用DAR可以導出AVEVA PDMS中的DESI、CATA、DICT等不同數據庫中的數據。開發了個讀取數據的小程序,程序運行結果如圖所示:
使用DAR的速度還是很快的,就是對多字節文字的處理上稍有不足,即對中文的處理。
四、結論 Conclusion
AVEVA提供了靈活的二次開發方式,容易編寫自定義的程序。所以軟件的框架還是非常重要的,好的框架讓使用者易于上手,二次開發也很方便。
以上僅為對AVEVA提供的數據開發接口的簡單介紹,有興趣的讀者可以查看參考資料獲取更全面的信息。若有意見、建議都可以與我交流,郵箱為:eryar@163.com。
五、參考資料 Reference
- Data Access Routines User Guide
- .NET Customisation User Guide
- Software Customisation Guide
- Software Customisation Reference Manual
- Pipe Stress Interface User Guide