文档库 最新最全的文档下载
当前位置:文档库 › WinCC与Excel的 本地DDE 通讯

WinCC与Excel的 本地DDE 通讯

WinCC与Excel的 本地DDE 通讯
WinCC与Excel的 本地DDE 通讯

WinCC与Excel的本地DDE 通讯

WinCC 作为DDE的服务器, Excel 作为DDE客户端

1)打开WinCC项目,在WinCC Explorer 中“计算机属性->启动”中添加应用程序:

DdeServ.exe ,同时添加命令行参数:/v /n 。

2)激活WinCC 后,会弹出WinCC DDE-Server 对话框,点击Tag List 按钮:

在列表中选择想要访问的变量,点击“确定”,这样该变量的连接信息就被拷贝到Windows剪贴板。

3)打开Excel ,随便(双击)选中一个单元格,将Windows剪贴板的内容拷贝到该单

元格中,然后在第一个字符前添加“=”,这样就完成对单元格的输入。这时在Excel 中就能够得到WinCC的内部和外部过程数据了。

4)如果要访问多个变量,请重复步骤2)和3)。

注意:DdeServ.exe 需要一直运行。

WINCC报表详解

在工业生产中报表一直占有非常重要的部分,它一般用来记录现场的工艺参数和统计信息。早期是由人工抄录然后统计出相关的报表。进入计算机控制阶段,这份工作就需要工控软件来实现。对于工控行业的工程师来说:如何开发适合用户需求的报表一直是个难题。论坛上很多人都在寻求灵活高效的解决方法。 经过这段时间的网上讨论。综合网友们的意见和建议,我们做了总结。并结合WinCC软件本身作了相关的说明。希望能对大家在以后的报表开发中有所帮助。 接下来就从报表的需求分析、WinCC报表系统的应用、复杂报表的WinCC报表系统实现这几个部分来分别介绍。最后总结出WinCC报表系统在应用的优缺点和常见的问题的解决方法。 一.报表的需求分析 从需求上来讲报表一般分为:内容上的需求、样式上和任务上的需求。 1.内容需求内容上一般涉及到数据的求和、平均、最大值、最小值等计算,同时也会涉及到关系的处理,比如班组相关对应信息的统计分析等。下面是一个很典型的报表需求,就很能说明这样的问题: 图1. 月报表分析 此报表是典型的工业现场应用,在数据采集没有难度。唯一的难度在于四班三倒后,每个月班的出勤日是不一样的,这样对于月报来说,计算出本月每个班的出勤日是需要些算法。此类报表在连续生产的行业需求很广泛。比如:钢铁冶金行业需要一天24小时不停运转的系统。 还有一种内容上是分总的关系,就是一部分是简单的数据记录,另一部分是对上一部分 数据的统计,比如汇总、求和、平均等。如下图也是很典型的应用。

图2. 总分报表 另外一种就是涉及到混合排列的问题,一张表上既有分项数据,中间也涉及到统计信息,同时也会添加一些实时的信息在上面。如下图。 图3. 复杂报表 这是一个复杂的报表,中间涉及到分项的记录,数据求平均,和一些操作信息的记录。既有历史数据也有实时信息。 当然更复杂的报表需求也是有的,比如说涉及到一张报表上既有实时信息又有历史信息同时还涉及趋势视图、报警信息等。用户自己可以灵活的定义报表的内容和样式。比如下图。

如何将step7变量自动导入到wincc

