NI產品與技術 討論區

取消
顯示結果 
搜尋替代 
您的意思是: 

陣列連續顯示

已解決!
前往解決方案
NI工程師請問一下: 請問如果我想想外部讀取數值,如數值由1 2 3.....n 我想外部可設陣列大小 一維的。 如我設8維陣列 [1 0 0 0 0 0 0 0] [2 1 0 0 0 0 0 0] [3 2 1 0 0 0 0 0]以此類推, --------------------------------- 如果我設3維 [1 0 0] [2 1 0] [3 2 1] [4 3 2].......... 我有用過LOOP(位移暫存)寫過,但如果要設維度,就要在程式區作加減。 我想能在前置面版那裡設數值,不需在撰寫vi的地方作修改,請問如何撰寫,我實在想不出來。 謝謝
0 積分
1 條訊息(共 13 條)
7,575 檢視

hihi~ 你好! 我是路人 

應該只要把迴圈的"i"設為control就可以了吧?!

不知道你的需求是不是如我附圖檔中的一樣呢?  

然後人機介面區的陣列大小可再用property node去調整

讓其隨 "dimension" 自動縮放。

看看吧! 

 

 

由 Jo忍金 在 05-27-2009 01:56 AM
上編輯的訊息
0 積分
2 條訊息(共 13 條)
7,562 檢視

不好意思!

剛剛貼錯張圖了!

我把圖換掉重貼兩張給你哦 ^^

 

由 Jo忍金 在 05-27-2009 02:47 AM
上編輯的訊息
下載全部
3 條訊息(共 13 條)
7,553 檢視

不對哦~好象快對了

主要是一維陣列,

如果陣列是

A B C D E F G

A=(K)

B=(K-1)

C=(K-2)

D=(K-3)

E=(K-4)

F=(K-5)

G=(K-6)

也就是B的值,是A值得一個新值,舊的A值變成B的值。

相對的B得到A的舊值,那B的舊值會成為C的新值

0 積分
4 條訊息(共 13 條)
7,538 檢視

因為目前我所了解的陣列,如果誰8維,

也就是等8個數字得到,才會送出顯示,

如果我在FOR LOOP裡由外接訊號傳入1 2 3 4 5 6 7 8 9個數值

我使用三維

也就是說我第一次會量到123

                第二次會量到456

 

是否有半法,當送入一個訊號,會使的整個數值往後移,新送入的值是第一個位置,

最後一個數值而因維度的限制而消失

謝謝

0 積分
5 條訊息(共 13 條)
7,529 檢視

hello

 

根據你的描述 這應該就是你要的了吧! 看下吧

 

 

由 Jo忍金 在 05-27-2009 10:11 AM
上編輯的訊息
6 條訊息(共 13 條)
7,526 檢視

可能我說的不太好

我說明白一點,

如果我用的是四維的陣列。

從外部讀取訊號

依取樣時間(1sec) 分別讀到

1  8   9    5   2    4    6    8   4    1   2   6    9

首先第一次取樣時間顯示

[1 0 0 0]

第二次陣列顯示

[8 1 0 0]

第三次

[9 8 1 0]

[5 9 8 1]

[2 5 9 8 ]

[4 2 5 9]

[6 4 2 5]

因為我之前是用 loop 暫存位移來作,

但維度不能直接在前置面板設,如果要多一個維度,須改程式,多加一個暫存位移。

麻煩你了,我想了很久還是想不出來。

謝謝

0 積分
7 條訊息(共 13 條)
7,514 檢視

我不想要改維度,就要改程式

我想能在前置面版設計程式

謝謝

0 積分
8 條訊息(共 13 條)
7,497 檢視
解決方案
由主題作者所接受 Compact RIO

您好,

 

 

我想你或許有所誤會,你需要的並不是多維陣列,而是一維陣列。

所謂一維陣列的資料是這樣:[0 1 2 3 ...],而二維陣列則為:

[  0 1 2

   3 4 5

   6 7 8

   9 0 1 ]

 

一般來講應該是不太可能複雜到用到九維陣列,這樣的程式上也並不是很容易去構思。

根據你前一篇提到的需求,請參考我寫的簡單範例程式:

 Array.png

照這個程式去做,就是模擬一次抓到一個點的資料,並一每次迴圈把值塞進size為4的一維陣列。

 

我的作法是使用 Insert Into Array,把最新的值擠進最前面,再透過 Array Subset 把第四個 element 以後的值拿掉,使得 Array Indicator 保持四個值,這樣應該就可以達到您要的目的了。

 

謝謝。

Jimmy Ko
9 條訊息(共 13 條)
7,470 檢視

恩~我將你程式作修改ok了~非常感謝

但我將程式使用於CompactRIO FPGA(cRIO-9014),但發現發生錯誤,

下圖畫紅線的地方,也就是錯誤的原因,我是直接於鍵顯示,

看錯誤訊息為 Fixed size in current target,我於Set Dimension Size地方調整,但還是無法成功

,如將顯示端移除,就無失敗

請問於下圖中的顯示端,錯誤如何解決

[                  http://2uploadhk.com/view/35147/陣列.JPG           ]網址

 

謝謝

0 積分
10 條訊息(共 13 條)
7,460 檢視