在 05-26-2009 07:48 AM
已解決! 轉到解決方案。
在 05-27-2009 08:46 AM
不對哦~好象快對了
主要是一維陣列,
如果陣列是
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的新值
在 05-27-2009 08:57 AM
因為目前我所了解的陣列,如果誰8維,
也就是等8個數字得到,才會送出顯示,
如果我在FOR LOOP裡由外接訊號傳入1 2 3 4 5 6 7 8 9個數值
我使用三維
也就是說我第一次會量到123
第二次會量到456
是否有半法,當送入一個訊號,會使的整個數值往後移,新送入的值是第一個位置,
最後一個數值而因維度的限制而消失
謝謝
在 05-27-2009 12:32 PM
可能我說的不太好
我說明白一點,
如果我用的是四維的陣列。
從外部讀取訊號
依取樣時間(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 暫存位移來作,
但維度不能直接在前置面板設,如果要多一個維度,須改程式,多加一個暫存位移。
麻煩你了,我想了很久還是想不出來。
謝謝
在 05-28-2009 02:31 AM
我不想要改維度,就要改程式
我想能在前置面版設計程式
謝謝
在 06-01-2009 03:59 AM
您好,
我想你或許有所誤會,你需要的並不是多維陣列,而是一維陣列。
所謂一維陣列的資料是這樣:[0 1 2 3 ...],而二維陣列則為:
[ 0 1 2
3 4 5
6 7 8
9 0 1 ]
一般來講應該是不太可能複雜到用到九維陣列,這樣的程式上也並不是很容易去構思。
根據你前一篇提到的需求,請參考我寫的簡單範例程式:
照這個程式去做,就是模擬一次抓到一個點的資料,並一每次迴圈把值塞進size為4的一維陣列。
我的作法是使用 Insert Into Array,把最新的值擠進最前面,再透過 Array Subset 把第四個 element 以後的值拿掉,使得 Array Indicator 保持四個值,這樣應該就可以達到您要的目的了。
謝謝。
在 06-02-2009 05:43 AM
恩~我將你程式作修改ok了~非常感謝
但我將程式使用於CompactRIO FPGA(cRIO-9014),但發現發生錯誤,
下圖畫紅線的地方,也就是錯誤的原因,我是直接於鍵顯示,
看錯誤訊息為 Fixed size in current target,我於Set Dimension Size地方調整,但還是無法成功
,如將顯示端移除,就無失敗
請問於下圖中的顯示端,錯誤如何解決
[ http://2uploadhk.com/view/35147/陣列.JPG ]網址
謝謝