Posted on 2012-11-30 20:28
eryar 阅读(6123)
评论(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