科技> 正文

焦点滚动:labview的深入探索?DDE链接有哪些类型?

时间: 2022-08-09 10:36:07 来源: IT专家网

最近小编看到大家都在讨论labview的深入探索----利用DDE实现进程间的数据交换之一相关的事情,对此呢小编也是非常的感应兴趣,那么这件事究竟是怎么发生的呢?具体又是怎么回事呢?下面就是小编搜索到的关于labview的深入探索----利用DDE实现进程间的数据交换之一事件的相关信息,我们一起来看一下吧!

LABVIEW是多线程的,在两个线程交换数据有多种方法,进程(PROCESS)和线程(THREAD)是两个不同的概念,我们启动一个执行文件实际上就是启动一个进程,WINDOWS的进程管理器可以观察到当前存在那些活动进程,进程间交换数据可以简单地理解成多个执行文件间交换数据.

进程间交换数据有几种方法:剪切板(CLIPBOARD),动态数据交换(DDE),内存映射文件(MAP FILE)和一般文件,当然也可以用TCP/IP ,SHARE VARIABLE,DATASOCKET,不过这些都属于网络数据交换,用于本机进程间通讯并不合适.


(资料图片仅供参考)

过去的一篇文章中已经介绍过如何利用剪切板进行通讯,今天介绍一下动态数据交换(DDE)

DDE(Dynamic Data Exchange),即动态数据交换,是Windows平台上的一个完整的通信协议,它使应用程序能彼此交换数据和发送指令。DDE过程是两个程序的对话过程,一方向另一方提出问题,然后等待回答。提出问题的一方即申请告知信息的应用程序,称为顾客(Client),回答的一方即提供信息的应用程序,称为服务器(Server)。一个应用程序可以同时是顾客和服务器:当它向其他程序请求数据时,它充当的是顾客;当有其它程序需要它提供数据时,它又成了服务器。但就某一确定的时刻而言,一个应用程序只能充当顾客或服务器。

DDE对话的内容是通过3 个标识进行约定的:①服务器名(Service Name):DDE源的每个应用程序有一个唯一的服务器名,通常为不带后缀的可执行文件;②话题(Topic):对源程序有意义的一些数据单元即对话的议题,许多应用程序将文档名作为DDE会话的话题;③项目(Item):DDE会话中,两个应用程序间真正传递的数据。建立DDE之前,客户程序必须填写服务程序的3个标识名。

DDE链接有3种类型:①热链接(hot link):服务器发送专门为DDE对话而设定项目中的数据,当这些数据发生变化时,链接将实时动作,自动更新数据;②冷链接(cold link):当数据发生变化时,客户必须明确地提出更新要求,数据才会被更新;③暖链接(warm link):服务器在数据发生变化时,通知客户,客户根据自己的要求决定是否更新数据。

DDE本质上是通过发送消息实现的,在VC和CVI中,可以注册事件回调函数,实现自动数据交换,但是遗憾的是LABVIEW并没有对DDE提供事件驱动方式,正如它的串口操作一样,都是通过轮询(POLLING)方式进行的,因此就涉及到两个进程DDE速度协调的问题。

DDE是WINDOWS早期进程间通讯的重要方式,现在用的不多了,但是很多应用程序,比如OFFICE,MATLAB等,包括各种流行的组态软件,依然提供对DDE的支持,所以有必要了解一下。

7。1以后的LABVIEW在模板中是找不到DDE库的,需要手动添加到USER LIB中。

C:Program FilesNational InstrumentsLabVIEW 8.5vi.libPlatformdde.llb

主要分成客户机和服务器两部分,客户机和服务器VI。

DDE数据交换首先要启动服务器,否则客户机无法连接。

服务器操作过程是:

注册服务器---》注册ITEM----》设定ITEM值-----》取消ITEM注册---》取消服务器注册

相应客户端的读数据框图

注意到服务器的循环每500MS更新一次,客户端每500MS更新一次,服务器和客户端基本保持同步,如果客户端速度高于服务器,将导致对服务器的同一数据读多次,同理,如果服务端运行速度快,客户端运行速度慢,将导致数据丢失,这正是没有事件响应的缺点,很难保证发送和接受的同步。因此,上面的程序仅适用于对数据交换要求不高的情况,比如监控等。

DDE是一个层次结构,SERVER--》TOPIC---》ITEM

一个SEVER可以包括多个TOPIC,(类似与组),每个TOPIC又可以包括多个ITEM(项目),我们可以通过循环注册多个TOPIC和多个ITEM,实现批量数据交换。

上图中,通过循环为TOPIC1同时注册了10个ITEM,分别是ITEM0----》ITEM9,在主循环中分别向ITEM0--》ITEM9写入数据。

同理,我们可以对我们有通讯的数据详细分类成多个SERVER和多个TOPIC,进行大量的数据交换。

后续文章中将进一步介绍DDE的高级同步技术。

关键词: 应用程序 数据交换 发生变化

责任编辑:QL0009

为你推荐

关于我们| 联系我们| 投稿合作| 法律声明| 广告投放

版权所有 © 2020 跑酷财经网

所载文章、数据仅供参考,使用前务请仔细阅读网站声明。本站不作任何非法律允许范围内服务!

联系我们:315 541 185@qq.com