![](https://csdnimg.cn/release/download_crawler_static/86931403/bg6.jpg)
组态王提供了友好的人机交互界面,强大的通讯功能,但是它的计算能力不强,
难以实现复杂的控制策略。MATLAB以矩阵和向量为基本数据单位,提供了强大的科学
运算、灵活的程序设计流程、便捷的与其他程序接口,高效率的复杂算法等,并且它
还提供大量的标准算法库,如系统辨识、神经网络、小波分析、数字信号处理等。但
MATLAB本身也存在一些不足,如人机界面设计不方便、没有提供与计算机硬件的接口、
无法进行端口操作,并且MATLAB一直被定位在科学计算、数学建模与仿真上,不能实
现实时监控,始终未能应用于实际的控制系统中。如果使用组态王作为系统主控,进
行实时数据采样、动态工艺图显示、数据汇总等工作,同时MATLAB作为后台应用程序
进行控制算法的处理,这将有利于发挥组态王和MATLAB各自的优势,实现复杂系统的
控制,在实际的工程中必将达到较好的控制效果。
这种混合编程技术中,最关键的是组态王和MATLAB之间的实时数据通讯。组态王
和MATLAB数据通讯的方式主要有动态数据交换技术(DDE)和OPC、ODBC技术,本课题采
用实时性较强的DDE通讯技术来实现两者之间的通讯。
2.1 DDE概述
DDE (DynamicDataExchange,动态数据交换)是Windows环境提供的一种基于消息
的进程Ml通信(Inter Process Communication, IPC)的方法,它采用客户/服务器模式。
进程间通讯包括进程之间和同步事件之间的数据传递。DOE使用共享内存来实现进程
之间的数据交换以与使用DDE协议获得传递数据的同步。DOE协议是一组所有的DOE应
用程序都必须遵循的规则集。DDE协议可以应用于两类DDE应用程序:第一类是基于消
息的DDE,第二类是动态数据交换管理库(DDEML)应用程序(使用动态连接库(DLL))。
DDE应用程序可以分为4种类型:客户、服务器、客户/服务器和监视器。DDE会话
发生在客户应用程序和服务器应用程序之间。客户应用程序从服务器应用程序请求数
据或服务;服务器应用程序响应客户应用程序的数据或服务请求;客户/服务器应用程
序既是客户应用程序又是服务器应用程序,它既可发出请求又可提供信息;监视器应
用程序用于调试目的。DDE应用程序可拥有多重进发会话。DDE协议规定会话中的消息
必须同步控制,但应用程序可以在不同的会话之间异步切换。
DDE应用程序采用3层识别系统:应用程序名(pplication)、主题(Topic)和项目名
(Item)。应用程序名位于层次结构的顶层,用于指出特定的DDE服务器应用程序名。
主题名更深刻地定义了服务器应用程序会话的主题内容,服务器应用程序可支持一个
或多个主题名。项目名更进一步确定了会话的详细内容,每个主题名可拥有一个或多
个项目名。