WinCC与应用程序的DDE通讯 点击:4585 | 回复:16



如火

    
  • 精华:172帖
  • 求助:0帖
  • 帖子:803帖 | 5249回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2006-03-09 15:47:00
楼主
感谢0134228提供。
WinCC与应用程序的DDE通讯

1  DDE通讯的介绍
   DDE是动态数据交换(Dynamic Data Exchange)的缩写,使用DDE通讯需要两个应用程序,其中一个作为服务器处理信息,另外一个作为客户机从服务器获得信息。客户机应用程序向当前所激活的服务器应用程序发送一条消息请求信息,服务器应用程序根据该信息作出应答,从而实现两个程序之间的数据交换。

   本系统中把用VB6.0编写的应用程序作为DDE通讯的服务器提供数据,WINCC 6.0作为DDE通讯的客户接收数据。

2  WINCC与VB6.0的DDE通讯组态

一、VB6.0作为DDE通讯的服务器的组态
VB6.0作为DDE通讯的服务器,其组态非常的简单。当应用程序编好以后要确定:
1、 你所生成的应用程序的名称,如vb_wincc.exe的文件名vb_wincc 
2、 应用程序的窗体的Link Topic属性,如vbimp  
3、 每一个数据输入的对应的Text控件的名称属性,如1CH1 Text的名称1CH1
4、 把窗体的 Link Mode的属性设为1-source
在VB中不需要编写任何的代码,到此VB6.0作为DDE通讯的服务器的组态全部完成。

二、WINCC作为DDE通讯的客户的组态
DDE作为WINCC的通讯驱动程序,可以在变量管理器的新建驱动程序中添加,它存在于\siemens\wincc\bin的文件夹中。它的组态步骤大致如下:
1、 在WINCC的变量管理器中右击添加新的通讯驱动程序windows dde.chn
2、 点击windows dde前的+ > 打开DDE > 用右键点击 > 打开菜单 > 选择新驱动程序的连接 > 将打开连接属性的窗口
3、 在打开的窗口中进行组态:1、在名字对话框中输入你喜欢的名字2、点击后面的属性按钮,将打开一属性对话框,计算机的名称对话框可以不添(当你的DDE服务器程序和客户接收程序在同一台机子上时),在应用程序对话框中输入你的作为DDE服务器的应用程序的名称,如上面获得的vb_wincc.exe应用程序(注意:只要输入文件名就行,不要加.exe),在主题对话框中输入你的应用程序的窗体的Link Topic属性,像在上面确定的vbimp,在读变量的方式中选择一旦改变自动读取并选中读取起始值,最后点击确定按钮,到此一个新的DDE通讯通道就建立好了!!
点击DDE前的+你就可以看到以你的名字建立的DDE通讯

4、 这一步就是在新建好的DDE通道中建立变量,用它来接收从服务器传送过来的数据。在VB的窗口中有多少个用于数据显示的Text控件,就要在WINCC中建立多少个变量与之对应。1、右击你建好的DDE通道>打开菜单>选择新建变量>打开变量属性对话框,先选择常规选项卡,在名称对话框中输入你喜欢的变量的名称,在数据类型的下拉菜单中选择你需要的数据类型2、然后点击地址对话框后面的选择按钮,将打开DDE变量对话框,在条目名称的对话框中输入服务器应用程序中数据输出对应的Text控件的名称,在数据类型对话框的下拉菜单中选择你所需要的数据类型(若WINCC中的变量类型选择32位浮点数IEEE754,则在DDE中的数据类型选择float),最后点击确定按钮,一个对应的接收应用程序的变量就建好了。
接着用同样的方法建立其他的变量,这些变量就可以在WINCC组态时直接的使用!

注意:当你在VB中的数据输出的对应的Text控件的名称变了后,WINCC中的对应变量的条目名称属性也必须跟着改变,使他们保持相同。

DDE通讯的稳定、简易为系统的数据的准确、快速的传输提供了保证。当由于需要修改时,软硬件之间的相对调整,它们所花费的时间很短,操作起来很简单。






Q&A

  • 精华:1帖
  • 求助:1帖
  • 帖子:8帖 | 100回
  • 年度积分:200
  • 历史总积分:1636
  • 注册:2001年6月06日
