论文部分内容阅读
【摘要】简要介绍了DDE动态数据交换技术,详细分析了世纪星组态软件CenturyStar与Excel如何实现动态数据交换,并以此阐述了世纪星组态软件与其他Windows应用程序之间进行动态数据交换的一般方法。
【关键词】 动态数据交换 CenturyStar 客户/服务器
【中图分类号】C64 【文献标识码】A 【文章编号】1009-9646(2008)10(a)-0173-02
在Windows环境下, DDE(动态数据交换)是 Microsoft 公司设计的一种基于 Windows 消息驱动机制的动态数据交换协议。应用程序采用三层标识系统,即服务程序名、话题名和项目名,在两个或多个应用程序之间动态传送数据。DDE 数据交换时,提供数据的应用程序为服务应用程序(Server,服务器端),接收数据的应用程序为客户应用程序(Client,客户端)。Century Star是目前国内广泛应用的工控组态软件之一,其采用 DDE 协议同下位机的Windows应用程序进行数据交换的(如EXCEL、VB应用程序等),支持双向DDE动态数据交换和单向DDE动态数据交换两种方式,本文以EXCEL为例,详细阐述世纪星组态软件CenturyStar如何实现动态数据交换功能。
1 单向 DDE
世纪星的单向 DDE 动态数据交换方式就是将世纪星作为服务器,EXCEL 作为客户程序,EXCEL 要从世纪星取得数据,则可在EXCEL的某单元格中规定“=CSViewer|Tagname!变量名”,其中 CSViewer是世纪星的服务应用程序名,Tagname是话题名,变量名就是变量数据库中的变量名,当世纪星中该变量发生变化时,EXCEL中相应的单元格的数据就会改变。具体过程如下:
1.1 DDE设备安装
在“驱动设备管理”中选择“新建”项,或在浏览器中双击“设备安装向导”则弹出如下设备安装向导对话框,然后从树形设备列表区中可选择DDE动态数据交换设备,单击“下一步”,出现“设备安装向导”对话框,最后单击“下一步”出现“设备安装向导”属性设置确认对话框,再单击“完成”按钮即完成DDE设备安装,如图1设置所示。
设备对象名称:要安装DDE动态数据交换设备的名称,取名中要符合世纪星的命名原则即可,这里输入“EXCEL单向数据动态交换”。
服务程序名:是与“世纪星”交换数据的程序名,一般是 I/O 服务程序,或者是 Windows应用程序,这里输入“CSViewer”。
话题名:是本程序和服务程序进行 DDE 连接的话题名,这里输入“Tagname”。
数据交换协议:DDE会话的两种方式。即“I/O驱动程序交换协议”是世纪星软件公司开发的DDE动态数据交换程序采用的协议;“标准的 WINDOWS 交换协议”是按照标准的Windows DDE 交换协议开发的 DDE 服务程序。这里选择第二种即“标准的 WINDOWS 交换协议”。
1.2 组态变量定义
在“系统”中选择“变量数据库”项,或在浏览器中双击“变量字典”则弹出如下“变量数据库管理”对话框,然后选择“新建”弹出“变量数据库”设置对话框,如图2所示定义变量与相应参数。
变量类型:必须设置为“I/O”类型之一。
设备对象名称:必须选择“DDE设备安装”时定义的动态数据交换设备的名称,即 “EXCEL单向数据动态交换”。
项目名:必须定义为客户端应用程序名“EXCEL”。
1.3 HMI运行界面
在创建的组态界面“CENTURYST AR_TO_EXCEL”中放置“文本”显示控件,属性“数值显示”设为“模拟”,然后保存界面并运行,再打开EXCEL,在任意一个单元格中输入“=CSViewer|Tagname!Century_to_EXCEL”, 则该单元格的数据就会随“Century_to_EXCEL”组态变量值的改变而改变。世纪星组态软件与Excel单向动态数据交换运行界面如图3所示。
2 双向 DDE
世纪星的双向DDE动态数据交换就是世纪星与 Excel 可以互为服务器端/客户端,EXCEL可以对世纪星进行动态数据实时读写,世纪星也可以同时对EXCEL进行动态数据实时读写,实现数据的动态地、双向地实时交换。其实现过程如下:
2.1 DDE设备安装
实现双向动态数据交换完成 “DDE设备安装”操作步骤与单向动态数据交换相同,只是在参数设置上存在不同,在“配置设备参数”对话框中具体设置如下:
设备对象名:Excel程序; ·服务器程序名:Excei;
话题名:Sheet1;·数据交换协议:标准WINDOWS交换协议;
2.2 组态变量定义
在世纪星的变量字典中定义一个 I/O 变量为“aa”,数据类型可以是4种 I/O 变量的任意一种,设备对象名选择“Excel 程序”,在项目名中输入“R1C1”(第一行第一列,其中第几行第几列是根据您的需要任意可选的,输入的是第几行第几列,该变量也就是与该行该列的表格单元进行 DDE 动态数据交换),其他默认并保存,即已把变量“aa”与 Excel 中的 R1C1表格单元建立了通信联系。


