LabVIEW & myDAQ 23 / シフトレジスタと配列連結追加関数とを使う

参考: ミニ・アダプタmyDAQとLabVIEWで作るMy実験ベンチ: パソコンに取り込んで計測・制御思いのままに (計測・制御シリーズ), pp.97-101
test8.vi - Google ドライブ

 

  1. ブロックダイアグラム上で For ループの左辺または右辺を右クリックして [シフトレジスタを追加] を選択する
    f:id:ti-nspire:20170921101551p:plain:w350
  2. For ループの左右に ▼▲ のペアが現れる。これがシフトレジスタである。右の ▲ に入力された値が左の ▼ へ転送される。
    f:id:ti-nspire:20170921101711p:plain:w350
  3. ブロックダイアグラムで右クリックし、[配列]、[配列連結追加] の順に選択する。
    f:id:ti-nspire:20170921102301p:plain:w350
  4. 現れた [配列連結追加] アイコンの位置を調整する。
    f:id:ti-nspire:20170921102453p:plain:w350
  5. フロントパネルに波形グラフをもうひとつ追加する。
    f:id:ti-nspire:20170921102854p:plain:w350
  6. ブロックダイアグラムに現れた波形グラフの位置を調整し、下のように配線する。
    f:id:ti-nspire:20170921103126p:plain:w350
  7. これで実行すると、ループの繰り返されるたびに波形グラフ 2 が順次更新される。
  8. しくみは次のとおりである。
  • 1 回目のループ:
    • 乱数生成器から出力された乱数が配列連結追加関数に入力される。
    • この乱数が配列連結追加関数によって空の配列に追加され、要素が 1 つだけの配列が作られる。
    • その配列が波形グラフ 2 と右のシフトレジスタとに入力される。同時にその配列が左のシフトレジスタに転送される。
  • 2 回目のループ:
    • 乱数生成器から出力された乱数が配列連結追加関数に入力される。
    • この乱数が配列連結追加関数によって前回の配列 (左のシフトレジスタから取り出された配列のこと) に追加され、要素が 2 つの配列が作られる。
    • その配列が波形グラフ 2 と右のシフトレジスタとに入力される。同時にその配列が左のシフトレジスタに転送される。
  • 3 回目のループ:
    • ......



vi を閉じずにもう一度 For ループを実行した場合は、シフトレジスタが初期化されずに、配列連結追加関数によって配列の要素数がどんどん増えてゆく。