WinCC 和EXCEL 数据传递 D 用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("scripting.FileSystemObject") Set MyFile = fso.GetFile("d:\Excelcode.xls") Dim ObjExcelApp Set objExcelApp = CreateObject("Excel.Application") 'objExcelApp.Visible = True objExcelApp.Workbooks.Open MyFile '上面的程序段是为了打开d 盘下叫Excelcode.xls 名字的excel 文件 objExcelApp.worksheets ("sheet1").Cells(1, 1).VAlue = HMIRuntime.Tags("usercodenew1").read objExcelApp.ActiveWorkbook.Save '上面两行的作用是将wincc 变量"usercodenew1"的值写到Excel 表中的A1 格子里面,并且保持一下 Dim coldold Set coldold=HMIRuntime.Tags("usercodeold1") coldold.Value = objExcelApp.worksheets ("sheet1").Cells(1, 1).value '上面这两句的作用是将刚才保持到Excel 表格中的数据重新读回wincc,存到"usercodeold1"变量中,当然现在其实并没有存入"usercodeold1"变量,只是存在了叫coldold 的临时变量里面 objExcelApp.Workbooks.Close objExcelApp.Quit Set ObjEXceLapp = Nothing '到这里为止,我们可以通过上面的语句关闭刚才打开的excel 程序了 coldold.Write '最后是把读到的excel 值从临时变量coldold 中写入它对应的"usercodeold1"变量中 End Sub 上面这个例子已经调试通过。网上有很多wincc 值写入excel 中的例子,一直找不到从excel 中读取数据到wincc 中的例子,结合网上朋友的一些经验,这里给出个小例子,供大家参考。 估计考虑到后些天要用到EXCEL 与WINCC 的通讯,我看了些书,在西门子的论坛上看到了一个现场做好的通讯成功例子.通过自己来做,通讯成功. 例子地...