0

私は、on->off からの変更が何かを引き起こし、off->on からの変更が機能しないようにするコードを見つけようとして、頭を悩ませてきました。

たとえば、入力としてセンサーがあります。最初は、通過する物体を感知して数秒間静止するため、記録はオフ (つまり 0) になります。オフを記録すると、ライトが点灯します。数秒後、オブジェクトは最後まで進み (センサーを離れて)、戻ってきて再びセンサーを通過します。でも、今回はライトをつけたくない。

システムが、以前の状態がオフで、現在はオンを感知しようとしているという記憶を持っている場合、私はオフ-->オンを機能させず、オン->オフを機能させます。LabVIEWでそのようなコードは可能ですか? これに代わる他の方法はありますか?

4

2 に答える 2

1

私はこれでうまくいくと信じており、それは非常に簡単です。必要なロジックを完全に理解しているかどうかわからないため、間違っている場合は修正してください。

ここに画像の説明を入力

ここで重要なのはシフト レジスタの使用です。ローカル変数オプションよりも簡単です。適切な解決策がそこにあるか、これを微調整する必要があると確信しています。

シフト レジスタは false として初期化され、ループの出力に現れる状態は、次のループの入力に再び現れます。

もう 1 つの興味深い解決策は、"Sensor" の値の変化でトリガーするイベント構造を使用することです。このソリューションは、応答性がわずかに向上する場合もあります。以下を参照してください。

ここに画像の説明を入力ここに画像の説明を入力

于 2013-10-29T22:28:42.213 に答える
0

これを行うには、ローカル変数とフィードバック ノードを使用できます。

これが while ループ内にあると仮定すると、私の解決策は、センサー入力にローカル変数 hasLit とフィードバック ノードを作成することです。フィードバック ノードの出力が true で、センサーの入力が false (センサー ビューから渡されたばかりのオブジェクト) の場合、hasLit を true に変更します。センサーが true で hasLit でない場合、ライトの状態は true になります。

画像形式

于 2013-10-29T20:57:21.273 に答える