碧波液压网 欢迎你,游客。 登录 注册

iFix软件EDAHDA编程接口的开发应用

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。
液压导航网

  

  GE公司的iFix作为工业控制领域内稳定可靠优秀的SCADA软件,具有可靠性高,稳定性好,功能强大的特点,尤其是其iFix数据访问开发工具包(iFix DataBase Access Toolkit)允许应用程序编程人员访问iFix的实时和历史数据,该工具包主要包括了实时数据访问接口(East DataBase Access-EDA),历史数据访问接口(Historical Data Access-HDA)以及创建应用程序所需用到的其他函数(Helper Function)部分的功能。开发工具包中所提供的编程接口函数说明是针对于Visual Basic和标准的C,C++语言,而且并不提供搭建应用程序的具体细节。本文根据实际应用开发经验,给出了如何在Visual Basic, Visual C++和Delphi编程环境下编写应用程序的具体步骤。

  1.Visual Basic编程环境下的应用

  在创建的VB应用程序项目中应该首先添加2个模块(Module),这2个模块都是由iFix数据访问开发工具包提供的,其中一个模块是用于EDA编程接口使用的vdba.bas,另外一个模块是用于HDA编程接口使用的fixtools.bas,在vdba.bas模块中主要是基于VB格式的EDA接口函数,数据结构,常数的声明,而在fixtools.bas模块中主要是实现对fixtools.dll动态链接库的声明,基于VB格式的HDA接口函数,数据结构,常数的声明,此外还提供了其他函数声明,如iFix软件的安装路径,iFix是否正在运行,即上面提到的Helper Function声明。编程人员也可以根据自己的需要按照这两个模块的声明建立符合自己需要的VB模块。在添加了编程接口的声明模块后,就可以在VB应用程序中调用这些函数了,如下面就是一个在VB中读取iFix实时数据的程序段:

  Private Sub EDAReadData()

  …….

  G1 = eda_define_group(1, 0)

  ‘根据读取的iFix标签名(TagName)数组,定义需要读取的一组标签的实时值“F_CV”

  For i = 0 To Tagnum

  TagNtf(i) = eda_define_ntf(G1, Nodename, TagName(i), "F_CV", 0)

  Next i

  Call eda_lookup(G1)

  Call eda_wait(G1)

  Call eda_read(G1)

  Call eda_wait(G1)

  For i = 0 To Tagnum

  ‘将读取到的每个标签的实时数据读出赋值给变量

  eda_err = eda_get_float(G1, TagNtf(i), fvalue)

  DataValue(i) = Format(fvalue, "###0.0#")

  Next i

  eda_delete_group(G1)

  ……

  End sub

  执行上述的子程序后,定义在TagName数组中的iFix实时数据库中的标签名的实时数据将被读出,当然,EDA编程接口也支持向iFix的实时数据库写入值。

  2.在Visual C++编程环境下的应用

  iFix的应用编程开发包中提供的是标准的C语言的函数调用范例,为了让EDA,HDA编程接口可以在Visual C++集成开发环境中正常使用,也需要在Visual C++中进行一定的设置才可以使得整个应用程序编译通过。其设置步骤如下:

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码: 看不清?点击更换

最新评论