技术论坛

 致高塍同志_WinCC结构变量枚举

返回主题列表
作者 主题
youhm
至圣

经验值:13572
发帖数:4924
精华帖:81
楼主    2013-07-28 11:22:09
主题:致高塍同志_WinCC结构变量枚举 精华帖 
使用ADO读取WinCC组态数据库获取结构变量信息,以下代码在WinCC V6.0里测试通过
在画面添加一个按钮,两个微软ComboBox(Combo1、Combo2)
在按钮的鼠标事件里写如下VB代码
Dim cn,rs,rs1,sCon,DSN
DSN=Replace(HMIRuntime.Tags("@DatasourceNameRT").Read,"R","")
sCon="Provider=sqloledb;Integrated Security=SSPI;"
sCon=sCon & "Data Source=127.0.0.1\WinCC;"
sCon=sCon & "Initial Catalog=" & DSN
Set cn=CreateObject("ADODB.Connection")
Set rs=CreateObject("ADODB.RecordSet")
Set rs1=CreateObject("ADODB.RecordSet")
cn.ConnectionString=sCon
cn.CursorLocation=3
cn.Open
rs.Open "Select * From MCPTVARIABLETYPE where VARIABLETYPECLASS = 'STRUCTURE'", cn,1,3,-1
rs.MoveFirst
ScreenItems("Combo1").Clear
Do While Not rs.EOF
ScreenItems("Combo1").AddItem rs.Fields(1).Value
rs.MoveNext
Loop
ScreenItems("Combo1").ListIndex = 0
rs1.Open "Select * From MCPTVARIABLEDESC As a INNER JOIN MCPTVARIABLETYPE As b ON b.VARIABLETYPENAME ='" & _
ScreenItems("Combo1").Text & "' And a.VARIABLETYPEID = b.VARIABLETYPEID", cn, 1, 3, -1
rs1.MoveFirst
ScreenItems("Combo2").Clear
Do While Not rs1.EOF
ScreenItems("Combo2").AddItem rs1.Fields(5).Value
rs1.MoveNext
Loop
ScreenItems("Combo2").ListIndex = 0
rs.Close
rs1.Close
cn.Close
Set rs=Nothing
Set rs1=Nothing
Set cn=Nothing
在Combo1的Click事件里写如下VB代码
Dim cn,rs1,sCon,DSN
DSN=Replace(HMIRuntime.Tags("@DatasourceNameRT").Read,"R","")
sCon="Provider=sqloledb;Integrated Security=SSPI;"
sCon=sCon & "Data Source=127.0.0.1\WinCC;"
sCon=sCon & "Initial Catalog=" & DSN
Set cn=CreateObject("ADODB.Connection")
Set rs1=CreateObject("ADODB.RecordSet")
cn.ConnectionString=sCon
cn.CursorLocation=3
cn.Open
rs1.Open "Select * From MCPTVARIABLEDESC As a INNER JOIN MCPTVARIABLETYPE As b ON b.VARIABLETYPENAME ='" & _
ScreenItems("Combo1").Text & "' And a.VARIABLETYPEID = b.VARIABLETYPEID", cn, 1, 3, -1
rs1.MoveFirst
ScreenItems("Combo2").Clear
Do While Not rs1.EOF
ScreenItems("Combo2").AddItem rs1.Fields(5).Value
rs1.MoveNext
Loop
ScreenItems("Combo2").ListIndex = 0
rs1.Close
cn.Close
Set rs1=Nothing
Set cn=Nothing
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。