NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

DataSocketでOPCサーバに登録したタグデータ(配列データ)へのアクセス方法

LabVIEW2016にて、DataSocket関数を使用してOPCサーバ(KEPWARE)に登録したタグデータの

読書きをしたいと考えております。

 

OPCサーバに登録したタグデータは、配列データとして登録しております。

その配列の特定位置のデータに対して読書きしたいのですが、その方法をについて教えて頂けないでしょうか。

 

0 件の賞賛
メッセージ1/5
2,189件の閲覧回数

OPCサーバーから配列データを取得して、その配列の特定位置に対して読み書きしたいということでしょうか?

 

その場合、それぞれ以下の方法で実現可能かと思います。(以下参考URLとサンプルVIをご紹介します。)

 

配列の特定位置のデータを参照したい場合は指標配列関数で実現できます。

 

http://zone.ni.com/reference/ja-XX/help/371361L-0112/glang/index_array/

 

書き込みたい場合の一つの方法として部分配列置換関数があります。使い方は以下サンプルVIを参照していただければご理解いただけるかと思います。

Replace Array Elements.vi

0 件の賞賛
メッセージ2/5
2,149件の閲覧回数

Y.Hachisu様

 

ご連絡有難う御座います。

OPCサーバーから配列データを取得して、その配列の特定位置に対する読書きを実現したいと考えております。

OPCサーバーへの読み書きは、DataSocket関数を想定しております。

 

1次元(配列サイズ100)のWORDデータを4種類やりとりしたいのですが、サンプルで試したところ、処理に

時間が掛かるようなので、配列データでの処理は、見送ることにしました。

OPCサーバーへの登録タグ数を増やして、個別にアクセスする方式で、考えてみます。

 

お手間を取らせてしまい申し訳ありません。

 

0 件の賞賛
メッセージ3/5
2,143件の閲覧回数

WORDデータ=文字列データ(ASII)といういみでしょうか。

どの程度の処理時間を想定されているのかわかりかねますが

確かにASIIだとそれなりに時間かかってしまうかもしれません。

サーバー側に制約がないようならバイナリデータでやり取りすれば多少スピードアップが見込まれるかと思います。

0 件の賞賛
メッセージ4/5
2,129件の閲覧回数

Y.Hachisu様

 

アドバイスありがとうございます。

検討してみます。

0 件の賞賛
メッセージ5/5
2,122件の閲覧回数