From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



複雑な構造のクラスタデータの変更方法



使用ソフトウェア:
使用ソフトウェア・バージョン: N/A
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: LabVIEW Modules>>LabVIEW Vision Development Module

問題: Vision Assistantを使って、画像処理のスクリプトを作りました。LabVIEWでアプリケーションを作成するために、そのスクリプトをVIに変換しました。画像処理を行うアイコンに、いろいろなデータが入った定数が接続されていますが、この中のデータをプログラム的に変更したいと思います。 どのようにしたらいいのですか?

解決策: LabVIEWには、クラスタというデータ型(C言語の構造体に相当)があります。

”クラスタ”というデータ型:
・       さまざまなデータ型のデータをグループ化したデータ型でC言語の構造体に相当します。
・       LabVIEWでは、エラークラスタをはじめとしていろいろな場面で使われます。
・       特に、画像処理関係のアイコンでは、入出力するデータが、座標や形状を指定したり、またそれが複数になったりということで、複雑な構造のクラスタがよく使われます。

クラスタの詳細は、LabVIEWのヘルプで、キーワードにクラスタを入力して参照したり、検索タブで”クラスタ”を検索したりして、関連するヘルプをお読みください。また、『LabVIEWユーザマニュアル』の第10章「文字列、配列、およびクラスタを使用してデータをグループ化する」などもご参照ください。

複雑な構造のクラスタ内のデータを操作する場合は、外側から順番に抜き出していき、必要な操作を行って、逆順に組み込んでいくという操作を行います。

手順:
1.       名前でバンドル解除関数を使ってクラスタからデータを抜き出す
2.       名前でバンドル関数を使って、クラスタの変更したいデータを置き換える

クラスタが配列になっている場合や、クラスタ内に配列が入っている場合は、必要に応じて、指標配列や部分配列置換を使って、配列の要素を操作します。クラスタの配列がクラスタに入っている場合も多々ありますので、注意してください。

添付のサンプルは、数値の配列が入ったクラスタの配列が入ったクラスタのデータを操作するものです。順番に抜き出して、操作して、逆順に組み込んでいる様子をご確認ください。
このサンプルはLabVIEW7.1で作成されています。


関連リンク:

添付:


クラスタサンプル.vi - クラスタサンプル.vi


報告日時: 06/30/2006
最終更新日: 07/11/2006
ドキュメントID: 3YT2S78V