11-14-2017 06:45 PM
LabVIEW2016にて、DataSocket関数を使用してOPCサーバ(KEPWARE)に登録したタグデータの
読書きをしたいと考えております。
OPCサーバに登録したタグデータは、配列データとして登録しております。
その配列の特定位置のデータに対して読書きしたいのですが、その方法をについて教えて頂けないでしょうか。
11-15-2017 08:10 PM
OPCサーバーから配列データを取得して、その配列の特定位置に対して読み書きしたいということでしょうか?
その場合、それぞれ以下の方法で実現可能かと思います。(以下参考URLとサンプルVIをご紹介します。)
配列の特定位置のデータを参照したい場合は指標配列関数で実現できます。
http://zone.ni.com/reference/ja-XX/help/371361L-0112/glang/index_array/
書き込みたい場合の一つの方法として部分配列置換関数があります。使い方は以下サンプルVIを参照していただければご理解いただけるかと思います。
Replace Array Elements.vi
11-15-2017 08:58 PM
Y.Hachisu様
ご連絡有難う御座います。
OPCサーバーから配列データを取得して、その配列の特定位置に対する読書きを実現したいと考えております。
OPCサーバーへの読み書きは、DataSocket関数を想定しております。
1次元(配列サイズ100)のWORDデータを4種類やりとりしたいのですが、サンプルで試したところ、処理に
時間が掛かるようなので、配列データでの処理は、見送ることにしました。
OPCサーバーへの登録タグ数を増やして、個別にアクセスする方式で、考えてみます。
お手間を取らせてしまい申し訳ありません。
11-16-2017 12:55 AM
WORDデータ=文字列データ(ASII)といういみでしょうか。
どの程度の処理時間を想定されているのかわかりかねますが
確かにASIIだとそれなりに時間かかってしまうかもしれません。
サーバー側に制約がないようならバイナリデータでやり取りすれば多少スピードアップが見込まれるかと思います。
11-16-2017 02:59 AM
Y.Hachisu様
アドバイスありがとうございます。
検討してみます。