LabVIEWのフロントパネルで2つのインジケータをリンクして、常に同じ値になるようにする方法はありますか?現在、両方を毎回同じ値に設定していますが、一方を他方をミラーリングするように設定する方法があれば、はるかに簡単です。
4 に答える
デジタルディスプレイを表示することができます。スライダーを右クリックして、[表示アイテム]から[デジタルディスプレイ]を選択します。
データを表示しようとしている方法に応じて、これを実現する方法がいくつかあります。
スライダーを更新してテキストボックス インジケーターに数値を表示させようとしている場合は、スライダーを右クリックして [表示可能なアイテム] -> [デジタル表示] を選択すると、スライダーの値を示す数値インジケーターが表示されます。これは、必要に応じて再配置できます。他の方法ではブロック ダイアグラムが複雑になるため、これが要件を満たしているかどうかを確認する必要があります。
別の方法は、ネットワーク共有変数を使用してデータをバインドすることですが、あなたの質問からこれはやり過ぎだと思います。
イベント構造を作成して、スライダーの値変更イベントを探し、それに応じてテキスト インジケーターを更新することもできます。スライダーに値を配線するだけでは、プロパティ 'value(signalling)' のスライダーにリンクされたプロパティ ノードを使用するためのイベントがトリガーされないため、スライダーの更新方法に注意する必要があります。繰り返しますが、これはアプリケーションにとっては過剰かもしれません。
厳密に言えば、いいえ、自動的に行うことはできません。できることは、イベント ストラクチャを設定し、2 つのコントロールのそれぞれに Value Changed イベントを使用して、他のコントロールを更新することです。スライダーは、最後に 1 つのイベントだけでなく、ユーザーがスライドしている間、何度も値変更イベントを発生させることに注意してください。ただし、この状況ではそれが必要な場合があります。
これは簡単にはできないと思いますが、いくつかの可能性があります (前述のとおり)。一般的な質問は、なぜですか?2 つの場所に同じ情報を持つインジケーターがあります。(または、それらは実際のコントロールですか?) 2 つのインジケーターがある場合は、ターミナルを隣り合わせに配置します。2 つのうちの 1 つを (ローカルまたは参照によって) 変更して、ツインのアクションを模倣することを覚えておいてください。
両方のコントロールに値変更イベントを使用するとうまくいくはずですが、イベントを直接処理しないと競合状態になる可能性があることに注意してください。
同じアクション/値に対して 2 つのコントロールが必要な理由をもう少し詳しく説明していただけますか?
トン