发表于:2006-03-10 13:43:00
1楼
应用过程中,感到DDE服务器程序和客户接收程序不同一台机子上时,通讯质量不好,易出错.在同一机子上时,用DDE还可以

如火

  • 精华:172帖
  • 求助:0帖
  • 帖子:803帖 | 5249回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2006-03-10 13:46:00
2楼
dde可以满足低端要求的通讯场合,属于一种较简单的通讯方式。

westerain

  • 精华:1帖
  • 求助:0帖
  • 帖子:5帖 | 27回
  • 年度积分:0
  • 历史总积分:61
  • 注册:2006年3月16日
发表于:2006-03-16 10:34:00
3楼

li_hj

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 9回
  • 年度积分:0
  • 历史总积分:343
  • 注册:2001年1月22日
发表于:2006-03-20 13:19:00
4楼
我觉得用OPC方式更好一些

wincc123

  • 精华:4帖
  • 求助:0帖
  • 帖子:41帖 | 765回
  • 年度积分:1
  • 历史总积分:1067
  • 注册:2003年10月13日
发表于:2006-03-21 08:47:00
5楼
一种解决问题的好思路

toptopaz

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 25回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2006-03-21 11:03:00
6楼
不如OPC好用,实践下的结果.

sheep杨

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 12回
  • 年度积分:0
  • 历史总积分:36
  • 注册:2006年4月10日
发表于:2006-04-12 14:38:00
7楼
我按照这个步骤做过一遍,在WinCC的图形编辑器里使用一个I/O域,与DDE变量相连接,在启动VB程序后,激活WinCC项目,I/O域却无法显示VB里Text控件中输入的数据,不知道是哪里出错了?急需各位高手的帮忙!多谢多谢了!

sheep杨

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 12回
  • 年度积分:0
  • 历史总积分:36
  • 注册:2006年4月10日
发表于:2006-04-12 14:39:00
8楼
再请问如果用OPC方式实现VB与WinCC的通讯,具体怎么样操作呢?再次表示感谢!

sheep杨

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 12回
  • 年度积分:0
  • 历史总积分:36
  • 注册:2006年4月10日
发表于:2006-04-17 21:06:00
9楼
再次求助:我遇到的还是老问题,在VB中部比编任何代码,是不是行不通?我这边一直是不行,WinCC中的显示值始终为0,不随VB中Text控件的数据变化而变化。迫切需要解决这个难题,希望大家帮帮我啊!真是跪求各位的帮助了!

shibaoyou

  • 精华:1帖
  • 求助:0帖
  • 帖子:97帖 | 346回
  • 年度积分:0
  • 历史总积分:633
  • 注册:2005年11月27日
发表于:2007-04-08 11:29:00
10楼
xiexie 
netdde 在XP之间实现通信怎么说无法帮定DSNM呢?

happyoicq

  • 精华:0帖
  • 求助:0帖
  • 帖子:49帖 | 1382回
  • 年度积分:0
  • 历史总积分:3120
  • 注册:2005年10月16日
发表于:2007-05-16 12:25:00
11楼
OPC比较好用些

qslu

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:0
  • 历史总积分:4
  • 注册:2007年5月25日
发表于:2007-05-27 21:52:00
12楼

qslu

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:0
  • 历史总积分:4
  • 注册:2007年5月25日
发表于:2007-05-27 21:53:00
13楼
请各位大哥能不能说具体点,小弟现在做毕业设计,急需用wincc5.0和vb之间通讯.

沉睡

  • 精华:1帖
  • 求助:0帖
  • 帖子:23帖 | 82回
  • 年度积分:0
  • 历史总积分:208
  • 注册:2004年11月22日
发表于:2007-11-05 11:06:00
14楼
dsdm无法帮定.看看你的服务的Network DDE DSDM启动了没有

F.Nash

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 41回
  • 年度积分:0
  • 历史总积分:54
  • 注册:2004年5月28日
发表于:2007-11-23 15:07:00
15楼
通常的就是那些不去学习基础知识,而一天在这里乱求帮助的人!

buyanhe

  • 精华:0帖
  • 求助:1帖
  • 帖子:4帖 | 14回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2010年5月10日
发表于:2010-12-16 19:27:58
16楼

受益了,挺好的一种通讯方式


热门招聘
相关主题

官方公众号

智造工程师