WinCC高速数据采集
利用PLC实现Wincc与EXCEL对现场数据的采集【完整版】

利用PLC实现Wincc与EXCEL对现场数据的采集【完整版】(文档可以直接使用,也可根据实际需要修订后使用,可编辑放心下载)利用PLC实现Wincc与EXCEL对现场数据的采集〔叶新林邓权张志华〕1.引言随着计算机硬件和软件技术的开展及工业自动化与企业信息化程度的不断提高,大量的计算机被应用于现场设备的控制和现场数据的采集中。
同时各种控制和监控软件不断的产生和更新,各种控制系统之间的数据通讯与资源共享越来越多地被使用,一时间呈现出“百家争鸣〞的现象。
在目前的工控软件中根本上都会提供DDE效劳器或OPC(OLE forProcess Control),使用户只需开发出符合自己要求的客户端软件即可实现实时数据的存取与分析。
一般供给商所提供的样例程序均为VB编写,但编程人员更多使用的是VC、DELPHI等编程软件,而对于普通的计算机应用者来说,这需要花很多的时间和精力去学习太多的编程语言,为此我们在对西门子Wincc的学习、研究、应用中,选用了Wincc中的DDE实时数据采集方法。
将采集的数据存入EXCEL中,采用两台服备器及现场客户机方式,通过DEBackup 定时备份软件,通过数据采集效劳器定时将数据备份到数据备份效劳器中。
各客户机安装Wincc监控软件,负责数据的显示、归档、查询、各班别之间的交班操作、清零等工作。
此方法简单,不需要学习很多语言,只要对EXCEL熟悉,并学会一点EXCEL中的VBA编程就能将PLC中的现场数据采集到办公系统中,实现数据的自动统计、分析、汇总等操作。
2.功能说明2.1数据采集硬件配置网络图系统由光纤工业以太网连结,各系统之间既互相独立又互相联系。
2.2采集/备份服备器采集/备份服备器以windowsXP系统作为操作系统、wincc6.0为现场PLC数据采集系统、excel为现场数据处理系统、DEBackup为现场数据备份系统,现场数据通过工业以太网,以OSI协议,通过Wincc采集,经excel处理,DEBackup 备份进入计算机硬盘中,为用户提供可靠数据。
利用BSENDBRCV功能实现S7-300400与WinCC的大数据量交换new

利用BSEND/BRCV功能实现S7-300/400与WinCC的大数据量交换Bulk Data Exchange between S7-300/400 and WinCC with BSEND/BRCV Function摘要本文介绍了如何在WinCC中使用BSEND/BRCV类型的原始数据类型,来实现与S7-300/400 PLC的大数据量交换。
关键词BSEND/BRCV,原始数据Key WordsBSEND/BRCV, Rawdata网上课堂-/service/e training/Page 2-14目录一.WinCC BSEND/BRCV功能介绍 (4)二.Step7 中的组态: (4)三.WinCC的设置: (8)附录-推荐网址 (14)一.WinCC BSEND/BRCV功能介绍支持Rawdata(原始数据)类型的变量,可以实现和PLC的批量数据交换。
其中WinCCSend/Receive类型的Rawdata变量因其受PDU尺寸的限制(240/480字节),故最大数据尺寸为208/448 字节,能够实现中小规模的批量数据交换。
但对于大批量的数据交换可以考虑使用AR_SEND和BSEND/BRCV功能。
两者都需要PLC 端调用功能块,主动将最大16K字节的数据发到WinCC的Rawdata变量。
AR_SEND(SFB37)只适用于S7-400 系列PLC,S7-300PLC不支持。
关于此内容请参见WinCC的帮助文档和西门子网上课堂中ID号为227 :《如何实现WinCC对S7-400的高速数据采集》。
而对于BSEND/BRCV 功能,PLC端需要调用BSEND/BRCV功能块(SFB12/13或FB12/13)发送到或接收WinCC的Rawdata变量。
主要适用于S7-400PLC,现在使用有集成的PN口的S7-300PLC也可以实现,如CPU315 2DP/PN。
WinCC无法直接在画面中使用该变量,需要用脚本处理字节数组的方式来访问它;或在WinCC用户归档中使用该变量(关于用户归档中如何使用RawData的内容,请参见《WinCC组态手册》第三册)。
WinCC中高速数据采集的实现

