当前位置:首 页>> 技术文档 [阅读]
常用组态软件DDE配置

背景:

动态数据交换(Dynamic Data Exchange,DDE)也是一种进程间通信形式。它最早是随着Windows 3.1由美国微软公司提出的。

DDE技术通信原理:

两个同时运行的程序间通过DDE方式交换数据时是客户/服务器关系,一旦客户和服务器建立起来连接关系,则当服务器中的数据发生变化后就会马上通知客户。通过DDE方式建立的数据连接通道是双向的,即客户不但能够读取服务器中的数据,而且可以对其进行修改。

DDE有三种数据交换方式,即

(1)冷连接(Cool Link):数据交换是一次性数据传输,与剪贴板相同。当服务器中的数据发生变化后不通知客户,但客户可以随时从服务器读写数据;

(2)温连接(Warm Link):当服务器中的数据发生变化后马上通知客户,客户得到通知后将数据取回;

(3)热连接(Hot Link):当服务器中的数据发生变化后马上通知客户,同时将变化的数据直接送给客户。

DDE 客户程序向DDE 服务器程序请求数据时,它必须首先知道服务器的名称(即DDE Service名)、DDE主题名称(Topics名),还要知道请求哪一个数据项的项目名称(Items名)。DDE Service名应该具有唯一性,否则容易产生混乱。通常DDE Service就是服务器的程序名称,但不是绝对的,它是由程序设计人员在程序内部设定好的,并不是通过修改程序名称就可以改变的。Topics名和 Items名也是由DDE Service在其内部设定好的,所有服务程序的Service名、Topics名都是注册在系统中,当一个客户向一个服务器请求数据时,客户必须向系统 报告服务器的Service名和Topics名。只有当Service名、Topics名与服务器内部设定的名称一致时,系统才将客户的请求传达给服务器。

当服务名和Topics名相符时,服务器马上判断Items名是否合法。如果请求的Item名是服务器中的合法数据项,服务器即建立此项连接,建立连接的数据发生数值变化后,服务器会及时通知客户。一个服务器可以有多个Topics名,Items名的数量也不受限制。

常用组态软件DDE配置说明:

Complicity(GE Fanuc Automation)

服务器程序名

CWSERV

话题名

POINT

项目名

点名

 

Citect 悉雅特

服务器程序名

citect

话题名

variable

项目名

Tagname(点名)

 

WinCC(西门子SIMATIC)

服务器程序名

WinCC

话题名

WinCC工程目录名

项目名

变量名

 

注:需启动DdeServer.exe 参数:/v/nohold/noconfirm

在使用DDE采集WinCC中的数据时,需要将Ddeserv.exe添加到启动项中

  设置Ddeserv.exe

  打开工程中的“计算机属性”,如下:

  点击“添加”按钮

  填写完成如上设置。这样在WinCC工程运行之后就可以使用打开的“DDE服务”对话框中选择所要共享的数据。

 

InTouch (Wonderware)

服务器程序名

view

话题名

Tagname

项目名

变量名

 

 

iFix (GE Fanuc)

服务器程序名

DMDDE

话题名

DATA

项目名

变量名

设置iFix DDE服务程序DMDDE.exe

  需要将iFix软件自带的DMDDE.exe添加到工程启动项里,才能利用DDE采集iFix工程中的数据。打开iFix系统配置(SCU-FIX)中的任务配置,如下

  找到iFix安装目录下的DMDDE.exe程序,增加到任务列表里,选择后台启动的方式。

 

组态王(亚控)

服务器程序名

View

话题名

Tagname

项目名

变量名

采集组态王工程中的数据时,必须保证该数据允许“DDE访问”

允许“DDE访问”设置

  选中上图标示处,即可共享该数据。

 

 

紫金桥(紫金桥)

服务器程序名

DB

话题名

DB

项目名

点名

 

 

ABB freelance (ABB)

服务器程序名

DIGISRV

话题名

HONGYE

项目名

Item名称(|SYWBV)

 

结论:

DDE交换可以发生在单机或网络中不同计算机的应用程序之间。开发者还可以定义定制的DDE数据格式,进行应用程序之间特别目的IPC,它们有更紧密耦合 的通信要求。大多数基于Windows的应用程序都支持DDE。但DDE有个明显的缺点就是,通信效率低下,当通信量较大时数据刷新速度慢,在数据较少时 DDE较实用。