MATLAB与组态软件的数据交换技术

组态

338仪 器 仪 表 学 报                第24卷 

RSView32同样提供了DDE、OLE等开放的接口,并

则链接成功,否则链接失败。

(2)MATLAB的DDE链接建立函数ddeadv()

且将ActiveX技术嵌入其中,这就使得组态软件

RSView32可以与MATLAB方便地使用上述两种通

讯接口进行数据交换。

MATLAB与RSView32数据交换的总体框图如

该函数调用格式如下:rc=ddeadv(channel,item,

callback,upmtx,format,timeout)。其中:channel为

DDE通道句柄,item为DDEcallback指item

图1

MATLAB与组态软件的数据交换技术

,如果没有回:,upmtx为format表示DDEs剪贴板交互信息的方式。timeout是一个数值,其单位为毫秒。如果这段时间内无法建立链接,此函数调用失败。

(3)MATLAB的DDE数据请求函数ddereq()

图1 MA与RSView32数据交换的结构图

该函数的调用格式为:data=ddereq(channel,item,format,timeout)。它向服务器应用程序请求数据。

(4)MATLAB的DDE数据发送函数ddepoke()

3 MATLAB与组态软件RSView32的DDE

通讯

  MATLAB提供的DDE是利用Windows剪贴板功能进行格式化的数据交换,它既可以作为DDE服务器,也可以作为DDE客户端。组态软件RSView32同样具备作为DDE服务器或者客户端的强大功能。无论是MATLAB还是RSView32作为服务器,只要两者之间进行DDE通讯,都需要使用MATLAB中的DDE客户端模块所提供的固有函数,这些函数包括:

(1)DDE服务初始化函数ddeinit()

该函数的调用格式为:rc=ddepoke(channel,

item,data,format,timeout)。它将客户的某些信息写到DDE服务器指定位置

MATLAB与组态软件的数据交换技术

,该位置由item设定。

(5)MATLAB的DDE链接释放函数ddeunadv()

该函数的调用格式为:rc=ddeunadv(channel,item,format,timeout)。它释放MATLAB与DDE服务器应用程序之间的链接。

(6)MATLAB的DDE链接终止函数ddeterm()

在使用DDE服务之前首先要用ddeinit()函数做初始化。该函数调用格式如下:Channel=ddeinit(ser2vice,topic)。其中:service为DDE会话的服务器名称,如果Channel的返回值不等于0,topic为会话的主题。

该函数的调用格式为:rc=ddeterm(channel)。它

终止MATLAB与DDE服务器应用程序之间的链接。

现以RSView32作为服务器,MATLAB作为客户端为例,用框图说明如何使用让述函数建立DDE链接,具体通讯过程如图2所示。

图2 MATLAB与RSView32的

MATLAB与组态软件的数据交换技术

DDE通讯链接图

  当MATLAB应用程序要求从RSView32中获取标签数据时,MATLAB作为DDE的客户程序,

RSView32作为DDE服务器。当RSView32作为应用程序服务器时,首先在MATLAB中使用DDE客户端

模块所提供的固有函数编写用户需要的m函数,其中集成了调用组态软件RSView32、建立DDE链接、发送数据请求等完成DDE通讯的各种命令,然后在命令窗口中键入命令来调用m函数,实现与RSView32之

你可能喜欢

  • 串级控制系统
  • 锅炉控制系统
  • 热力计算程序
  • 组态软件
  • PLC控制系统设计
  • 实验指导书
  • 泵站设计
  • 铁路作业指导书

MATLAB与组态软件的数据交换技术相关文档

最新文档

返回顶部