一、从WinCC里调用STEP 7 变量的前提条件 从WinCC里调用STEP 7 变量可以将建立变量的工作量减少一半,同时将建立变量的出错概率建设一半,从而减少了相应的排错工作,大大提高了工作效率。 从WinCC里调用STEP 7 变量的前提条件是,WinCC的项目文件必须是集成在STEP 7项目中的。 在安装所有Simatic 软件前,请查阅软件的安装注意事项,确定操作系统与软件的兼容性。该文档一般位于:CD\Documents\<语言版本>\InstallNotes.chm。 要使用WinCC与STEP 7的集成功能,WinCC和STEP 7必须安装在同一台计算机上,必须在安装WinCC之前安装STEP 7。STEP 7 与WinCC的版本必须一致。WinCC 与STEP 7的版本兼容行列表可以在西门子自动化与驱动集团的技术支持与服务网站上获得。 请STEP 7安装完毕后,进行WinCC安装。在WinCC安装过程中,请选择“自定义安装”,在communitation 下的所有选项都必须钩选。 二、在Simatic Manager里建立新的WinCC项目 在建立新的STEP 7项目后,可以在Simatic Manager里直接建立新的WinCC 项目。方法是在Simatic Manager里,右键点击项目名称,选择“Insert New Object\OS”。此时系统会在STEP 7 项目文件里建立一个WinCC项目文件你可以在OS站上点击右键,选择“Re name”来修改WinCC项目名称。 可以通过在名称上点击右键,选择“Open Object”打开并编辑这个WinCC项目 三、把现成的WinCC项目集成到STEP 7 项目中 按如下步骤把已有WinCC项目文件插入STEP 7项目文件 A. 在STEP 7项目文件中插入一个OS站,然后把它改名为已有的WinCC项目名称。 B. 在STEP 7项目里删除因仅插入OS站而产生的WinCC项目文件,其位置在STEP 7 项目文件夹里的wincproj文件夹下,例如: d:\siemens\STEP7\S7proj\STEP7_Integration\wincproj\Name of the OS C. 最后在项目复制器里用’Save as’把已有的WinCC项目文件存储到STEP 7项目路径下。项目复制器位于开始菜单项"Start > SIMATIC > WinCC > Tools"。 注意: 对于集成STEP 7项目里的WinCC项目,你也可以使用压缩工具(Packer)来归档WinCC项目。 四、把变量(符号表,共享DB,背景DB)从STEP 7传送到WinCC里 STEP项目文件里的符号表,共享DB里的变量可以一次性的传入继承的WinCC 项目文件。 具体步骤如下: A、为需要传输的变量打上“传输标志” 在需要传输的变量上点击右键,从关联菜单中选择“Special Object Properties \ Operator Control and Monitoring…”,打开Operator Control and Monitoring对话框,激活复选框“Operator Control and Monitoring”,并点击“OK”关闭对话框。此时该变量前将显示绿色小旗 如需对成批变量进行该操作,可以使用“Shift+鼠标左键”进行批选择,或

常用西门子WINCC与西门子PLC通讯连接方式

西门子WINCC6.0与SiemensPLC通讯连接有多种方式,下面介绍两种常用的通讯方式。 一、采用普通网卡通过TCP/IP与PLC通讯,通过以太网实现WICC6.0与PLC系统连接的前提条件是PLC系统配置有以太网模块或者使用带PN接口的PLC,以太网模块如 CP443-1或者CP343-1,带PN接口的PLC如CPU 315-2PN/DP。以下为采用普通网卡 CP443-1的通讯连接。 1. STEP7硬件组态 使用STEP7编程软件对PLC系统进行硬件组态,在“硬件”配置窗口插入实际的PLC 硬件,如图1所示: 图1 STEP7硬件组态 2. 双击CP443-1槽的CP443-1,弹出属性对话框,如图2所示:

图2 CP443-1属性对话框 3. 点击图2属性对话框,弹出网络参数设置对话框,点击“新建”按钮,新建一个以太网络,输入以太网模块CP443-1的IP地址,通常情况下,不需要启用网关。如图3 所示:

图3 参数设置 注意事项:如果采用TCP/IP协议通讯方式,必须启动“正在使用IP协议”,将组态好的硬件下载到CPU,则PLC设置完成了! 4. 设置安装WINN6.0(通常为工程师站ES和操作员站OS)计算机Windows操作系统的TCP/IP参数,将WINN组态计算机的IP地址设置成为与PLC以太网通讯模块或者PN接口地址保持在一个网段内。如图4所示: 图4 设置计算机IP地址 5. 添加新的驱动程序和设置系统参数,打开新创建的工程“test”,在项目管理栏里选择“变量管理”,单击右键选择“添加新的驱动程序”,如图5所示。

6. 在添加新的驱动程序文件夹里选择“SIMATIC S7 Protocol Suite.chn”,如6所示: 图6 驱动程序 7. 右键单击TCP/IP,在弹出菜单中点击“系统参数”,如图7所示。弹出“系统参数 -TCP/IP对话框”,选择“单元”标签,查看“逻辑设备名称”,一般默认安装后,逻辑 设备名为CP-TCP/IP。

wincc与PLC通讯设置

wincc与PLC通讯设置 WINCC与S7 PLC通过MPI协议通讯时,在PLC侧不须进行任何编程和组态;在WINCC上要对S7 CPU的站地址和槽号及网卡组态。 1、PC机上MPI网卡的安装和设置 首先,将MPI网卡CP5611插入PC机上并不固定好,然后,启动计算机,在PC机的控制面板中双击“Setting PG/PC interface”图表,弹出窗口中就会显示已安装的网卡,例如下图所示的是CP5611网卡安装后的界面: 2、在WINCC上添加SIAMTIC S7通讯协议 网卡安装正确后,打开WINCC,选择“Tag Management”击右键选择“Add New driver”,再弹出窗口中选择”SIAMTIC S7 protocol suite”连接驱动,将其添加到”Tag Management”向下,如下图: 协议组包括在不同网络上应用的S7协议,如MPI网,PROFIBUS网,以及工业以太网等在这些网络上,应用层是S7协议,这里我们通过MPI网通讯。 3、在WINCC通讯连接参数设置 选择MPI通讯协议并按右键选择“System parameter”进入如下图系统参数设置界面:

