iFix软件EDA HDA在VB,VC,Delphi编程语言环境中的应用
0.前言
iFIX是全球最领先的HMI/SCADA自动化监控组态软件,已有超过300,000套以上的软件在全球运行。世界上许多最成功的制造商都依靠 GE Fanuc的iFIX软件来全面监控和分布管理全厂范围的生产数据。在包括冶金、电力、石油化工、制药、生物技术、包装、食品饮料、石油天然气等各种工业应用当中,iFIX 独树一帜地集强大功能、安全性、通用性和易用性于一身,使之成为任何生产环境下全面的HMI/SCADA解决方案。 利用iFIX各种领先的专利技术,可以帮助企业制定出更快、更有效的商业及生产决策,以使企业具有更强的竞争力。
GE Fanuc 的iFIX是世界领先的工业自动化软件解决方案,提供了生产操作的过程可视化、数据采集和数据监控。iFIX可以帮助您精确地监视、控制生产过程,并优化生产设备和企业资源管理。它能够对生产事件快速反映,减少原材料消耗,提高生产率,从而加快产品对市场的反应速度,提高用户收益。
GE公司的iFix作为工业控制领域内稳定可靠优秀的SCADA软件,具有可靠性高,稳定性好,功能强大的特点,尤其是其iFix数据访问开发工具包(iFix DataBase Access Toolkit)允许应用程序编程人员访问iFix的实时和历史数据。开发工具包中所提供的编程接口函数说明是针对于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接口函数,数据结构,常数的声明,此外还提供了其他函数声明,如下面就是一个在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++中进行一定的设置才可以使得整个应用程序编译通过。其设置步骤如下:
(1)在Visual C++集成开发界面的Tools?OptiON?点击Directories选项卡在“Include Files”列表项中添加一行iFixtools提供的include文件路径,如:C:iFixtoolsinclude,然后再在“Library Files”列表项中添加一行iFixtools提供的library文件路径,如:C:iFixtoolslib。
(2)在编程界面的Project?Settings…的Link选项卡中的ObjectLibrary modules下面的文本框中填上:dmacsdba.lib fixtools.lib这2个库文件。
(3)在include文件目录下的“DataType.h”文件中添加一行:#define OS_WNT
(4)在相应调用iFix EDA函数的C++程序文件中,添加如下的语句声明使用标准的C语言的函数调用:
extern “C” {
#include “fixeda.h”
}
经过上述4个步骤就可以在Visual C++集成开发环境中调用EDA,HDA函数读写数据了,下面的代码就是Visual C++中调用iFix EDA函数的例子。
// 定义iFix EDA组
eh = eda_define_group(1,0);
if(!eh) exit(1);
//定义NTF
ei[0] = eda_define_ntf(eh, “fix”, “FZ03-30MKA01CE903-XQ01”, “F_CV”, 0);
ei[1] = eda_define_ntf(eh, “fix”, “FZ03-30MKA01CE005-XQ01”, “
Delphi 编程语言 环境 应用 VC VB 软件 EDA HDA iFix 相关文章:
- delphi与51单片机串行通信(11-22)
- STM32内部温度传感器实验——串口 delphi上位机(11-13)
- DELPHI语言在远程红外测温报警系统中的应用(05-29)
- Delphi:高效的哈希函数程序(09-13)
- 基于Delphi的室内多目标超声波定位系统设计(09-27)
- Delphi中比较GUID是否相等(06-27)