WinCC与EXCEL通讯配置与研究 下载本文

内容发布更新时间 : 2024/5/17 17:01:21星期一 下面是文章的全部内容请认真阅读。

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(\xcelcode.xls\

Dim ObjExcelApp

Set objExcelApp = CreateObject(\xcel.Application\

'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

上面这个例子已经调试通过。网上有很多wincc值写入excel中的例子,一直找不到从excel中读取数据到wincc中的

例子,结合网上朋友的一些经验,这里给出个小例子,供大家参考。