<< Click to Display Table of Contents >> マニュアル > サーバ作成ガイド > インターフェース編 > OPCインターフェース > VisualBasic.NETからのOPC接続 > 手順3値の読み書き |
手順3 値の読み書き
ここでは、任意のタイミングでアイテム値の読み書きを行う方法を紹介します。
読み込み
任意のタイミングでアイテム値の読み込みを行う処理です。例えば、自動更新を無効にした状態で、必要なタイミングのみ値を取得したい場合などに使用します。
読み込みは「FnSyncRead」で行います。
サンプルではReadボタン押下で値の読み込みが行われます。
'------------------------------------------ ' 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ボタン押下で値の書き込みが行われます。
'------------------------------------------ ' 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
配列を使用する事で、1つのタグで大量のデータをブロックとして扱うことができます。例えば、1万ワードのデータを授受する場合、1万点のタグを個別に作成するのではなく、配列タグを1つ用意して通信を行う事で負荷を下げる事ができます。
配列タグの値を読み書きする場合には、配列形式の変数を使用して値をやり取りする必要があります。ただし、OPCプログラミングでは複数のアイテムをやり取りするために、引数の形式として配列形式の変数が使用されています。 その為、ここで更に配列タグを使用する場合には、二次元配列の変数を扱う必要があります。例えば、「SyncRead」メソッドの使用例の場合、「mvoV(1)」と記述してアイテムの値を参照していましたが、配列タグの場合には、「mvoV(1)(1)」のように記述する事で、配列タグの要素の各デバイス値を参照する事ができます。VB.NETでの配列の使用方法については、VB.NETのヘルプを参照してください。 |
Commonクラス(Common.vb)に記述してあるコードの中で、特に重要なメソッドは以下のとおりです。
|