表3单位(范围)
单位(范围)的值 1
2
3
4
5
6
7
含义
保留保留 nm
s
rrfin
h
d
单元(类型)指定时间信息的类型并修改“过 程值的数目”。单元(类型)的含义如表4所示。
·348·
表4单元(类型)
单元(类型) 的值
查日
人秽
在相等的时标志中绘出,过程值之间的时间闻隔由
.
。
间标志应用于过程值。
(4)过程数据一数据类型、过程值数目 过程数据一数据类型用来定义发送的过程值 的数据类型,可以定义为字节、字、整数、双字、双 整、实数等类型。根据“单元(类型)”中的设置,所 传送的数据区包含指定数量的过程值(如时间标 志、相对时间差、AR一Ⅲ子编号等)。传送数目受 到所传送的数据区的最大长度(16 KB)的限制。 过程数据一数据类型与PIE,WinCC中过程值数据 类型的对应关系如表5所示。
数据块对应多个归档变量,还需要设置All—ID—
Subnumbero
在WinCC资源管理器中打开“计算机属性”, 在“启动”页中选中“变量运行记录系统”。其它如 画面显示、由WinCC激活PLC启动All—SEND等 功能与普通应用相同,可根据需要添加相应设置。 4应用效果
OPC服务器配置

WinCC OPC服务器配置1. OPC操作引言WinCC OPC服务器和OPC客户机之时的数据交换通过DCOM进行。
安装WinCC后,WinCC OPC服务器的DCOM设置正确。
如下情况设置必须改变:" 如果登记到OPC客户机或服务器计算机的用户没有管理员员限" 如果用不同于OPC客户机的帐号登记OPC服务器。
注意下列说明描述了授员OPC服务器的完整版本,没有考虑安全性需求。
这些设置允许通过OPC进行连接。
建议这些设置由网络管理员完成。
组组DCOM需要Windows 2000或Windows XP 网络技术的基础知识。
关于DCOM和许可的附加信息可以参见Windows 2000或Windows XP文档。
2、改变DCOM 设置引言安装WinCC后,WinCC OPC服务器的DCOM设置正确。
如下情况设置必须改变:" 如果登记OPC客户机或服务器计算机的用户没有管理员员限" 如果用不同于OPC客户机的帐号登记OPC服务器注意下列说明描述了授员OPC服务器的完整版本,没有考虑安全性需求。
这些设置允许通过OPC进行连接。
建议这些设置由网络管理员完成。
组组DCOM需要Windows 2000和Windows XP 网络技术的基础知识。
关于DCOM和许可的附加信息可以参见Windows 2000和Windows XP文档。
2.1 改变Windows 2000的DCOM 设置先决条件在OPC客户机计算机的用户管理器中,创建WinCC OPC服务器用于运行的用户帐号。
反过来,在OPC服务器计算机上建立客户机的用户帐号。
62 在线帮助的发行版步骤从开始菜单中选选“运行...”并输入“dcomcnfg.exe”。
显示“分布式COM组组属性”对对框。
2 选选“该用程序”标标并在列表中定位“OPCServer.WinCC”。
如果是WinCC OPC HDA服务器,必须使用条目“OPCHDAServers.WinCC”。
利用BSEND-BRCV功能实现S7300400与WinCC Professional的大数据量交换

