データの書き込み

<< Click to Display Table of Contents >>

マニュアル > 実践編 >

データの書き込み

概要

値を書き込むサンプルです。

faeng_0051

 

このサンプルは以下に格納されています。

 

 

設定

タグ設定

1.タグ「T01」~「T04」を設定します。
faeng_0052

 

 

プログラム

書き込み処理を記述します。

 

●VB.Net

'書き込み

Private Sub btnWrite_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

                                 Handles btnWrite.Click

 Dim TagPaths(4) As String

 Dim Values(4) As Object         '必ずオブジェクトで宣言して下さい。

 Dim Results As Object = Nothing

 TagPaths(0) = "U01.F01.T01"

 TagPaths(1) = "U01.F01.T02"

 TagPaths(2) = "U01.F01.T03"

 TagPaths(3) = "U01.F01.T04"

 Values(0) = txtWrite(0).Text

 Values(1) = txtWrite(1).Text

 Values(2) = txtWrite(2).Text

 Values(3) = txtWrite(3).Text

 

 Dim i As Integer

 If AxEng1.WriteVals(4, TagPaths, Values, Results) Then

         For i = 0 To 3

                 If CBool(Results(i)) Then

                         lblResult(i).Text = "Success!"

                 Else

                         lblResult(i).Text = "Error!"

                 End If

         Next i

 Else

         For i = 0 To 3

                 lblResult(i).Text = "Error!"

         Next i

 End If

End Sub

 

 

解説

WriteValsは複数のタグに一括で書き込むことができます。複数の連続したアドレス(D0000からD0100など)に対して書き込みが必要な場合、WriteValを複数回呼び出すよりもWriteValsでまとめて処理した方が、通信パケットがまとめて処理されるため、高速な通信が行われます。また、大量な点数を扱う場合には、配列タグの利用によって高速かつ簡単に通信を行うことが可能です。

 

WriteValsそのものの成否は返値で返却され、タグ毎の成否はResults引数にブール値で格納されます。Results引数はWriteValsが成功したときのみ有効になります。

従って、上のサンプルコードでは、WriteValsの返値でWriteVals自体の処理が成功したかどうかの判別を行い、WriteValsが成功したときのみResults引数をチェックしています。

 

attention

WriteValsでのValues引数は必ずオブジェクト型の配列で宣言して下さい(書き込む値をブール型、数値型、文字列型、ブール配列型、数値配列型、文字列配列型の複数の異なる型を混在して処理できるようにする為)。