动态数据交换( DDE) 是Windows 环境下进程间的通讯方法,DDE 使用共享内存来实现进程之间的数据交换及通讯协议达到传送数据的同步,它能够及时自动地在应用程序之间进行信息更新。
DDE 应用程序可以分为四种类型: 客户,服务器,客户/服务器和监视器。DDE 会话发生在服务器应用程序和客户机应用程序之间,客户机应用程序从服务器应用程序请求数据和服务,服务器应用程序响应客户机应用程序的数据和服务请求。客户/服务器应用程序既是服务器应用程序又是客户机应用程序,它请求并提供信息。监视器应用程序可解释所有DDE 应用程序的DDE 信息,但不能执行它们。监视应用程序为调试目的设置是有用的。
DDE 应用程序采用三层识别系统,以其它DDE应用程序来辨认它们本身,顺序为: 应用程序名; 主题名; 项目名。
1) 服务器名( application) : 每个服务器只有一个application 名,即为程序名
2) 主题名( topic) : 所有的DDE 服务器至少支持一个toplic
3) 项目名( item) : 在每个topic 中,DDE 服务器支持一个或多个数据项。
如果通过网络与远程计算机进行DDE 通信,还要提供远程计算机名称。
用DDE 实现WinCC 与Excel 数据交换步骤:
1) 启动WinCC 项目,在“Tag management( 变量标签管理) ”中插入一个新驱动器,名为“WindowsDDE. CHN”;
2) 在该通道下,生成一个新的连接;
3) 在“新建连接属性”页中设置该连接的参数。如果是连接到本机的Excel,则“计算机名称”域可以是空的,“应用程序”是Excel,“主题”是Excel 表格的文件名;
4) 在连接下,生成新的变量,在变量属性中选择地址,通过它可以与Excel 进行通讯。为了能够确定该数据在Excel 表格中写入的区域,先输入行号,再输入列号;
5) 在全局脚本中利用SetTagFloat( “目标变量”,GetTagFloat( “源变量”) ) 将源变量写入目标变量中;
6) 在项目属性中设置Excel 随着WinCC 项目的启动而自动启动。WinCC 激活后,所建变量就会与Excel 文件的单元格建立连接,从而实现数据交换。