スニペットライブラリ のバックアップの現在との差分(No.1)

更新


  • 追加された行はこの色です。
  • 削除された行はこの色です。
[[公開メモ]]

#contents

* このページの使い方 [#i69dffa4]

ブロックダイアグラムは VI スニペットになっているので、
LabView へドラッグ&ドロップしてそのまま使えます。

→ [[プログラミング/LabView/VIスニペット]]

* 値が変化したことを検出する [#ud2fbc15]

今回の値が前回と異なるかどうかを返す。
今回の値が前回と異なるかどうかを返します。

&attachref;
複数の値を同時にチェックできます。

[[プログラミング/LabView/繰り返さないループで内部状態を保持]] のテクニックを使っています。

&attachref(detect_change.png);

ループの部分だけを選んでサブVI化してもいいかもしれません。

** 使用例 [#v43cffdd]

&attachref;
&attachref(detect_change-example.png);

* 値が変化したことを検出する(別解) [#icca8aa4]

&attachref(detect-change2.png);

フィードバックノードを使った方がシンプルかもしれない。

LabView のライブラリでは上記の反復しないループを使う書き方が多いけれど、
何かメリット・デメリットがあるのだろうか?

ループの枠で囲まれていない分、遅延が視覚的にわかりにくいというのはあるかも。

* ゲート動作 [#a2cfd746]

ゲートがオンの時だけ入力値に出力値が追従する。

&attachref(gating.png);

フィードバックを使うとすごくシンプルに書けるけれど・・・
読みやすいかといわれると疑問???


* 波形生成サンプル [#y4f95948]

パラメータを動的に変更可能な任意波形生成のサンプルです。

&ref(wave-generator-panel.png);

&attachref(wave-generator.png);

フォーミュラノードの中を書き換えれば任意の波形を生成できます。

位相と t0 の生成に [[プログラミング/LabView/繰り返さないループで内部状態を保持]] のテクニックを使っています。

周期的でない波形を作るには「商&余り関数」を外します。

- 水色の枠で囲った部分
- 位相を順次生成 のループ
- t0を順次生成 のループ

の3つをサブ VI 化した上で、
上で黄緑で囲った部分をサブ VI 化し、実用的にしたものが [[プログラミング/LabView/波形発振器]] にあります。


Counter: 5001 (from 2010/06/03), today: 3, yesterday: 0