C o p y r i g h t ãS i e m e n s A G C o p y r i g h t y e a r A l l r i g h t s r e s e r v e d目录1WinCC BSEND/BRCV 功能介绍 (32)经典STEP 7和WinCC(TIA Portal)的组态 ........................................................ 42.1经典STEP 7组态 ................................................................................ 42.2组态WinCC 站 ..................................................................................... 42.3组态WinCC 的连接和变量 ................................................................... 52.4组态WinCC 的画面和脚本 ................................................................... 62.5调试项目 . (7)3STEP 7(TIA Portal)和经典WinCC 的组态 ......................................................... 93.1组态PLC 的硬件设备 ........................................................................... 93.2组态PLC 的网络连接 ........................................................................... 93.3编写PLC 程序 ................................................................................... 113.4组态WinCC 的连接和变量 ................................................................. 133.5组态WinCC 画面和脚本 .................................................................... 143.6调试项目 (16)4TIA Portal 中STEP 7和WinCC 的组态 .......................................................... 184.1TIA Portal 中STEP 7的组态 ............................................................. 184.2TIA Portal 中WinCC 的组态 .............................................................. 184.3调试项目 (18)C o p y r i g h t ãS i e m e n s A G C o p y r i g h t y e a r A l l r i g h t s r e s e r v e d1WinCC BSEND/BRCV 功能介绍同经典WinCC 相同,WinCC Professional 也支持Rawdata (原始数据)类型的变量,可以实现和PLC 的批量数据交换。
Wincc中通过GES OPC Serve与GE9030实现数据采集

Wincc中通过GES OPC Serve与GE9030实现数据采集介绍了OPC应用的工业控制领域,OPC采用客户机、服务器体系结构,是目前工业控制中广泛采用的一项技术。
OPC接口凭借其开放性、可靠性,已经成为一种国际标准。
各个自动化厂商产品可以通过OPC接口实现无缝连接。
本文主要阐述了Wincc组态软件的OPC连接功能,具体介绍了Wincc作为OPC客户端,如何通过GES OPC Serve读取GE 9030 PLC的变量,并给出具体实施方案。
标签:OPC;Wincc;GES OPC Serve1 应用背景二炼钢铸机控制系统由GE9030 PLC、上位机组成。
连铸机参数监控及控制画面作为生产组织的其中一个重要组成部分,采用GES OPC Server 作为服务器驱动读取PLC 过程数据。
2 使用中存在的问题及影响(1)存在的问题:现场环境存在高温、粉尘等,影响使用寿命、维护工作量;两台铸机使用一套上位机,上位机处于24小时运行状态,数据交互频繁,HMI更新及操作不灵活;OPC对PLC数据的重复读取,主PLC通讯不畅,出现网络故障;数据大量交互,造成PLC以太网模块端口“堵塞”。
出现以上问题时,HMI显示为:生产停止数据更新,具体表现为HMI画面数据停止于某一时刻;CPU模块和以太网模块状态灯表现正常,交换机检查确认正常,Wincc界面输入输出窗口显示为灰色。
(2)HMI界面数据更新停止的情况下,轻则的安排大量的操作人员负责监视现场设备,加大了现场操作人员的工作量;严重时则导致整个连铸生产停止,造成生产过程的中断,家中成本控制。
3 对存在的问题的分析处理针对时常出现的此类故障现象分析:主要由于二冷水的改造过程中,未更新CPU模块,但是增加了大量的模拟量控制点位及配水程序;HMI界面对数据的请求增加。
上位机老旧,且是多次维修处理后使用,综合以上情况,决定更换适应复杂环境的工控机。
在现有PLC模块和工控机系统的基础上,使用新版本的OPC来做Wincc和PLC之间的通讯连接。
Wincc常见问题50问要点

1问:如何触发计算机扬声器的声音?答:编写如下C-Action:#pragmacode("kernel32.dll");BOOLBeep(DWORDdwFreq,DWORDdwDuration);#pragmacode();Beep(500,500);2、问:如何通过C脚本来确定报警信息?答:首先必须在画面中插入报警控件,可以用如下两种方式来确认信息:(1)、确认单条信息4版本和高于此版本的WinCCBOOLOnBtnSinglAckn(char*lpszPictureName,char*lpszObjectName)5版本和高于此版本的WinCCBOOLAXC_OnBtnSinglAckn(char*lpszPictureName,char*lpszObjectName)(2)、确认报警窗口所有可见的报警4版本和低于此版本的WinCCBOOLOnBtnVisibleAckn(char*lpszPictureName,char*lpszObjectName)5版本和高于此版本的WinCCBOOLAXC_OnBtnVisibleAckn(char*lpszPictureName,char*lpszObjectName)3、问:如何在WinCC中读取系统时间?答:通过如下C-Action:#pragmacode("kernel32.dll");VoidGetLocalTimes(SYSTEMTIME*lpst);#pragmacode();SYSTEMTIMEtime;GetLocalTime(&time);SetTagWord("Varname",time.wYear);SetTagWord("Varname",time.wMonth);SetTagWord("Varname",time.wDayOfWeek);SetTagWord("Varname",time.wDay);SetTagWord("Varname",time.wHour);SetTagWord("Varname",time.wMinute);SetTagWord("Varname",time.wSecond);SetTagWord("Varname",time.wMilliseconds);4、问:如何经Windows对话框设置日期时间?答:通过调用Windows对话框实现。
基于WinCC的数据采集和监控系统设计