4、在WINCC上建立通讯连接 选择MPI通讯驱动并按右键选择“New driver connection”建立一个连接,如果连接多个CPU,每连接一个CPU 就需要建立一个连接,所能连接的CPU的数量与上位机所用网卡有关,例如 CP5611所能支持的最大连接数是8个,网卡的连接数可以在手册中查找。这里需要修改每个连接的属性,如选择CPU的站地址和槽号等,具体如下图: 连接S7-300 CPU时槽号都是2,连接S7-400 CPU时,槽号应参照STEP7硬件组态中的槽号,所有这些工作完成之后通讯就可直接以建立起来。 5、通讯诊断 如果此时通讯有问题,应检查网卡是否安装正确,通讯电缆和接头是否接触良好,组态参数是否正确等,如果使用CP5511,CP5611或CP5613通讯卡,诊断起来就比较简单,在PC机的控制面板PG/PC接口中,利用这些CP自身的诊断功能读就能出MPI网络上所有站地址,具体可参见下图: 如果CP5611的站地址是0,CPU的MPI的站地址是4,其诊断结果是0,4站被读出来,这样就可以判断连接电缆和插头是否接触良好,若网卡及站地址都没有错误,则WINCC的组态参数肯定有问题,须对此做进一步检查。 如果用户通讯使用的是PC adapter而不是上面提到的专用通讯卡,则问题的诊断就比较麻烦。

最新wincc生成excel

1 给wincc中通过vbs写excel的方式做报表的初学者一点脚本我对该帖子不做任何限制,都可以自由拷贝使用。方便初学者学习! //log子程序,40个数据记录,总共记录一周时间,写入excel,放到wincc 全局脚本中一分钟运行一次 //如果是要整点报表也简单,判断一下当前的系统时间,t的初始值根据当前时间定义。 //本程序主要是演示数据记录的过程。 //在c:\建立一个excel文件,该文件可以是你的报表模版 Option Explicit Function action Dim objExcelApp,objExcelbook,objExcelSheet Dim tagshijian,sheetname,username,zhushi Dim tagday Dim a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a1 8,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32,a33,a34,a3 5,a36,a37,a38,a39,a40

Dim i,j,t,count Dim msg Dim patch,fn Dim d,m,y,oh,mm,ss d=" " m="-" y="-" oh=":" mm=":" ss="" msg="记录报表成功" fn=CStr(Year(Now))&CStr(Month(Now))&CStr(Day(Now)) patch="c:\"&fn&".xls" Set a1=HMIRuntime.Tags("a1") Set a2=HMIRuntime.Tags("a2") Set a3=HMIRuntime.Tags("a3") Set a4=HMIRuntime.Tags("a4") Set a5=HMIRuntime.Tags("a5")

WINCC与STEP7模拟通信设置

WinCC与Step7-300通讯 4.1 通讯术语 (1)通讯 通讯用于描述两个通讯伙伴之间的数据交换。 (2)通讯伙伴 通讯伙伴是指可以相互进行通讯的模块,也可是说它们互相交换数据。它们可以是PLC中的中央处理器板和通讯处理器,也可以是PC中的通讯处理器。(3)通讯驱动程序 在WinCC中通讯驱动程序也指通道。它是一个软件组织,可在自动化系统和WinCC中的变量管理器之间设置连接,以便能向WinCC变量提供过程值。在WinCC中有很多通讯驱动程序,可通过不同的总线系统连接不同的自动化系统。(4)通道单元 通道单元指的是一种网络或连接类型。每个使用的通道单元必须分配给相关的通讯处理器。一些通道单元需要附加系统的组态。 (5)连接 连接是两个通讯伙伴组态的逻辑分配,用于执行已定意的通讯服务。每个连接有两个端点,它们包含对通讯伙伴进行寻址所必需的信息,以及用于建立连接的附件属性。 一旦WinCC与自动化建立正确的物理连接,就需要WinCC的通讯驱动程序和相关的通道单元来建立或组态与自动化系统间的逻辑连接。每个通道单元下可有多个连接。 4.2 建立WinCC与PLC间通讯的步骤 ●创建WinCC站与自动化系统之间的物理连接。 ●在WinCC项目中添加适当的通道驱动程序。 ●在通道驱动程序适当的通道单元下建立与制订通讯伙伴的连接。 ●在连接下建立变量。 WinCC变量管理器管理运行时的WinCC变量。它的任务是从过程中取出请求的变量值。 4.3 创建一个S7-300 PLC的项目 要实现WinCC与PLC间的通讯,首先要在PLC创建一个项目。 ●打开SIMATIC Manager,在File菜单下单击“New Project Wizard”,创建一个 项目名为zx的SIMATIC 300 Station。如图4-1所示。

