OPC BROWSER ITEM程序(VB篇)

OPC技术论坛 http://www.opc-china.com OPC服务器,客户程序技术讨论
一、VB新建窗体如下
详见相册OPC技术。
二、引用如下
详见相册OPC技术。
三、代码如下

Dim WithEvents g_Server As OPCServer
Dim g_Browser As OPCBrowser

Dim BrowseFilter As Long

Dim Vt_Filter As Integer
Dim nodX As Node
Dim Value As Variant
Dim FullName As String
Dim Relative As String
Dim i As Integer

 

Private Sub cmbAccessRights_Click()
 Select Case cmbAccessRights.Text
    Case "OPC_ACCESS_WRITE"
      g_Browser.AccessRights = OPCWritable
    Case Else
      g_Browser.AccessRights = OPCReadable
  End Select
End Sub

 

 

Private Sub cmbBrowseFilter_Click()
  Select Case cmbBrowseFilter.Text
    Case "OPC_FLAT"
      BrowseFilter = OPC_FLAT
    Case Else
      BrowseFilter = OPC_BRANCH
 End Select
End Sub

Private Sub cmbVtFilter_Click()
  Select Case cmbVtFilter.Text
    Case "VT_EMPTY"
      g_Browser.DataType = VT_EMPTY
    Case "UINT1"
      g_Browser.DataType = VT_UI1
    Case "UINT2"
      g_Browser.DataType = VT_UI2
    Case "TEXT"
      g_Browser.DataType = VT_BSTR
    Case "BOOLEAN"
      g_Browser.DataType = VT_BOOL
  End Select
End Sub

Private Sub Command1_Click()
 Dim i As Integer
  Dim Key As String
 
  MousePointer = 11 ' Mousepointer as hourclass
 
  Set nodX = Nothing
  TreeView.Nodes.Clear
  Select Case BrowseFilter
    Case OPC_FLAT
      BuildFlat
    Case OPC_BRANCH
      BuildTree
  End Select
 
  MousePointer = 0 ' Normal mousepointer
 
End Sub
'----------------------------------------------------------------------------
' Sub BuildFlat()
' Purpose: show all items
'----------------------------------------------------------------------------
Public Sub BuildFlat()
  Dim Key As String
  Dim Leaf As Variant
 
  g_Browser.MoveToRoot
  g_Browser.ShowLeafs True
  For Each Leaf In g_Browser
    i = i + 1
    Key = "#" & i
    Set nodX = TreeView.Nodes.Add(Null, tvwNext, Key, g_Browser.GetItemID(Leaf))
    DoEvents
  Next Leaf
End Sub

'----------------------------------------------------------------------------
' Sub BuildTree()
' Purpose: recursive building of the tree view
'----------------------------------------------------------------------------
Public Sub BuildTree(Optional Relative As Variant)
  Dim Branch, Leaf As Variant
  Dim Key As String
 
  g_Browser.ShowBranches
  For Each Branch In g_Browser
    i = i + 1
    Key = "#" & i
    Set nodX = TreeView.Nodes.Add(Relative, tvwChild, Key, Branch)
    'Go down to next level
    g_Browser.MoveDown (Branch)
    BuildTree (Key)
    'Go up to next level
    g_Browser.MoveUp
    DoEvents
  Next Branch
 
  g_Browser.ShowLeafs False
  For Each Leaf In g_Browser
    i = i + 1
    Key = "#" & i
    Set nodX = TreeView.Nodes.Add(Relative, tvwChild, Key, g_Browser.GetItemID(Leaf))
  Next Leaf
 
End Sub

Private Sub Command2_Click()
 Set g_Server = Nothing
 Set g_Browser = Nothing
 End
End Sub

Private Sub Form_Load()
 Set g_Server = New OPCServer
  g_Server.Connect ("Matrikon.OPC.Simulation")'OPC SERVER名称
  Set g_Browser = g_Server.CreateBrowser
  cmbVtFilter.Text = "VT_EMPTY"
  cmbVtFilter.AddItem "UINT1"
  cmbVtFilter.AddItem "UINT2"
  cmbVtFilter.AddItem "TEXT"
  cmbVtFilter.AddItem "BOOLEAN"
  cmbVtFilter.AddItem "VT_EMPTY"
  BrowseFilter = OPC_BRANCH
  g_Browser.AccessRights = OPCReadable
  g_Browser.DataType = VT_EMPTY
  TreeView.LineStyle = tvwRootLines  ' Linestyle 1

End Sub

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值