數(shù)據(jù)傳輸進(jìn)程子面板
四.
程序編程完畢進(jìn)行測試的時候其實遇到了很多問題,讓人很郁悶,后來慢慢滴調(diào)試修改,最終還是解決了這些問題,程序運行也得到了一個滿意的答案,下面先給出程序運行的效果吧
A.局域網(wǎng)傳輸系統(tǒng)服務(wù)器主界面:包含已發(fā)送信息瀏覽,文件路徑選擇,端口號設(shè)置等,并可以通過開始按鈕開始傳輸;
B.傳輸程序時主界面運行效果,彈出子面板顯示實時信息;
C.下兩個圖為傳輸某兩個文件夾時的進(jìn)程子面板的效果圖。
傳輸效果雖然不錯,但在路上卻遇到了很多問題,下面就將這些小問題一一說明。
(1)主界面上銀色多列列表框在開始的時候總是只能顯示第一列的內(nèi)容,雖然通過項名的屬性節(jié)點添加了好幾項內(nèi)容,但始終只顯示第一項,最后我通過在第一列右擊選擇在前面插入列的方式生成了足夠的列,然后又將曾經(jīng)的第二列及以后的列全部推到了后面隱藏起來,這才解決了這個問題,原因我不曉得,更不明白NI這是何意。當(dāng)然其實也可以通過其他形式的多列列表框來實現(xiàn)就不會這樣子了;
(2)多列列表框想要在某一列的某個單元格加入符號,為什么都加到了第一列去,有沒有人知道這是為什么,有沒有辦法加到后面的列;
(3)一開始的時候程序?qū)?shù)據(jù)傳輸完畢后總是無法停止運行,而且也沒有關(guān)閉子vi,我覺得是子Vi循環(huán)的問題,但是好像問題也不大,判斷條件也是對的,最后沒辦法自己隨便試的,然后在隊列發(fā)送數(shù)據(jù)給子Vi的循環(huán)中加了一個順序結(jié)構(gòu),如下圖所示
也就是先讓子Vi接收數(shù)據(jù)并運行完畢,然后判斷該循環(huán)是否終止,然后程序就好了,有沒有人能解釋一下具體的原理,我自己想可能是不加順序的時候該循環(huán)運行狀態(tài)和子Vi運行狀態(tài)想出現(xiàn)了矛盾的地方,具體也說不清楚;
(4)xy圖是個比較蛋疼的東西,它無法保存先前顯示的數(shù)據(jù),我本來想只要通過一個循環(huán)加移位寄存器就可以將xy圖每次顯示后將先前的狀態(tài)保持下來,這樣每次傳進(jìn)來一個點的數(shù)據(jù)在后面接著顯示豈不完美,結(jié)果運行的時候圖表一片空白,原來它只是每次都你傳進(jìn)來的數(shù)據(jù)重新刷新顯示一邊,所以最后不得不采用數(shù)組的形式,每次把刷新的數(shù)組值給xy圖讓它不停滴重新繪圖;
(5)最后來說一下,對于這種實時更新的子Vi,如果你要通過隊列的方式將數(shù)據(jù)在主Vi中傳遞給子Vi的數(shù)據(jù)輸入端,子Vi是萬萬不要加總體的循環(huán)的,尤其是while循環(huán),因為主程序進(jìn)入子Vi后會在子Vi運行完畢后才再次回到主程序,這就可能造成子Vi進(jìn)入循環(huán),程序就停在子Vi出不來了,所以做程序的時候?qū)τ谛盘柡蛿?shù)據(jù)流通傳輸過程要很有數(shù)才好。
五.
評論