Wincc V7.3用户归档深入5-用vbs将用户归档的内容导出到excel

Wincc V7.3用户归档深入5-用vbs将用户归档的内容导出到excel 我们在用户归档中得到数据之后,如果想导出到excel,思路是和把MSHFGrid数据导出类似的。网上有些文章是直接从后台数据表读取数据,本文介绍从数据归档控件导出数据。 1. 假设wincc项目已经创建了用户归档,画面上有一个用户归档控件,名字叫做UA,设置一个按钮,按钮点击事件添加以下vbs脚本 Sub OnClick(ByVal Item) Dim UA,col,row,rows Dim xlapp,objsheet Dim i,j,k,m,n,filename Set UA=ScreenItems("UA") Set rows=UA.GetRowCollection m=rows.Count n=UA.ColumnCount If m>1 Then '如果用户归档控件有记录 Set xlapp=CreateObject("Excel.Application") xlapp.visible=False xlapp.workbooks.add Set objsheet=xlapp.worksheets(1) For k=1 To n ua.ColumnIndex=k objsheet.cells(3,k)=ua.ColumnCaption '字段名称 Next objsheet.cells(1,1)="XX用户归档" For i=1 To m For j= 1 To n objsheet.cells(i+3,j)=ua.GetRow(i).celltext(j) Next Next '以下代码处理日期时间数据格式以及表格边框线、标题合并单元格等排版 objsheet.range("a1:d1").mergecells=True 'objsheet.range("a1").ColumnWidth =20 '列宽度 objsheet.cells(2,1)="生成时间:" objsheet.cells(2,2)=Year(Now) & "年" & Month(Now) & "月" & Day(Now) & "日" objsheet.cells(1,1).HorizontalAlignment = 3 objsheet.range("a3:d" &CStr(3+m)).borders(1).linestyle=9 objsheet.range("a3:d" &CStr(3+m)).borders(1).weight=2 objsheet.range("a3:d" &CStr(3+m)).borders(2).linestyle=9 objsheet.range("a3:d" &CStr(3+m)).borders(2).weight=2 objsheet.range("a3:d" &CStr(3+m)).borders(3).linestyle=9 objsheet.range("a3:d" &CStr(3+m)).borders(3).weight=2 objsheet.range("a3:d" &CStr(3+m)).borders(4).linestyle=9 objsheet.range("a3:d" &CStr(3+m)).borders(4).weight=2 '保存文件 filename= "c:\" & Year(Now) & "年" & Month(Now) & "月" & Day(Now) & "日-" & Hour(Now) & "点" & Minute(Now) & "分" & Second(Now) & "秒生成用户归档.xlsx"

SLC与WINCC通讯故障

S L C与W I N C C通讯故 障 文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]

PLC与WINCC通讯故障 基于SIEMENS PLC wincc链接不上电脑,检查步骤: 如果是S7-300,走的是MPI通讯 先检查PLC能否与STEP 7通讯,如不能则检查一下几点: 1.检查通讯线是否正常 2.打开STEP7编程软件,打开PG/PC口,在弹出的 查看物理链路MPI适配器上的拨码开关上的波特率是否与PG/PC硬件组态上的通讯口设置一致。 3.检查电脑端口(设备管理器中设置)设置上波特率是否与PG/PC口波特率设置一致 4.重新删除PG/PC口上的MPI接口,重新添加一遍 5.检查硬件组态是否与实际组态匹配一致 6.在线可连接点删除以前的程序块 基于以上几点,基本能连上step 7,可以通讯 STEP 7能通讯,但wincc通讯不上检查一下几项: 1.检查通讯线是否正常,安装到位 2.检查电脑是否有漏电,电压不稳现象 3.检查wincc通道的系统设置,参数有无匹配 4.检查PG/PC口设置是否匹配 5.检查电脑本地链接协议是否添加完整 如果是S7-300,走的是以太网通讯

