在LabVIEW60以后的版本里,DDE还是可以使用的,但是NI更提倡使用ActiveX,因此DDE的VI不会自动显示在函数模板上。如果使用,可以在labview XX\\vilib\\platform\\ddellb去找。
DDE(Dynamic data exchange)的工作原理是:
甲方申请一块全局内存,然后把内存指针postmessage到乙方,
乙方根据收到的指针访问那块全局内存。
有几个API函数是做这种事的,你在MSDN里查一下 Dde 打头的函数全都出来了。
因为是已经淘汰的技术,连MFC都没对他进行封装。
很难保证它同样会出现在以后的Windows API中。
DDE = Dynamic Data Exchange,是 16 位 Windows 时代实现不同应用程序之间互相交换数据和控制的技术,现在用得很少了,Windows Shell 外壳打开某些文件类型还用到 DDE。
OLE = Object Linking and Embedding,从 16 位 Windows 时代发展而来,建立在 COM 基础之上(实际上 OLE 是 COM 的第一个实际应用,OLE 标准推出时,COM 标准还没有定型;COM 的成熟取决于 OLE 在技术上的成熟),最近看到的 COM 标准是 09 版。请参考其他资料得到能全面的知识。
参考资料:
作为DDE的服务器,
Excel
作为DDE客户端
1)打开WinCC项目,在WinCC
Explorer
中
“计算机属性->启动”中添加应用程序
:
DdeServexe
,同时添加命令行参数
:
/v
/n
。
2)激活WinCC
后,会d出
WinCC
DDE-Server
对话框,点击
Tag
List
按钮:
在列表中选择想要访问的变量,点击“确定”,这样该变量的连接信息就被拷贝到Windows剪贴板。
3)
打开Excel
,随便(双击)选中一个单元格,将Windows剪贴板的内容拷贝到该单元格中,然后在第一个字符前添加
“=”,这样就完成对单元格的输入。这时在Excel中就能够得到WinCC的内部和外部过程数据了。
4)
如果要访问多个变量,请重复步骤
2)
和
3)。
注意:DdeServexe
需要一直运行。
2WinCC
作为DDE的服务器,
VB
作为DDE客户端
1)打开WinCC项目,在WinCC
Explorer
中
“计算机属性->启动”中添加应用程序
:
DdeServexe
,同时添加命令行参数
:
/v
/n
。
2)激活WinCC。
3)打开VB,在窗体上放置
TextBox
控件,设置该控件的下列属性
:
a)LinkTopic=WinCC|\\计算机名称\该WinCC项目的文件夹的共享名\该WinCC项目名mcp
b)LinkItem=WinCC的变量名称
c)LinkMode=Automatic
。该只要属性一生效,此TextBox控件就能在编辑状态下取得WinCC
变量的值。
3WinCC
作为DDE的客户端,Excel
作为DDE服务器(本地)
1)打开WinCC
Explorer,在“变量管理”中
建立“WINDOWS
DDE”通道和连接,其连接属性中:
“计算机名称”为空;
“应用程序”
为Excel;
“主题”为
[Excel文件名]工作表名
,比如
[book1xls]sheet1
。
2)建立新变量,在变量属性中选择地址,条目名称填:
r
行数c列数,比如
r1c1
(表示第一行第一列的单元格)
3)重复步骤2)可以加入更多的DDE变量。我判断是策略大师公司不再发放免费的午餐了。他们当初花了大价钱买来“顶牛dde系统”,就是为了消灭顶牛的免费服务。以便推销他们的“策略大师LEVEL2软件(200元/季)”;现在看来可能是将“顶牛dde系统”的核心技术偷到手了,如果是大家说的那些问题,论坛起码应该开,并给大家一个解释。认识一个混蛋是需要过程的,大家拭目以待!!我觉得就是不炒股,也不使用他们的软件!!!以上判断仅供参考!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)