<< Click to Display Table of Contents >> マニュアル > 実践編 > データの書き込み |
概要
値を書き込むサンプルです。
このサンプルは以下に格納されています。
設定
タグ設定
1.タグ「T01」~「T04」を設定します。
プログラム
書き込み処理を記述します。
●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引数をチェックしています。
WriteValsでのValues引数は必ずオブジェクト型の配列で宣言して下さい(書き込む値をブール型、数値型、文字列型、ブール配列型、数値配列型、文字列配列型の複数の異なる型を混在して処理できるようにする為)。 |