基于WinCC的数据采集和监控系统设计.txt大人物的悲哀在于他们需要不停地做出选择;而小人物的悲哀在于他们从来没有选择的机会。
男人因沧桑而成熟,女人因成熟而沧桑。
男人有了烟,有了酒,也就有了故事;女人有了钱,有了资色,也就有了悲剧。
本文由stayfordie贡献pdf文档可能在WAP端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
2007年第 4期工业仪表与自动化装置53基于 W inCC的数据采集和监控系统设计张晓杰, 刘海昌(平顶山工学院电气与电子工程系, 河南平顶山 467001) 摘要: 针对工程的具体情况, 结合 W inCC 的特点, 提出了使用 W inCC 监控系统的硬件配置, 介绍了如何利用 W inCC 创建动态人机界面, 实现过程监控的具体步骤, 并给出了一些功能实现的编程技巧与相关源程序。
关键词: W inCC; 组态软件; 人机界面; 过程控制; PLC 中图分类号: TP319 文献标识码: A 文章编号: 1000- 0682( 2007) 04- 0053- 03Th e design of data acqu isition and supervisory system based on W inCCZ HANG X iao jie L I H a i chang , U(P ingd ing shan Institute of Technology, H enan P ingd ingshan 467000 China ) , Abstract T his artic le puts forw ards the system hard are configurat io n accord ing to the wo rk ing con : w d it io ns and th e characteristics ofW inCC, and presents th e m e th od of estab lish ing a dyna ic HM I and i m m p lem enting the monitorin g process by using theW inCC system. T he paper also summ arizes som e program m ing techn iques to fulfil required funct io ns. K ey w ords: W inCC; conf ig uration softw are HM I process contro;l PLC ; ;0 引言平顶山中盐皓龙有限责任公司是由中国盐业总公司控股的一家大型的食盐生产加工企业, 是我国目前最大的食盐定点生产企业之一。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
WinCC 高速数据采集的实现
在一些应用场合,需要上位机对高速变化的过程数据进行归档记录。
对于一般的网络通讯方式来说,WinCC能提供的最高刷新速度是250毫秒,但WinCC采用RawData归档数据链接的方式可以实现对S7-400 PLC的高速数据采集。
原理是PLC将每个循环周期所采集的过程值(或PLC以其他方式得到的数据或数据包)以一定的顺序存放在具有一定的格式的DB块中,当到达一定的数量后,PLC可以调用系统功能块 SFB37 (AR_Send)将这个DB块主动地发送给WinCC, 然后WinCC 会在后台自动调用标准化DLL来拆解数据,并将其按时间顺序保存在数据库中。
在WinCC的过程画面中,可以使用在线趋势控件或在线表格控件来查看所采集的数据。
由于是批量传送,可以有效地提高通讯效率,使高速数据采集成为可能,而这时所谓的采集频率就取决于你对保存在DB块中的各过程值间的时间间隔的定义。
可以定义的最小的时间间隔是1毫秒。
但如果是PLC每个循环周期采样一次,那么定义的时间间隔应大于PLC循环周期。
DB块的最大尺寸是16KB。
详细信息请参见WinCC的帮助文件:WinCC System Information->通讯->SIMATIC S7 Protocol Suite->特殊功能->使用S7功能块AR_SEND进行数据交换。
条件:
1)WinCC的版本为 V5.1 或更高
2)S7-400 系列CPU
3)WinCC站与S7 400站建立S7 连接(包括MPI,ProfiBus,TCP/IP,工业以太网都可以实现) 4)编程人员能够熟练地使用Step7 和WinCC
本例介绍了WinCC如何实现对两个过程变量采集归档的方法。
步骤:
1)在S7-400站中插入一个DB块:DB1,用于存放过程数据并将它们发送到WinCC数据库中。
这个块必须按照一定格式和顺序进行定义,本例中因为DB块要分别保存两个不同变量的各100个值(此值可以根据需要来设置,但请注意确保DB块的尺寸不能超过16K),所以地址DBB0 - DBB220与地址DBB222 - DBX444 定义的数据类型是相同的,只是变量名称不同。
为关键参数和变量数组设置初始值:
Headertype1 =Headertype2 =9;
NumOfPV1=NumOfPV2 =100;
Cycle1=Cycle12=10
Unit_Type1=Unit_Type2 =1;
Unit_Range1=Unit_Range2 =3
AR_ID_SubNum1=1;
AR_ID_SubNum2 =2;
Datatype1=2
Datatype2=2
关于这些参数的含义请参见WinCC的帮助文件:WinCC System Information->通讯->SIMATIC S7 Protocol Suite->特殊功能->使用S7功能块AR_SEND进行数据交换。
其中PV1[1…100]和PV2[1…100]分别是存放过程值数列的数组,作为示例,可在声明数组PV1,PV2后,为其随意赋一些整数值作为作为初始值。
通过菜单View ->Data View可以编辑初始值。
2)新建一个功能块:FB1, 在其中:
a)定义一个静态变量 ARSend,其类型为 SFB 37:
b)定义一个输入变量 AR_ID,其类型为 DWORD;然后右键单击变量,在其对象属性中分别添加 S7_server 和S7_a_type 属性:
c)在FB1中调用ARSend,并分配参数:
3)新建一个FC1,建立两个局部变量:ReturnValue和 Date_And_Time,
在FC1 中调用 FB1,DB11会自动生成:
4)一个FC3,用来指定要发送的数据包的大小:
为使FC3在每次冷启动或热启动时被调用,分别插入OB100和OB101来调用FC3:
5)在OB中调用FC1:
6)建立WinCC 项目, 建立起WinCC与S7-400 的S7通讯连接,使用MPI、ProfiBus、TCP/IP、工业以太网连接都可以。
因为组态通讯连接方法与普通应用相同,所以这里略过不提。
在已建立好的S7连接下, 新建一个变量 ARSend,为原始数据类型,地址属性设置为:归档数据链接。
同时分别再新建两个BOOL 变量:REQ_ArSend (地址为M20.0) 和 REQ_TimeStamp(地址为M40.0)。
7)打开WinCC 变量记录编辑器,新建一个过程值归档。
a) 右键单击此归档,选择“新建过程控制变量”,
b) 弹出“过程控制变量属性”对话框,点击“选择”按钮来选择“原始数据变量”:ARSend;“转化 DLL” 在下拉菜单中选为“nrms7pmc.nll”,
c) 然后点击“选项”按钮,设置AR_ID为1 ,AR_ID_Subnumber为1,点击确定。
这样便建立了一个归档变量。
d) 重复 步骤a)到c)来再建一个归档变量,设置AR_ID为1 ,AR_ID_Subnumber为2:
e) 保存,关闭变量记录编辑器。
f) 在WinCC资源管理器中打开“计算机属性”,在“启动”页中钩选“变量记录运行系统”。
8) 打开WinCC 图形编辑器,新建一幅画面。
放置两个IO域分别连接两个放置一个Online Table, 选择归档变量。
9) 组态完毕,激活WinCC运行系统。
a)置REQ_TimeStamp 为1,以使PLC给DB块打上时间戳
b)置REQ_Arsend 为1,以使PLC把DB块发送上来
表格中的数据即是由PLC传上来的两组过程值,显示的时间是PLC的时间。
提示
本文是一个简单的示例,并没有实现连续数据采集。
可以考虑使用多DB块进行缓冲并添加程序控制DB 块的写入和发送顺序,也能够实现连续的采集,但要充分考虑CPU的负载和循环周期。
声明:
对于本文所述的方法属于WinCC的高级用法,西门子公司不提供任何保证和热线支持。