第18章 组态王与其它应用程序的动态数据交换(DDE).docVIP

第18章 组态王与其它应用程序的动态数据交换(DDE).doc

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十八章 组态王与其它应用程序的动态数据交换(DDE) “组态王”支持动态数据交换(DDE:Dynamic Data Exchange),能够和其他支持动态数据交换的应用程序方便地交换数据。通过DDE,工程人员可以利用PC机丰富的软件资源来扩充“组态王”的功能,比如用电子表格程序从“组态王”的数据库中读取数据,对生产作业执行优化计算,然后“组态王”再从电子表格程序中读出结果来控制各个生产参数;可以利用VISUAL BASIC开发服务程序,完成数据采集、报表打印、多媒体声光报警等功能,从而很容易组成一个完备的上位机管理系统;还可以和数据库程序、人工智能程序、专家系统等进行通信。 18.1 动态数据交换的概念 DDE(Dynamic Data Exchange:动态数据交换)是WINDOWS平台上的一个完整的通信协议,它使支持动态数据交换的两个或多个应用程序能彼此交换数据和发送指令。DDE始终发生在客户应用程序和服务器应用程序之间。DDE过程可以比喻为两个人的对话,一方向另一方提出问题,然后等待回答。提问的一方称为“顾客”(Client),回答的一方称为“服务器”(Server)。一个应用程序可以同时是“顾客”和“服务器”:当它向其他程序中请求数据时,它充当的是“顾客”;若有其他程序需要它提供数据,它又成了“服务器”。 DDE对话的内容是通过三个标识名来约定的: 应用程序名(application):进行DDE对话的双方的名称。商业应用程序的名称在产品文档中给出。“组态王”运行系统的程序名是“VIEW”;Microsoft Excel的应用程序名是“Excel”;Visual Basic程序使用的是可执行文件的名称。 主题(topic):被讨论的数据域(domain)。对“组态王”来说,主题规定为“tagname”;Excel的主题名是电子表格的名称,比如sheet1、sheet2 ……;Visual Basic程序的主题由窗体(Form)的LinkTopic属性值指定。 项目(item):这是被讨论的特定数据对象。在“组态王”的数据词典里,工程人员定义I/O变量的同时,也定义项目名称(参见第五章 变量定义和管理)。Excel里的项目是单元,比如 r1c2(r1c2表示第一行、第二列的单元)。对Visual Basic程序而言,项目是一个特定的文本框、标签或图片框的名称。 建立DDE之前,客户程序必须填写服务器程序的三个标识名。为方便使用,列表如下: 应用程序名 主题 项目 规定 例子 规定 例子 规定 例子 组态王 VIEW tagname 工程人员自己定义 温度 Excel Excel 电子表格名 sheet1 单元 r2c2 VB 执行文件名 vbdde 窗体的LinkTopic属性 Form1 控件的名称 Text 18.2 组态王与Excel间的数据交换 为了建立DDE连接,需要在“组态王”的数据词典里新建一个I/O变量,并且登记服务器程序的三个标识名。当Excel作为“顾客”向“组态王”请求数据时,要在Excel单元中输入远程引用公式: =VIEW|TAGNAME!设备名.寄存器名 此设备名.寄存器名指的是“组态王”数据词典里I/O变量的设备名和该变量的寄存器名。设备名和寄存器名的大小写一定要正确。 18.2.1 组态王访问Excel的数据 在本例中,假设“组态王”访问Excel的数据,“组态王”作为客户程序向Excel请求数据。数据流向如下图所示。 “组态王”作为客户程序,需要在定义I/O变量时设置服务器程序Excel的三个标识名,即:服务程序名设为Excel,话题名设为电子表格名,项目名设置成Excel单元格名。具体步骤如下。 1、在“组态王”中定义DDE设备 在工程浏览器中,从左边的工程目录显示区中选择“设备\DDE”,然后在右边的内容显示区中双击“新建”图标,则弹出“设备配置向导”(DDE设备的配置请参见第六章 I/O设备管理),已配置的DDE设备的信息总结列表框如图18.1所示。 图18.1 利用设备安装向导定义DDE设备 定义的连接对象名为EXCEL(也就是连接设备名),定义I/O变量时要使用此连接设备。 2、在“组态王”中定义变量 在工程浏览器左边的工程目录显示区中,选择“数据库\数据词典”,然后在右边的目录内容显示区中用左键双击“新建”图标,弹出“变量属性”对话框,在此对话框中建立一个I/O实型变量。如图18.2所示。变量名设为fromExceltoView,项目名设为r2c1,表明此变量将和Excel第二行第一列的单元进行连接。 图18.2 组态王定义变量并与Excel进行连接 3、创建“组态王”画面 新建组态王画面名为test,如图18.3所示。 图18.3 组态王运行系统输出

文档评论(0)

82393aa + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档