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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

利用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 备份进入计算机硬盘中,为用户提供可靠数据。

用户可通过网络、U盘、硬盘等方式将数据拷贝走,供自已使用。

2.3备份服备器
备份服备器以windowsXP系统作为操作系统、DEBackup作为备份系统、wincc6.0为冗余现场PLC数据采集系统、excel为冗余现场数据处理系统,其功能主要是备份采集/备份服备器所存贮的数据。

另外当采集/备份服备器损坏时,其可以到达冗余的功能。

2.4客户机
客户机以windowsXP系统作为操作系统、wincc6.0为现场PLC数据采集系统和控制系统,主要是负责数据的显示、归档、查询、各班别之间的交班操作、清零等工作。

2.5工业控制PLC
工业控制PLC主要是负责现场数据的处理、存取和工艺控制。

3、数据采集程序软件编写
以转炉加料数据系统为例进行说明。

水钢二炼钢两座80吨转炉,每座转炉共有九个料仓,分别是白云石、莹石、生石灰、活性石灰、铁矿石、铁皮、镁球、复合渣、增碳剂。

要想使九个料仓中每炉参加的料的重量自动进入excel所做
的工作分四大局部。

下面分别对各局部进行介绍:
3.1现场仪表的采集
在九个仓下分别有6个斗,在每个斗下分别安装有4个称重传感器支起料斗。

称重传感器将物体的质量转换成电信号送入PLC进行处理。

这一块尤其重要,这一块是整个称量系统的核心。

整个称量数据的准确性、精确度完全来源于称量传感器。

称重传感器的好坏直接关系着整个数据采集系统。

为此我们对进入计算机的数据有可能产生的误差进行分析。

1、有时候,在没有数据或者有数据时,数据出现波动,不固定在某个值。

甚至超过量程或跑负。

2、有一些仓料里没有料,但计算机上和现场电子显示仪上数据长期都显示一定的量,清零都清不掉。

3、称一定数值的量,但实际的值和计算机上显示的数值不一样。

数值偏差大。

4、电子称故障,将闸门打常开,评介经验开振动下料。

针对以上现象采用因果图分析:(如图1)
〔图1〕
针对以上分析,我们对可能产生的误差进行了整改。

1、首先为确保数据采集的准确性,对现场仪表进行了抗干扰处理,增加配电隔离及屏蔽电缆。

2、对现场传感器上的灰尘及杂物做到每天定时清理。

3、每天定时对现场仪表进行校正。

4、及时处理现场传感器及仪表出现的故障。

5、在炉役检修时,严格传感器的安装精度和尺寸,把握好检修质量关。

6、对地势处在高温、高尘的电缆进行改道。

7、对所进传感器、电缆严把质量关。

8、加大职工的培训力度。

采用点球练兵、比赛、事故分析、现场事故处理讲解等方法对职工进行培训。

3.2 PLC对信号的处理
PLC对信号的处理,这是数据进行处理的系统。

PLC将现场仪表传入的4~20mA或毫伏信号转换成数字。

为了保证每炉钢数据能正确进行统计,在保证设备正常的情况下,对每炉钢数据的采集采用了以下的编程方法。

下面用功能图进行说明:
一炉钢的吹炼工艺过程
吹炼准备:在吹炼准备中,所要做的工作为
吹炼开始:下枪开氧吹炼,吹炼时钟开始计数
吹炼中期:根据冶炼要求进行下料
吹炼结束:一炉钢冶炼结束,并进行汇总
3.2 .1为保证采集数据的可靠性,数据进入计算机的条件是在一炉钢内振动电机振动、电子称内数据稳定时。

比方说铁矿石仓,在冶炼开始时,设定此炉钢要参加的铁矿石量,振动电机开始振动当到达设定条件时停振动,在到达数据采集的黄金时间时,将数据采集进入计算机。

3.2 .2针对每个料仓,均采用双电机变频器控制振动。

变频器起到调速作用,可以调整电机运行的速度,到达调整下料的速度。

工艺上根据速度的大小分为强振和弱振。

不管单电机还是双电机,当以工艺要求的高速度运行是就是强振;当低速度运行是就是弱振。

强振和弱振的对下料的时间和称料的准确度非常的重要。

强振时间长了,料的称量就不准;强振时间短了,又造成下料时间长,影响吹炼。

而采用
弱振刚好与强振配合使用,既保证下料的准确性,又保证下料吹炼的时间。

在工作中,当设定下料数值后,电机起动后采用强振,当实际值快接近设定值相差到设定的弱振起动参数时,电机采用弱振控制。

以保证准确下料。

弱振起动公式:R=S-C〔其中:R为弱振起动参数,S为设定下料值,C 为传感器实际返馈称量值〕
3.2 .3选择数据采集的黄金时间。

什么是数据采集的黄金时间?数据采集的黄金时间就是在定时间内或一定的条件下,各种误差相对最小时,对数据的采集准确性最正确时间。

例如:对石灰料仓来说,在一炉钢的生产过程中,我们要采集的数据是一炉钢所要参加的石灰量。

那么什么时候对数据的采集最准确呢?在这一炉钢的冶炼中,有一次到几次称量。

针对每一次的称量,振动电机刚停下而还没有完全停下,也就是数据还在波动还没有完全稳定时,这时采集的数据是不准的。

只有在数据没有波动完全稳定及具备采集的条件时,采集的数据才是相对最准确的,那么这时就是采集的黄金时间。