也是先检查PLC能否与STEP 7通讯(这里所指直接网线与PLC下载组态,当然也可以MPI硬件组态,MPI组态检查上面已经罗列,这里不在解释),如不能检查一下几点 1.检查网线是否完好 2.检查PG/PC口的设置是否设置成本地网卡接口 3.检查本地电脑网卡是否工作正常,能否自适应,具体现象:本地电脑 和PLC网线连上显示无连接(不能自适应),解决办法:电脑与CP343-1中加个交换机 4.检查本地电脑,PLC是否有漏电,电压不稳现象 5.检查硬件组态是否与实际组态一致 6.检查CP343-1上的指示灯,是否有闪烁(如有,则是软件问题) 7.检查本地链接属性中SIMATIC NET是否安装完成 基于以上几点,基本能解决S7-300与STEP 7的通讯,若是能通讯STEP7,不能通讯WINCC 1.检查wincc通道的系统设置,参数有无匹配,是否指向本地网卡 2.检查PG/PC口设置是否匹配 3.检查电脑本地链接协议是否添加完整 4.IP地址是否与本地电脑在同一个网段,(ping一下PLC) 5.电脑命名是否与wincc程序命名一致 以上就是本人的一点点经验,希望可以帮助你们

wincc生成excel

给wincc中通过vbs写excel的方式做报表的初学者一点脚本 我对该帖子不做任何限制,都可以自由拷贝使用。方便初学者学习! //log子程序,40个数据记录,总共记录一周时间,写入excel,放到wincc 全局脚本中一分钟运行一次 //如果是要整点报表也简单,判断一下当前的系统时间,t的初始值根据当前时间定义。//本程序主要是演示数据记录的过程。 //在c:\建立一个excel文件,该文件可以是你的报表模版 Option Explicit Function action Dim objExcelApp,objExcelbook,objExcelSheet Dim tagshijian,sheetname,username,zhushi Dim tagday Dim a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21, a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32,a33,a34,a35,a36,a37,a38,a39,a40 Dim i,j,t,count Dim msg Dim patch,fn Dim d,m,y,oh,mm,ss d=" " m="-" y="-" oh=":" mm=":" ss="" msg="记录报表成功" fn=CStr(Year(Now))&CStr(Month(Now))&CStr(Day(Now)) patch="c:\"&fn&".xls" Set a1=HMIRuntime.Tags("a1") Set a2=HMIRuntime.Tags("a2") Set a3=HMIRuntime.Tags("a3") Set a4=HMIRuntime.Tags("a4") Set a5=HMIRuntime.Tags("a5") Set a6=HMIRuntime.Tags("a6") Set a7=HMIRuntime.Tags("a7") Set a8=HMIRuntime.Tags("a8") Set a9=HMIRuntime.Tags("a9") Set a10=HMIRuntime.Tags("a10") Set a11=HMIRuntime.Tags("a11") Set a12=HMIRuntime.Tags("a12") Set a13=HMIRuntime.Tags("a13") Set a14=HMIRuntime.Tags("a14") Set a15=HMIRuntime.Tags("a15")

如何把一个已经存在的 WinCC 项目集成到一个 STEP 7 项目中

返回列表 WinCC --

关于“装载和调试程序”的信息 如何把一个已经存在的WinCC 项目集成到一个STEP 7 项目中? 多重项目“Multiproject”功能对大型网络化的项目有哪些优势? 数据块初始值与实际值的含义 为什么项目、程序块或硬件组态根本无法打开,或者打开时出现错误信息,或是显示“只读”? WinCC -- 通信组态和编程-- S7通信(无PROFIBUS) 如何把一个已经存在的WinCC 项目集成到一个STEP 7 项目中? WinCC V5.0中可用插槽PLC吗? 使用MPI (CP5611)建立的WinCC与S7 之间的在线连接有哪些要求? 使用WinCC通过TCP/IP 通信需要哪种许可证? WinCC 访问S7-200 可使用哪些选项? 如何通过调制解调器建立到S7 的链接? 如何将WinCC 链接到S7 PLCSIM? 通过TS 适配器做WinCC 与S7 控制器的通讯,需要做哪些设置? 若要通过CP343-1 与S7 通讯,WinCC 系统需要哪些硬件和软件? 通过CP5611、CP5613 或CP1613,使用WinCC 和SIMATIC NET 访问S7 CPU 时,需要进行哪些设置?如何把一个已经存在的WinCC 项目集成到一个STEP 7 项目中? 显示订货号 配置说明

为了把一个 WinCC 项目导入一个STEP 7 项目中,必须安装下面的WinCC 组件:?SIMATIC Device Drivers ?Object Manager ?AS-OS Engineering 这些组件存在于WinCC 安装光盘中(图.01)。并且,WinCC 和STEP 7 必须安装在同一台计算机上。可以使用已经存在的归档WinCC 项目的压缩工具(packer)来把WinCC 项目导入到STEP 7项目中。 图. 01 注意 关于在不同版本的WinCC 中安装附加组件(以"Smart Tools"为例)的更多信息可以在条目:10880206中找到。 说明

组态上位机WINCC与PLC通讯连接

