手順3値の読み書き

<< Click to Display Table of Contents >>

マニュアル > サーバ作成ガイド > インターフェース編 > OPCインターフェース > VisualBasic.NETからのOPC接続 >

手順3値の読み書き

手順3 値の読み書き

ここでは、任意のタイミングでアイテム値の読み書きを行う方法を紹介します。

 
 

読み込み

 
任意のタイミングでアイテム値の読み込みを行う処理です。例えば、自動更新を無効にした状態で、必要なタイミングのみ値を取得したい場合などに使用します。

読み込みは「FnSyncRead」で行います。

 

サンプルではReadボタン押下で値の読み込みが行われます。
 

c_interface_0063

 

'------------------------------------------
' OPC Read
'------------------------------------------
Private Sub btnRead_Click(sender As System.Object, e As System.EventArgs) Handles btnRead.Click

    Dim i As Integer

    If EvCSvr.FnSyncRead(OPCDATASOURCE.OPC_DS_DEVICE, mvsH, mvoV, mvdT, mvwQty) = False Then
        MessageBox.Show("Failed to Read!!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Exit Sub
    End If
    For i = 0 To mcItemCount - 1
        txtValue(i).Text = mvoV(i)
    Next

End Sub

 


書き込み

 

任意のタイミングでアイテム値の書き込みを行います。書き込みは「FnSyncWrite」で行います。

 

サンプルではWriteボタン押下で値の書き込みが行われます。

 

c_interface_0064

 

'------------------------------------------
' OPC Write
'------------------------------------------
Private Sub btnWrite_Click(sender As System.Object, e As System.EventArgs) Handles btnWrite.Click
    Dim i As Integer
    For i = 0 To mcItemCount - 1
        mvoV(i) = txtValue(i).Text
    Next

    If EvCSvr.FnSyncWrite(mvsH, mvoV) = False Then
        MessageBox.Show("Failed to Write!!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Exit Sub
    End If

End Sub

 

 

hint

配列を使用する事で、1つのタグで大量のデータをブロックとして扱うことができます。例えば、1万ワードのデータを授受する場合、1万点のタグを個別に作成するのではなく、配列タグを1つ用意して通信を行う事で負荷を下げる事ができます。

 

配列タグの値を読み書きする場合には、配列形式の変数を使用して値をやり取りする必要があります。ただし、OPCプログラミングでは複数のアイテムをやり取りするために、引数の形式として配列形式の変数が使用されています。

その為、ここで更に配列タグを使用する場合には、二次元配列の変数を扱う必要があります。例えば、「SyncRead」メソッドの使用例の場合、「mvoV(1)」と記述してアイテムの値を参照していましたが、配列タグの場合には、「mvoV(1)(1)」のように記述する事で、配列タグの要素の各デバイス値を参照する事ができます。VB.NETでの配列の使用方法については、VB.NETのヘルプを参照してください。

 

hint

Commonクラス(Common.vb)に記述してあるコードの中で、特に重要なメソッドは以下のとおりです。

 

メソッド

説明

AddGroup

OPCサーバーにグループ登録を行います。

AddItems

OPCサーバーにアイテム登録を行います。

RemoveGroup

登録されたグループを開放します。

Read

データの読み込みを行います。

Write

データの書き込みを行います。