2.3 HMI运行界面
在创建的组态界面“CENTURYS TAR_TO_EXCEL”中放置“文本”显示控件,属性“数值显示”设为“模拟”,然后保存界面并运行,再打开EXCEL,在任意一个单元格中输入“=CSViewer|Tagname!Century_to_EXCEL”,保存后运行Excel与世纪星,当变量“aa”或 Excel 中 R1C1对应表格单元的值有一个发生变化,另一个也会同步地发生改变,这样就实现了世纪星的双向DDE动态数据交换。世纪星组态软件与Excel双向动态数据交换运行界面如图4所示。
3 结语
借助Windows提供的动态数据交换(DDE)技术,使得不同进程之间以客户/服务器(Client/ Server)方式共享信息,并允许多个进程基于消息的驱动下“同时”进行动态数据交换,不仅简单易行,灵活高效,稳定可靠,还可以减少繁杂的程序编写及接口协议的开发工作,对于实现多个应用进程之间的信息交互具有良好的实用价值。
参考文献
[1] 北京世纪长秋科技有限公司.纪星用户手册[Z].2005.
[2] 程铁皋,称文斌等编.Windows动态数据交换程序设计[M].北京航空航天大学出版社1995.
[3] 马国华.气控组态软件及其应用[M].清华大学出版社,2001.
【关键词】 动态数据交换 CenturyStar 客户/服务器
【中图分类号】C64 【文献标识码】A 【文章编号】1009-9646(2008)10(a)-0173-02
在Windows环境下, DDE(动态数据交换)是 Microsoft 公司设计的一种基于 Windows 消息驱动机制的动态数据交换协议。应用程序采用三层标识系统,即服务程序名、话题名和项目名,在两个或多个应用程序之间动态传送数据。DDE 数据交换时,提供数据的应用程序为服务应用程序(Server,服务器端),接收数据的应用程序为客户应用程序(Client,客户端)。Century Star是目前国内广泛应用的工控组态软件之一,其采用 DDE 协议同下位机的Windows应用程序进行数据交换的(如EXCEL、VB应用程序等),支持双向DDE动态数据交换和单向DDE动态数据交换两种方式,本文以EXCEL为例,详细阐述世纪星组态软件CenturyStar如何实现动态数据交换功能。
1 单向 DDE
世纪星的单向 DDE 动态数据交换方式就是将世纪星作为服务器,EXCEL 作为客户程序,EXCEL 要从世纪星取得数据,则可在EXCEL的某单元格中规定“=CSViewer|Tagname!变量名”,其中 CSViewer是世纪星的服务应用程序名,Tagname是话题名,变量名就是变量数据库中的变量名,当世纪星中该变量发生变化时,EXCEL中相应的单元格的数据就会改变。具体过程如下:
1.1 DDE设备安装
在“驱动设备管理”中选择“新建”项,或在浏览器中双击“设备安装向导”则弹出如下设备安装向导对话框,然后从树形设备列表区中可选择DDE动态数据交换设备,单击“下一步”,出现“设备安装向导”对话框,最后单击“下一步”出现“设备安装向导”属性设置确认对话框,再单击“完成”按钮即完成DDE设备安装,如图1设置所示。
设备对象名称:要安装DDE动态数据交换设备的名称,取名中要符合世纪星的命名原则即可,这里输入“EXCEL单向数据动态交换”。
服务程序名:是与“世纪星”交换数据的程序名,一般是 I/O 服务程序,或者是 Windows应用程序,这里输入“CSViewer”。
话题名:是本程序和服务程序进行 DDE 连接的话题名,这里输入“Tagname”。
数据交换协议:DDE会话的两种方式。即“I/O驱动程序交换协议”是世纪星软件公司开发的DDE动态数据交换程序采用的协议;“标准的 WINDOWS 交换协议”是按照标准的Windows DDE 交换协议开发的 DDE 服务程序。这里选择第二种即“标准的 WINDOWS 交换协议”。
1.2 组态变量定义
在“系统”中选择“变量数据库”项,或在浏览器中双击“变量字典”则弹出如下“变量数据库管理”对话框,然后选择“新建”弹出“变量数据库”设置对话框,如图2所示定义变量与相应参数。
变量类型:必须设置为“I/O”类型之一。
设备对象名称:必须选择“DDE设备安装”时定义的动态数据交换设备的名称,即 “EXCEL单向数据动态交换”。
项目名:必须定义为客户端应用程序名“EXCEL”。
1.3 HMI运行界面
在创建的组态界面“CENTURYST AR_TO_EXCEL”中放置“文本”显示控件,属性“数值显示”设为“模拟”,然后保存界面并运行,再打开EXCEL,在任意一个单元格中输入“=CSViewer|Tagname!Century_to_EXCEL”, 则该单元格的数据就会随“Century_to_EXCEL”组态变量值的改变而改变。世纪星组态软件与Excel单向动态数据交换运行界面如图3所示。
2 双向 DDE
世纪星的双向DDE动态数据交换就是世纪星与 Excel 可以互为服务器端/客户端,EXCEL可以对世纪星进行动态数据实时读写,世纪星也可以同时对EXCEL进行动态数据实时读写,实现数据的动态地、双向地实时交换。其实现过程如下:
2.1 DDE设备安装
实现双向动态数据交换完成 “DDE设备安装”操作步骤与单向动态数据交换相同,只是在参数设置上存在不同,在“配置设备参数”对话框中具体设置如下:
设备对象名:Excel程序; ·服务器程序名:Excei;
话题名:Sheet1;·数据交换协议:标准WINDOWS交换协议;
2.2 组态变量定义
在世纪星的变量字典中定义一个 I/O 变量为“aa”,数据类型可以是4种 I/O 变量的任意一种,设备对象名选择“Excel 程序”,在项目名中输入“R1C1”(第一行第一列,其中第几行第几列是根据您的需要任意可选的,输入的是第几行第几列,该变量也就是与该行该列的表格单元进行 DDE 动态数据交换),其他默认并保存,即已把变量“aa”与 Excel 中的 R1C1表格单元建立了通信联系。


