シフトレジスタ LabVIEW
LabVIEW基本講座3-7
LabVIEWのシフトレジスタについて説明します。LabVIEWのシフトレジスタはループ内でデータを記録して次の反復にデータを渡すことができます。
![LabVIEWのシフトレジスタ](https://i0.wp.com/www.peritec-si.com/wp/wp-content/uploads/labview-course3-7-1.jpg?resize=295%2C171&ssl=1)
LabVIEWのシフトレジスタ動作
- シフトレジスタはループ実行時に得られたデータを、その後のループ実行時まで保持する機能です。
- シフトレジスタは1つのループに複数作成できます。
- シフトレジスタはループの枠の左右に1対の端子があり、互いに向き合っています。
- 右側の端子には繰返し処理完了時のデータが格納されます。
- シフトレジスタに要素を追加すると、前回の繰返しの値を記憶させることができます。
- Forループ、Whileループ、タイミングループで使用できます。
- シフトレジスタを設定する場合は、初期化して使用してください。初期化しないと過去のデータや デフォルト値が設定されて誤動作することになります。
![シフトレジスタ動作](https://i0.wp.com/www.peritec-si.com/wp/wp-content/uploads/labview-course3-7-2.jpg?resize=800%2C200&ssl=1)
シフトレジスタの作成
シフトレジスタを作成するにはループの左右の枠の部分を右クリック→メニュー→「シフトレジスタを追加」を選択してください。
ループの左右にシフトレジスタが追加されます。
![シフトレジスタ追加](https://i0.wp.com/www.peritec-si.com/wp/wp-content/uploads/labview-course3-7-3.jpg?resize=283%2C404&ssl=1)
または、ループのトンネル端子を右クリックして→メニュー→「シフトレジスタと置換」をクリックしてください。
「シフトレジスタと置換」クリックすると、対となるトンネル端子を選択するマークになるので、対となるトンネルを左クリックしてください。トンネルがなければ、左クリックで自動作成されます。
![シフトレジスタ置換](https://i0.wp.com/www.peritec-si.com/wp/wp-content/uploads/labview-course3-7-4.jpg?resize=616%2C283&ssl=1)
シフトレジスタの削除
シフトレジスタを削除するには、シフトレジスタをの端子を右クリック→メニュー→「すべてを削除」を選択してください。
または、シフトレジスタをクリックしてDeleteキーをクリックしてください。
![シフトレジスタ削除](https://i0.wp.com/www.peritec-si.com/wp/wp-content/uploads/labview-course3-7-5.jpg?resize=483%2C246&ssl=1)
スタックシフトレジスタ
スタックシフトレジスタ機能と使用すると、前の反復時の値を記憶させておくことができます。
![スタックシフトレジスタ動作](https://i0.wp.com/www.peritec-si.com/wp/wp-content/uploads/labview-course3-7-7.jpg?resize=227%2C168&ssl=1)
スタックシフトレジスタは、シフトレジスタはシフトレジスタの端子を上下にドラックすることで追加/削除ができます。
または、シフトレジスタをの端子を右クリック→メニュー→「要素の追加」で追加、「要素の削除」で削除されます。
![スタックシフトレジスタ](https://i0.wp.com/www.peritec-si.com/wp/wp-content/uploads/labview-course3-7-6.jpg?resize=490%2C241&ssl=1)
フィードバックノード
シフトレジスタはフィードバックノードに置換することができます。
フィードバックノードはシフトレジスタと同じ動作をします。
フィードバックノードは関数パレットのストラクチャカテゴリからも選択可能です。
![フィードバックノード](https://i0.wp.com/www.peritec-si.com/wp/wp-content/uploads/labview-course3-7-8.jpg?resize=489%2C282&ssl=1)