然后将该数据与这一炉钢内几次用同样的方法采集到的数据相加就得出生产一炉钢所要参加的石灰量。

3.2 .4为减少PLC存储器的存取量及CPU的处理负荷,增加程序的可读性。

针对每一个料仓的数据采用结构化编程,将要调用的数据按分类做成一个个的数据仓库。

例如:石灰仓的每炉钢所要消耗的石灰量、班所消耗的石灰量、天
所消耗的石灰量、月消耗的石灰量等等数据为一个数据仓库;同理白云石、镁球、铁矿石等也做成一个个的数据仓库。

那么对这些数据进行处理的功能块做成一块,负责对数据仓库中的数据进行处理。

这样做减少了程序的重复投入,使得程序有条有理,清清楚楚。

既减少了存取空间,又使得程序易读、易懂。

编程功能图:
〔注:存储DB块就是指PLC上的一块存储空间〕
对于各班存储DB块中的数据通过在wincc画面上设定密码由专业人员按月来清零。

总存储DB块中的数据,由专业人通过在wincc画面上设定密码按要求清零。

3.3 wincc对数据的操作及与PLC的连结
Wincc是上位机监控软件,主要用来显示、保存PLC中的在线数据和历史数据。

有利于对历史事件、历史数据的查找和查询。

在对料仓数据的监控中,Wincc主要是显示前一炉钢的消耗量、当班现在所消耗的量、月消耗的量、年消耗的量等等。

包括对分炉操作、分班操作、报表显示、操作权限等都由Wincc负责。

例如:分班操作,当前是乙班接班,在接时输入乙班的密码进入乙班的显示和操作介面。

同时,将乙班接班的信号送入PLC,让PLC记住目前是乙班在上班,显示乙班的数据。

在交班时,保存乙班今天消耗量。

并生产报表。

分炉操作,一炉钢从吹炼准备到吹炼结束为一个周期,既为一炉钢,那么从开新炉的第一炉钢开始累加,每一个周期结束后将累加的数加1就得到目前炉子所炼的炉数也就是炉号。

这些数据都在PLC内部完成,由Wincc负责显示和保存历史数据。

当出现因故障原因造成炉号与所要到达的目前炉号不同时,可由Wincc输入目前的炉号,以调整炉号的准确性,到达记录的目的。

Wincc上要显示的数据点与PLC形成一一对应。

PLC上处理和保存的数据,全部在
Wincc 上显示,以供记录员和相关人员查询。

例如:查询昨天乙班的石灰消耗量,只要在Wincc 上输入昨天的日期就能查到昨天乙班的石灰消耗记录。

目前记录可保存一星期。

前一条记录可刷新后一条记录。

Wincc 系统块图为:
3.4 wincc与excel的连接
Wincc对数据的存储必进是有限的,当数据量大时,存储就很困难,很难实现报表打印,而且不能存储时间长的数据。

例如一年的数据或者几年前的数据。

而且不能对数据进行更深层的分析和分类统计。

为此,采用了两台效劳器,通过excel将Wincc上的在线数据采集保存在效劳器上,生产电子表格。

有利于对数据的保存和办公。

wincc与excel的连接采用wincc提供的DDE效劳器连接方试,翻开WINCC EXPLORER,在“计算机属性->启动〞添加DdeServ.exe,位于WINCC安装目录的BIN文件夹下,同时添加命令行参数:/v /n ;激活WINCC ,此时弹出DDE-SERVER 对话框〔不要关闭〕。

点击选择位号,把连接信息拷贝到剪贴板;然后翻开EXCEL表格,把内容复制上去,然后在第一个字符前添加“=〞。

最后重复上面两个步骤完成多个输入。

对excel方面,采用宏定义方式。

用visual Basic编程,将excel所采集到的在线数据,通过每30分钟保存一次的目的,生存在电子表格中,并另存在其它电子表格中。

然后通过DEBackup软件保存在两台效劳上。

在excel上的visual Basic编程为:
1、宏1:Sub Macro1()
Application.OnTime Now + TimeValue("00:30:00"), "macro2" End Sub
2、宏2:Sub Macro2()
'Dim i As Integer
Dim j As Integer
Dim a As Integer
Dim c As Integer
Dim m As Integer
Dim n As Integer
Dim b As Integer
Dim e As Integer
e = ThisWorkbook.Sheets("在线数据").Cells(4, 1)
j = 18
e = e + 1
For i = 3 To j
ThisWorkbook.Sheets("报表2").Cells(e, i) = ThisWorkbook.Sheets("在线数据2").Cells(2, i) ThisWorkbook.Sheets("报表").Cells(e, i) = ThisWorkbook.Sheets("在线数据").Cells(2, i)
Next i
ThisWorkbook.Sheets("报表").Cells(e, 2) = Now()
ThisWorkbook.Sheets("报表2").Cells(e, 2) = Now()
ThisWorkbook.Sheets("在线数据").Cells(4, 1) = e
ActiveWorkbook.Save
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\zzhcchh\桌面\数据采集1\数据采集1.xls", FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
Call Macro1
End Sub
数据运行显示:
4、结尾
利用PLC实现wincc与excel对现场数据的采集,这只是一个简单的偿试。

随着各种数据采集软件的开发及HMI 人机画面软件的不断升级。

以后的数据采集将会变得简单。

更有利于人们对现场数据及设备的跟踪。

相关文档
最新文档