NI製品ディスカッション

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

vi作成

皆様のお力を貸していただきたいです。

添付したviは力づくで作成したのですが、

繰り返している部分をまとめたいのですが上手くできません。

何かいい案はありますでしょうか。

よろしくお願いします。

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

大変力技でここまで作成された印象があります。

プログラムの世界では「繰り返しは悪」とまで言われますので、類似の処理はまとめたいですよね。

 

私は機能的グローバル変数を用いて、データベースを構築する方法をお勧めします。

Look Up Table FGV

機能的グローバル変数サンプル

 

 

まず各制御器のラベル名は「Status 0」「Status 1」のようにルールに基づいて作成します。

機能的グローバル変数では、各制御器のリファレンスを配列に格納します。これがデータベースになります。

イベントストラクチャで特定のボタンが押されると、そのボタンのラベル名から指標を取得します。

その指標を基にデータベースにアクセスし、対応するリファレンスを取得します。

最後に取得したリファレンスに対する操作を行います。

 

 

参考になればと思い、サンプルを私も考えてみました。

FGV Demo.png

 

 

 

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 件の賞賛
メッセージ2/8
2,153件の閲覧回数

ご丁寧な返答ありがとうございます。

やはり1つのvi(表現が正しいか分かりませんが)では難しいですよね

 

作成していただいたプログラムは全てのフォルダのプログラムがあって成り立つのですよね

初歩的なこときいて申し訳ないです。

 

作成していただいたviでSTAUSのボタンをクリックするだけで不在、入室など切り替えるには

どこを変更したらいいのでしょうか?

 

 

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

1つのVIだけでは難しいと思います。

LabVIEWでもCでも、プログラムを作るときは複数のVIや関数を組み合わせるほうが、

効率的でパフォーマンスのよいコーディングができます。

 

STATUSボタンをクリックするだけであれば、Reference Table.vi内の「Update Status」ケースを

変更してください。

 

たとえば以前の値が「入室」であれば次は「一時退室」、次は「帰宅」、次は「入室」のように、

循環的に値を更新していけばよいと思います。

 

後は好きにVIを編集していただいてかまいません。

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 件の賞賛
メッセージ4/8
2,140件の閲覧回数

たとえば以前の値が「入室」であれば次は「一時退室」、次は「帰宅」、次は「入室」のように、

循環的に値を更新していけばよいと思います。

 


この部分をどう変更すればいいのかご教示いただけないでしょうか?

何度も申し訳ありませんがよろしくお願いします

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

もし私が提案したFGVを使うのでしたら十分理解したうえで使わないと、重大なバグを招くことになります。

お渡ししたサンプルは、初期化処理やエラー処理など、そういったアプリケーションに重要な部分は省いています。

 

ただ、今回質問された「循環的な値の更新」に対する修正はしました。

Reference Table.vi内の「Get Reference」ケースです。

 

FGVの使用経験などお持ちでないのであれば、まず基本から勉強されるほうがよいと思います。

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 件の賞賛
メッセージ6/8
2,116件の閲覧回数

丁寧にありがとうございました。

 

LabVIEW自体初心者なので色々勉強しようと思います。

 

0 件の賞賛
メッセージ7/8
2,108件の閲覧回数

私が作成したviでログ出力する方法をどなたかおしえていただけないでしょうか?

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