所有数据都存储于WinCC自带的SQL Sen,er 2000运行库的数据表中,表的位置及结构见图3。
图3表的位置及结构
2.查询数据到界面的可视化控件中
查询数据由两部分动作组成:先将数据按用户的要求从数据库中读出,再将其放入界面的可视化控件中。查询数据库需要编写SQL查询语句,所不同的是SQL语句的写法,我们采用微软标准的ListView可视化控件来显示查询的结果。
有条件读取数据的SQL语句:
strSQL=SELECT*FROM 表名WHERE(字段名=‘”& 限制条件&”’)”
在做时间段的有条件查询时,要使用between...and语句将起始和结束时间声明在SQL语句中:
strSQL=” selectfrom表名where字段名between #”& 起始时间 &_
“#and#”& 结束时间 &”# order by字段名”
最后再将查询出的历史数据放入界面中的ListView控件中,其语法如下程序所示,查询效果见图4。
图4查询效果
With ListView1
. Listltems.Clear
.ColumnHeaders. Add , , "No. " , 30
.ColumnHeaders. Add , , CStr ( RS. Fields ( 0 ). Name ) , 70
.ColumnHeaders. Add , , CStr ( RS. Fields ( 1 ). Name ) , 150
.ColumnHeaders. Add , , CStr ( RS. Fields (2 ). Name ) , 150
End With
Row=O
Do While Not RS. EOF
Row=Row+1
If Row<10 Then
Row=”0"&Trim (Row)
End If
Set oltem=ListViewl. Listltems. Add()
Oltem. Text=Left( CStr (Row),5)
Oltem. Sublterms(1)=CStr( RS .Fields(0).Value)
Oltem. Sublterms(2)=CStr( RS .Fields(1).Value)
Oltem. Sublterms(3)=CStr( RS .Fields(2).Value)
RS. MoveNext
Loop
3.以EXCEL表格的形式输出成报表
最后一步将控件查询出的数据以EXCEL的形式输出成报表,这样从现场实时数据到最终的历史数据报表这一信息流程完成。将数据导入到EXCEL表格的语法如下面程序所示,结果见图5。
Set objEW=GetObject(””,”Excel. Application")
If Err Then
Err.Clear
Set objEW=CreateObject(”Excel. Application”)
If Err Then
MsgBox Err. Description
Exit Function
End If
ObjEW. Visible=True
ObjEW. Workbooks. Add” D:\WinCC \query. xit"
For i=1 To MSFGl. Rows -1
objEW. Sheets ( 1 ). Range (" A" & Trim ( i )). Value = MSFGl. TextMatrix (i, 0)
objEW. Sheets ( 1 ). Range (" B" & Trim ( i )). Value = MSFGl. TextMatrix (i, 1)
objEW. Sheets ( 1 ). Range (" C" & Trim ( i )). Value = MSFGl. TextMatrix (i, 2)
Next
图5 AVI读写站历史记录查询
四、结束语
在现代化汽车厂的油漆车间中,自动汽车检测与识别系统是目前应用最普遍的车身信息追踪与采集系统。在这套系统中,WinCC不但担当了数据采集、分析、查询以及输出的职能,而且运行可靠、维护性高,将现场监控和数据分析两大功能很好地展示出来,在目前高度集成化的工业现场扮演了极其重要的角色。
台达DOP-W系列提供10.4”/12”/15&rdqu…
JetNet 3005G · 5口全千兆RJ-45交换机 …
显示规格 一般规格 环境规格 结构规格 外形…
功能规格 …
功能规格 …
西门子SIMATIC S7-400PLC的主要特色为:极高的处理…