实用文档
1、DDE简介
动态数据交换(DDE)是基于Windows的消息机制,两个Windows应用程序通过相互之间传递消息进行“对话”,这两个程序被分别称为“服务器”和“客户”。DDE服务器是一个维护着其他Windows程序可能使用的数据程序,而DDE
客户则是从服务器获得这些数据的程序。
DDE对话是由客户程序发动的。客户程序将一条称为WM_DDE_INTITIATE的消息发给当前运行的所有Windows程
序,这条消息指明了客户程序所需要的数据类别,拥有这些数据的DDE服务器可以响应这条消息,这样一个对话就开始
了。
DDE的对话方式有3种: ①服务器数据变化时,直接把数据送给客户,由客户对这些数据进行处理,这类对话方式称为热链;②服务器的数据变化时,服务器通知客户,再由客户取数据,这种方式称为温链; ③由客户申请数据、
服务器发送数据的方式称为冷链。
一、Wincc作为DDE的客户端,Excel作为DDE服务器(本地)
1、在变量管理上按鼠标右键--添加新的驱动程序--选“windows dde.chn”
图1
2、在DDE上按鼠标右键--新驱动程序连接--点属性,在其连接属性中:
“计算机名称”为空;“应用程序”为excel;“主题”为[]工作表名,比如[DDE.xls]sheet1。
实用文档
图2
3、在DDE\\excel下建变量,在变量属性中选择地址,条目名称填:r行数c列数,比如r1c1(表示第一行
第一列的单元格),重复步骤3可以加入更多的DDE变量
图3
4、Excel程序
图4 Wincc程序
图5 5 完成
实用文档
用OPC做比较省事。
WinCC做OPC Server,Excel做OPC Client。
这种情况下,WinCC端不需要做任何设置,只要在Excel 里用少量的代码就能实现双方的通讯。
对于WINCC与S7-300的通讯,首先要确定PLC的通讯口类型,PLC一般都集成了MPI/DP口,还可以安装通讯模块。计算机(PC)上安装适当的通讯卡(不同的通讯卡支持的通讯协议不同)。看你需要啦!
其次是WINCC软件里的通讯协议要与PC机对应。WINCC提供了SIMATIC S7 PROTOCOL SUITE 通讯驱动程序,包含了多种通讯协议!
最终还有自己亲自实际操作了才有深刻的了解的!!
Sub X6309X94AE9X0000X6539_OnClick(Byval Item)
Dim fso,myfile
Set fso = CreateObject(\
Set MyFile = fso.GetFile(\
Dim ObjExcelApp
Set objExcelApp = CreateObject(\
'objExcelApp.Visible = True objExcelApp.Workbooks.Open MyFile
'上面的程序段是为了打开d盘下叫Excelcode.xls名字的excel文件
objExcelApp.worksheets (\
objExcelApp.ActiveWorkbook.Save
'上面两行的作用是将wincc变量\的值写到Excel表中的A1格子里面,并且保持一下
Dim coldold
Set coldold=HMIRuntime.Tags(\
coldold.Value = objExcelApp.worksheets (\
'上面这两句的作用是将刚才保持到Excel表格中的数据重新读回wincc,存到\变量中,当然现在其实并
没有存入\变量,只是存在了叫coldold的临时变量里面
objExcelApp.Workbooks.Close
objExcelApp.Quit Set ObjEXceLapp = Nothing
'到这里为止,我们可以通过上面的语句关闭刚才打开的excel程序了
coldold.Write
'最后是把读到的excel值从临时变量coldold中写入它对应的\变量中
End Sub