| 
       << Click to Display Table of Contents >> マニュアル > サーバ作成ガイド > インターフェース編 > OPCインターフェース > VisualBasic.NETからのOPC接続 > 手順2VB.NETの基本構築 | 
    
手順2 VB.NETの基本構築
VB.NET側の基本的な構築内容について説明します。
尚、以下は概要のみの説明となっているため、詳細はサンプルと見比べながら確認してください。
  | 
本項目で利用する「OPCDAAuto.dll」は、Panel Serverをインストールすることによって、VB.NETなどから参照できるようになります。  | 
ライブラリの参照設定
OPCサーバとの接続は「OPCDAAuto.dll」を使用するため、ライブラリの参照設定を行う必要があります。
1.「プロジェクト」-「参照の追加」を選択する

2.「COM」から「OPC DA Automation Wrapper」を選択する

リストにない場合は、「参照」から以下のDLLを直接参照してください。
C:\Program Files (x86)\Common Files\Roboticsware\Ver6\opc\OPCDAAuto.dll
 

3.「表示」-「オブジェクトブラウザ」を選択する
 

4.OPCAutomationのライブラリが参照され、公開されているインターフェイスの一覧が表示されることを確認する

OPCオブジェクトの作成
Visual BasicからOPCサーバにアクセスするためにはOPCオートメーションインターフェイスを使用します。
主なインターフェイスは、以下の4つです。
•サーバーインターフェイス
•グループコレクションインターフェイス
•アイテムコレクションインターフェイス
•ブラウザーインターフェイス
ここでは、サーバー、グループ、アイテムのオプジェクトを取得、作成する方法について説明します。
具体的には、OPCサーバーとの接続確立、グループの生成、アイテムの追加を行っていきます。
1.オートメーション用プロパティを用意する
各種定数と、OPCオートメーションオブジェクトを格納するプロパティを宣言します。プロパティのタイプは、OPCオートメーションのクラスを指定します。
Private mvServer As OPCAutomation.OPCServer Private mvGroups As OPCAutomation.OPCGroups Private mvItems As OPCAutomation.OPCItems Private mvCHandles(mcItemCount) As Integer Private mvSHandles As Array = Nothing Private mvReadTxId As Integer Private mvReadCancelId As Integer Private mvWriteTxId As Integer Private mvWriteCancelId As Integer Private WithEvents mvGroup As OPCAutomation.OPCGroup  | 
タイプ  | 
プロパティ名  | 
意味  | 
OPCServer  | 
mvServer  | 
OPCサーバーの接続に使用する。  | 
OPCGroup  | 
mvGroups  | 
OPCグループの生成に使用する。  | 
OPCitems  | 
mvItems  | 
OPCアイテムの登録に使用する。  | 
futeger  | 
mvCHandles(Nitems)  | 
OPCクライアントがアイテムを識別するハンドル。  | 
Array  | 
mvSHandles  | 
OPCサーバーがアイテムを識別するハンドル。  | 
OPCGroup  | 
mvGroup  | 
OPCグループの設定に使用する  | 
2.OPCサーバとの接続
「OPCAutomation.OPCServer」クラスのインスタンスを生成し、生成したオブジェクトにConnectメソッドを発行します。
Private Function FnConnect(ByVal vProgId As String, Optional ByVal vNode As Object = Nothing)
    Try
        mvServer = New OPCAutomation.OPCServer
        mvServer.Connect(vProgId, vNode)
3.グループの追加
OPCグループのオブジェクトにAddメソッドを発行し、グループを追加します。合わせてプロパティを指定します。
ここでは、以降で非同期方式を行うため、lsSubscribedプロパティにTrueを指定します。
Private Function FnAddGroup()
    Try
        'AddGroup
        mvGroups = mvServer.OPCGroups
        mvGroup = mvGroups.Add(mvGroupName)
        'Property Set
        mvGroup.IsActive = False
        mvGroup.IsSubscribed = True
        mvGroup.UpdateRate = CInt(txtUpdateRate.Text)
4.アイテムの追加
OPCアイテムのオブジェクトにAddメソッドを発行し、アイテムを追加します。
ここでは固定のアイテム(U01.F01.T01~U01.F01.T04)を登録しますが、実際にはユーザの指定や設定ファイルを元にアイテム登録を行います。
Private Function FnAddItem()
    Try
        'AddItem
        mvItems = mvGroup.OPCItems
        Dim Errors As Array = Nothing
        mvItems.AddItems(mcItemCount, mvItemName, mvCHandles, mvSHandles, Errors)
5.OPCサーバとの切断
OPCアプリケーションの終了時に、接続を切断する必要があります。
OPCサーバ側は、OPCアプリケーションが終了したことが分からないため、必ず切断処理を行います。
Private Function FnDisconnect()
    Try
        ' Delete items and groups,Server disconnect
        If mvItems IsNot Nothing And mvSHandles IsNot Nothing Then
            Dim vErrors As Array = Nothing
            mvItems.Remove(mcItemCount, mvSHandles, vErrors)
        End If
        If mvGroups IsNot Nothing Then
            mvGroups.Remove(mvGroupName)
        End If
        If mvServer IsNot Nothing Then
            mvServer.Disconnect()
        End If
        'Property Initialize
        mvSHandles = Nothing
        mvItems = Nothing
        mvGroup = Nothing
        mvGroups = Nothing
        mvServer = Nothing