回复:怎样在WINCC V6中实现数据存储和查询?

温CC

  • 帖子

    157
  • 精华

    2
  • 被关注

    4

论坛等级:游士

注册时间:2008-02-18

普通 普通 如何晋级?

发布于 2009-12-16 14:25:58

5楼

用EXCEL不怎么好,如果发生有EXCEL进程没有关闭,而确实EXCEL已经关闭的情况EXCEL死了。
你想查询项保存数据,最好使用数据库 比如ACCESS。在此提供给你一个ACCESS的部分功能代码
插入数据:
Dim connectString
Dim strsql
Dim objConnection
Dim objcommand
Dim rs
Dim DateTime
Dim THGC
Dim beer_name

Dim THID
Dim TH_GC_E
Dim PZ
Dim pinzhong1
Dim pinzhong2
Dim pinzhong3
Dim pinzhong4
Dim pinzhong5

Set THID=HMIRuntime.Tags("THID_1")
THID.Read
Set TH_GC_E=HMIRuntime.Tags("TH_GC_E_1")

Set PZ=HMIRuntime.Tags("PZ_1")
PZ.Read
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set pinzhong1=HMIRuntime.Tags("pinzhong1_1")
pinzhong1.Read
Set pinzhong2=HMIRuntime.Tags("pinzhong2_1")
pinzhong2.Read
Set pinzhong3=HMIRuntime.Tags("pinzhong3_1")
pinzhong3.Read
Set pinzhong4=HMIRuntime.Tags("pinzhong4_1")
pinzhong4.Read
Set pinzhong5=HMIRuntime.Tags("pinzhong5_1")
pinzhong5.Read

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
If PZ.Value=1 Then
beer_name=pinzhong1.Value
End If

If PZ.Value=2 Then
beer_name=pinzhong2.Value
End If

If PZ.Value=4 Then
beer_name=pinzhong3.Value
End If

If PZ.Value=8 Then
beer_name=pinzhong4.Value
End If

If PZ.Value=16 Then
beer_name=pinzhong5.Value
End If
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
If THID.Value=0 Then
MsgBox "BUNENGWEI 0",,"TISHI"
ExIt Sub
End if
THGC=Mid(Year(Date()),1)+""&THID.Value&""
ConnectString ="DSN=WinccData;UID=;PSW="
strsql="select * from THGC where THID="&THGC&""
Set objConnection=CreateObject("ADODB.Connection")
objConnection.ConnectionString=ConnectString
objConnection.Open

Set rs=CreateObject("ADODB.Recordset")
rs.open strsql,objConnection,3,3

If rs.eoF=False Then
MsgBox "CUNZAI",,"TISHI"
Exit Sub
End If

DateTime=Mid(Date(),1)+" "+Mid(Time(),1)

rs.AddNew()
rs.Fields(1).Value=THGC
rs.Fields(2).Value=beer_name
rs.Fields(3).Value=DateTime
rs.Update

TH_GC_E.Value=THID.Value
TH_GC_E.Write
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
MsgBox "CHENGGONG",,"TISHI"

修改记录:
Dim connectString
Dim strsql
Dim objConnection
Dim objcommand
Dim rs
Dim DateTime
Dim THGC

Dim TH_GC_E
Dim GL_GC
Set TH_GC_E=HMIRuntime.Tags("TH_GC_E_1")
TH_GC_E.Read
Set GL_GC=HMIRuntime.Tags("GL_GC")
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
If TH_GC_E.Value=0 Then
MsgBox "BUNENGWEI 0",,"TISHI"
ExIt Sub
End if
THGC=Mid(Year(Date()),1)+""&TH_GC_E.Value&""

ConnectString ="DSN=WinccData;UID=;PSW="
strsql="select * from THGC where THID="&THGC&""
Set objConnection=CreateObject("ADODB.Connection")
objConnection.ConnectionString=ConnectString
objConnection.Open

Set rs=CreateObject("ADODB.Recordset")
rs.open strsql,objConnection,3,3

If rs.eoF<>False Then
MsgBox "BUCUNZAI",,"TISHI"
Exit Sub
Else
DateTime=Mid(Date(),1)+" "+Mid(Time(),1)

rs.Fields(4).Value=DateTime
rs.Fields(5).Value=DateTime
rs.Update
End If
GL_GC.Value=TH_GC_E.Value
GL_GC.Write
TH_GC_E.Value=0
TH_GC_E.Write
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
MsgBox "CHENGGONG",,"TISHI"

查询记录:
Dim connectString
Dim strsql
Dim objConnection
Dim objcommand
Dim rs

Dim iBlank

Dim row
Dim oItem
Dim list
Dim i
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set list=ScreenItems("list")
list.ColumnHeaders.Clear
With list
.listitems.clear
.columnheaders.add,,"11",0
.columnheaders.add,,"22 ",80
.columnheaders.add,,"33 ",70
.columnheaders.add,,"44",125
.columnheaders.add,,"55",125
End With

ConnectString ="DSN=WinccData;UID=;PSW="
strsql="select * from THGC where ZF_StartDate is not NULL order by THID DESC"
Set objConnection=CreateObject("ADODB.Connection")
objConnection.ConnectionString=ConnectString
objConnection.Open

Set rs=CreateObject("ADODB.Recordset")
rs.open strsql,objConnection,3,3
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
list.ListItems.Clear

iBlank=rs.RecordCount
MsgBox "sssssssssss",,"s"
'Do While iBlankLine=2
'row=row+1
'If row<10 Then
' row="0"&Trim(row)
' End If
rs.MoveFirst
For i=1 To iBlank Step 1
Set oItem=list.listItems.Add()

oItem.SubItems(1)=rs.Fields(1).Value

oItem.SubItems(2)=rs.Fields(2).Value

oItem.SubItems(3)=rs.Fields(5).Value

If rs.Fields(6).Value<>"" Then
oItem.SubItems(4)=rs.Fields(6).Value
End If
rs.MoveNext
Next

MsgBox "111111111111",,"1111"
纯属巧合
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32933条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。