2.3 HMI运行界面
在创建的组态界面“CENTURYS TAR_TO_EXCEL”中放置“文本”显示控件,属性“数值显示”设为“模拟”,然后保存界面并运行,再打开EXCEL,在任意一个单元格中输入“=CSViewer|Tagname!Century_to_EXCEL”,保存后运行Excel与世纪星,当变量“aa”或 Excel 中 R1C1对应表格单元的值有一个发生变化,另一个也会同步地发生改变,这样就实现了世纪星的双向DDE动态数据交换。世纪星组态软件与Excel双向动态数据交换运行界面如图4所示。
3 结语
借助Windows提供的动态数据交换(DDE)技术,使得不同进程之间以客户/服务器(Client/ Server)方式共享信息,并允许多个进程基于消息的驱动下“同时”进行动态数据交换,不仅简单易行,灵活高效,稳定可靠,还可以减少繁杂的程序编写及接口协议的开发工作,对于实现多个应用进程之间的信息交互具有良好的实用价值。
参考文献
[1] 北京世纪长秋科技有限公司.纪星用户手册[Z].2005.
[2] 程铁皋,称文斌等编.Windows动态数据交换程序设计[M].北京航空航天大学出版社1995.
[3] 马国华.气控组态软件及其应用[M].清华大学出版社,2001.