LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

queデータ配列の合成について

LabVIEWによるデータ収録系作成にあたり、

キューを利用して行おうと思っています。

現在データを無差別にキューを用いてリアルタイム(正確にはリアルタイムではなく、バッファによって一定時間で切り取る作業を連続で行っている)で

保存することができますが、

データ表示がバッファに依存して表示されてしまいます。

具体的には0.25s単位で取得し、保存され、キューとしても0.25sごとに一要素のキューが作成されます(240(ch)x1250(時間分解能)の配列の塊になっているようです)

そこでデータ保存と表示を別ループで行い、データ表示部において遅延(5秒に一回表示)を利用してキューをためて

後にそれを表示しようと試みています。

このときキューからデータを削除を利用すると最新キューのデータを取り出すだけなので、

キュー排出を利用してデータを取り出して見たところ、

240x1250のブロックが20個生成されます。

このデータを240x25000の配列に合成したいのですが、どのように行ったら効率的に行えるかわかりません、

ご指導のほどお願いいたします。

またオシロスコープのリングメモリのように,

キューを合成することでキューの最大量を一定にし、

新しくキューが出来たらこの合成したキューの後ろに入れ、一番前のキューを削除する方法についても

教えていただけると幸いです。

よろしくお願いします。

0 Kudos
Message 1 of 3
(4,079 Views)
Please post in english here
0 Kudos
Message 2 of 3
(4,052 Views)

icrf_group さま

 

Please check the VI that I made for you(attached).

Does this VI satisfy your goal?

 

From your problem description, I thought that you have several(20) 2D arrays(240×1250) taken out from the queue and it seemed that your goal is to bind these 2D array blocks to a single 2D array of 240×25000.

You can "Reshape Array" like in the VI attached.

 

If you have a 2D array blocks as a cluster data, you can firstly "Unbundle" the cluster and secondly bind each 2D blocks with "Reshape Array" function.

 

Hope you can do it with this way!

 

SOHN

 

Sang Kyeong Sohn
Message 3 of 3
(4,021 Views)