WINCC与PLC通讯连接 1.STEP 7 硬件组态 STEP7设置MPI通讯, 2.安装CP5611通讯板卡 3.添加驱动程序和系统参数设置 打开WINCC工程在Tag Management-->SIMATIC S7 PROTOCOL SUITE->MPI 右键单击MPI,在弹出菜单中点击System Parameter,弹出System Parameter-MPI对话框,选择Unit标签,查看Logic device name(逻辑设备名称)。默认安装后,逻辑设备名为MPI 4.设置Set PG/PC Interface 进入操作系统下的控制面板,双击Set PG/PC Interface图标。在Access Point of the Application:的下拉列表中选择MPI (WINCC),如图1.4所示,而后在Interface Parameter Assignment Used:的列表中,点击CP5611(MPI),而后在Access Point of the Application:的下拉列表中显示:MPI (WINCC)?CP5611(MPI), 设置CP5611的通讯参数,点击Proerties….按钮,弹出Properties-CP5611(MPI)属性对话框,设置参数 重要的参数如下所示: Address: CP5611的地址(MPI地址必须唯一,建议设置为0) Transmission Rate: MPI网络的传输速率(默认为187.5Kbps)您可以修改,但必须和实际连接PLC的MPI端口的传输速率相同) Highest Station Address: MPI网络的最高站地址(必须和PLC的MPI网络参数设置相同) 诊断MPI网络,点击Diagnostic…按钮,进入诊断对话框。如下图所示:Test按钮点击后,显示OK表示CP5611工作正常。点击“Read”按钮后,将显示所有接入MPI网络中的设备的站地址,如果只能读到自己的站地址,此时,请查看MPI网络和硬件连接设置,只有成功读取到CPU的站点地址,才能进行以下的步骤,否则,不可能建立通讯。 .添加通道与连接设置 添加驱动连接,设置参数。打开WINCC工程在Tag Management-->SIMATIC S7 PROTOCOL SUITE->MPI,右键单击MPI,在下拉菜单中,点击New Driver Connection,如图1.7所示,在弹出的Connection properties对话框中点击Properties按钮,弹出Connection parameters-MPI属性对话框 重要的参数如下所示: Station Address:MPI端口地址 Rack Number:CPU所处机架号,除特殊复杂使用的情况下,一般填入0 Slot Number:CPU所处的槽号

WinCC和EXCEL数据传递

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("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中的例子,结合网上朋友的一些经验,这里给出个小例子,供大家参考。

在wincc 中怎么做才能把报表生成按日期的excel 文件

在wincc 中怎么做才能把报表生成按日期的excel 文件在wincc 中怎么做才能把报表生成按日期的Excel 文件 VBS脚本实现,就是把文件名称以变量的形式表示。参考 '关闭保存 Dim patch,filename filename=CStr(Year(Now))&CStr(Month(Now))&CStr(Day(Now))&CStr(Hour(N ow))+CStr(Minute(Now))&CStr(Second(Now)) patch= "d:\"&filename&"demo.xls" objExcelApp.ActiveWorkbook.SaveAs patch objExcelApp.Workbooks.Close objExcelApp.Quit Set objExcelApp= Nothing 对于Excel报表,用VBS最灵活,Excel 定义好格式后wincc来填空,平均累计值就用Excel 的功能。 Dim excelapp Dim aa,bb,cc Set excelapp = CreateObject("Excel.Application") Set aa = HMIRuntime.tags("tag1") excelapp.visible = False'True excelapp.workbooks.open "D:\excel.xls" bb = Now 'getcurrent_datetime() aa.Read MsgBox CStr(bb) excelapp.cells(1,1).value = "rrrrrr"'111111 excelapp.cells(1,2).value = CStr(bb)

【WinCC】使用VBS读取报警记录数据到EXCEL

【WinCC】使用VBS读取报警记录数据到EXCEL 1概述 介绍如何在WinCC项目中使用VBS脚本读取报警记录归档数据,并把获取的数据保存成新的Excel文件。 2软件环境 Windows XP SP3中文版、WinCC7.0 SP2 ASIA、Microsoft office Excel 2007 3访问原理 WinCC报警记录数据是以压缩的形式存储在数据库中,需要通过WinCC连通性软件包提供的OLE-DB接口才能够解压并读取这些数据。 当使用OLE-DB方式访问数据库时关键需要注意连接字符串的写法和查询语句的格式。连接字符串格式为“Provider=WinCCOLEDBProvider.1; Catalog= ***; Data Source= ***;”,其中:Catalog为WinCC运行数据库的名称,当修改项目名称或在其它计算机上打开原项目时, Catalog会发生变化。建议使用WinCC内部变量“@DatasourceNameRT”获得当前项目的Catalog。Data Source 为服务器名称,格式为“<计算机名称>\WinCC”。 3.1 查询语句格式 查询语句的格式要求如下: AlARMVIEW:SELECT * FROM [ WHERE……optional ] 其中参数信息如下所示: ViewName:数据库表名。必须用需要的语言指定该表。 比如:中文字符表名为:ALGVIEWCHT,英文字符表明为:ALGVIEWENU等。 Condition:为过滤标准。 详细说明请参见下表:

表1查询参数表 3.2查询结果 查询结果作为记录集返回。可以根据需要有选择的返回特定的数据集。例如:oRs.Fields(0).Value 返回的是消息的编号;oRs.Fields(2).Value 返回的是消息的时间戳;oRs.Fields(37).Value返回的是消息文本的内容。记录集的结构如下表所示:

Wincc报表Excel

Sub OnClick(Byval Item) Dim MyVar1 Dim MyVar2 Dim objExcel Dim wb Dim xlsheet Dim rangee Dim Years,mounth,Days,hours,min,sec,daysweek Dim jj,kk,year1,mounth1,Days1,hours1,min1,sec1 Dim yi,er,san,si,wu,i,i1,lei,lei1,lei2,lei3,lei4,lei5 Dim zhou,yue,nian Dim shi,feng,miao,mytime Dim MyHour,MyMinute,myday,mymonth,myyear,a,b,c,d,e,f Set MyVar1=HMIRuntime.Tags("MyVar1") MyVar1.Write Date Set MyVar2=HMIRuntime.Tags("MyVar2") MyVar2.Write Time year1 = CStr(MyVar1.value) mounth1 = CStr(MyVar2.value) kk="d:\report2\" jj=".xls" Set yi = HMIRuntime.Tags("hunhe_1") yi.Read Set er = HMIRuntime.Tags("hunhe_2")

er.Read Set san = HMIRuntime.Tags("hunhe_3") san.Read Set si = HMIRuntime.Tags("hunhe_4") si.Read Set wu = HMIRuntime.Tags("hunhe_5") wu.Read Set objExcel = CreateObject("Excel.Application") objExcel.Visible = True Set wb=objExcel.Workbooks.Open ("c:\ExcelExample2.xls") Set xlsheet = wb.sheets("Sheet1") xlsheet.range("B4").Value=yi.Value xlsheet.range("C4").Value=er.Value xlsheet.range("D4").Value=san.Value xlsheet.range("E4").Value=si.Value xlsheet.range("F4").Value=wu.Value wb.SaveAs kk & year1 & jj wb.CLOSE objExcel.quit wb=Nothing

用VBS实现WINCC的用户归档输出到EXCEL表格的方法和例

用VBS实现WINCC的用户归档输出到EXCEL表格的方法和例 (2009-12-30 16:47:45) 转载 标签: 杂谈 用VBS实现WINCC的用户归档输出到EXCEL表格的方法和例子程序 求用VBS实现WINCC的用户归档输出到固定格式的EXCEL表格的方法和例子程序!我主要问题在SQL数据库的查询语句不会。 看见论坛里有关用VBS实现EXCEL的数据查询和导出,我现在想要完成如下功能:每分钟将数据归档,用户可以输入任意的时刻时间查询从任意时刻开始的之后每隔1小时的数据(有点像日报里的24个小时)。我现在对于VBS查询数据库的语句不懂,望大大赐教!谢谢 ''SQL查询语句 Dim strc as string strc = "provider=WinCCOLEDBProvider.1;catalog=CC_RebdI_09_06_22_10_3 8_35R;data source=ComputerName\WinCC" ''这个连接字符串可以在SQl2000中看到 Dim cc1 Set cc1=CreateObject("adodb.connection") cc1.ConnectionString=strc cc1.CursorLocation=3 cc1.open Dim rst As Object Set rst = CreateObject("adodb.recordset") dim ssql as string ssql = "Tag:R,'Archive_3\DB1DBD0','2009-7-29 00:00:00.0000','200 9-7-29 23:59:59.999','timestep=3600,258'" ''Archive_3\I_DB1DBD0归档和变量 ''2009-7-29 00:00:00.0000,2009-7-29 23:59:59.999时间段 ''timestep=3600,258每阁多少秒拿一个数据(3600=1小时),258表示每个时间段取最后一个数据 rst.Open ssql, cc1 ''这样查出来的数据就是一天的每小时的数据 ''对rst记录集处理就可以得到你要的数据 ==========================

在STEP里面创建WINCC项目完整版

在S T E P里面创建W I N C C项目集团标准化办公室:[VV986T-J682P28-JP266L8-68PNN]

一、从WinCC里调用STEP 7 变量的前提条件从WinCC里调用STEP 7 变量可以将建立变量的工作量减少一半,同时将建立变量的出错概率建设一半,从而减少了相应的排错工作,大大提高了工作效率。从WinCC里调用STEP 7 变量的前提条件是,WinCC的项目文件必须是集成在STEP 7项目中的。在安装所有Simatic 软件前,请查阅软件的安装注意事项,确定操作系统与软件的兼容性。该文档一般位于:CD\Documents\<语言版本>\。要使用WinCC与STEP 7的集成功能,WinCC 和STEP 7必须安装在同一台计算机上,必须在安装WinCC之前安装STEP 7。STEP 7 与WinCC的版本必须一致。WinCC与STEP 7的版本兼容行列表可以在西门子自动化与驱动集团的技术支持与服务网站上获得。请STEP 7安装完毕后,进行WinCC安装。在WinCC安装过程中,请选择“自定义安装”,在communitation 下的所有选项都必须钩选。二、在Simatic Manager里建立新的WinCC 项目在建立新的STEP 7项目后,可以在Simatic Manager里直接建立新的WinCC项目。方法是在Simatic Manager里,右键点击项目名称,选择“Insert New Object\OS”。此时系统会在STEP 7 项目文件里建立一个WinCC项目文件你可以在OS站上点击右键,选择“Re name”来修改WinCC项目名称。可以通过在名称上点击右键,选择“Open Object”打开并编辑这个WinCC项目 三、把现成的WinCC项目集成到STEP 7 项目中按如下步骤把已有WinCC项目文件插入STEP 7项目文件 A. 在STEP 7项目文件中插入一个OS站,然后把它改名为已有的WinCC项目名称。B. 在STEP 7项目里删除因仅插入OS站而产生的WinCC项目文件,其位置在STEP 7 项目文件夹里的wincproj文件夹下,例如:d:\siemens\STEP7\S7proj\STEP7_Integration\wincproj\Name of the OS C. 最后在项目复制器里用’Save as’把已有的WinCC项目文件存储到STEP 7项目路径下。项目复制器位于开始菜单项"Start > SIMATIC > WinCC > Tools"。注意:对于集成STEP 7项目里的WinCC项目,你也可以使用压缩工具(Packer)来归档WinCC项目。四、把变量(符号表,共享DB,背景DB)从STEP 7传送到WinCC里 STEP项目文件里的符号表,共享DB里的变量可以一次性的传入继承的WinCC项目文件。具体步骤如下: A、为需要传输的变量打上“传输标志” 在需要传输的变量上点击右键,从关联菜单中选择“Special Object Properties \ Operator Control and Monitoring…”,打开Operator Control and Monitoring对话框,激活复选框“Operator Control and Monitoring”,并点击“OK”关闭对话框。此时该变量前将显示绿色小旗如需对成批变量进行该操作,可以使用“Shift+鼠标左键”进行批选择,或者使用“Ctrl +鼠标左键”对成批选择的变量进行个别增减。为共享DB的变量做注释在需要传输的变量上点击右键,从关联菜单中选择“Object Properties”,打开Properties 对话框,在对话框第一行的Attribute 中输入 S7_m_c ,Value 为ture,并点击“OK”键退出。此时被选中变量前被用红色小旗标志. 为背景DB的变量做注释打开相应的FB,在需要传输的变量上点击右键,从关联菜单中选择“Object Properties”,打开Properties 对话框在Attribute页第一行输入 S7_m_c ,Value 为ture并点击“OK”键退出开启共享和背景DB的操作和监视功能 DB里的变量被标志后,必须启动DB的“Operater control and monitor”功能才能启动变量传输。 在simatic maneger 窗口中右击所需传送变量的DB,在弹出的菜单中选择 special object- >operetor control and monitoring,在接下来的对话框中将Operater control and monitor复选框钩上。选中该复选框后,“WinCC Attributes”页被显示,其中列举了所有被标准过的变量。 B、将被标志的变量传送到WinCC项目文件中在SIMATIC Manager的菜单中选中选项“Options\OS\Compling…”在弹出的对话框中直接点next 直到开始编译。编译完成后,弹出integration2对话框,选择第一项,并用“OK”键确认。编译完成后系统会提示编译是否成功,如果失败会弹出相应的记录文件。编译成功后,打开WinCC项目文件。可以看到,系统已经在变量管理器里自动生成了相应的WinCC变量。在WinCC里需要变量引用的位置进行变量选择,出现变量选择对话框后,选中对话框右上角的“STEP 7 Symbol Server”复选框。此时,对话框右侧变量选择列表中将显示“STEP 7 Symbol Server”列表。从改列表中可以显示STEP 7符号表和共享数据块里的所有变量

相关文档