Labview基本常見(jiàn)問(wèn)題解答(四)
18、利用Build Application生成exe文件,如果原程序用到了current vi’s path,那么就會(huì )出現原先默認能找到的文件現在程序自己找不到了 A:當使用current vi’s path這個(gè)函數時(shí),它會(huì )將文件名和該vi所在的路徑返回,如果剛編寫(xiě)vi還沒(méi)有保存,那么運行它會(huì )返回一個(gè)無(wú)效值,如果已保存了該vi,那么就能返回完整路徑,例如一個(gè)名為:“Application.vi”的vi被保存在C:Program FileApplication這個(gè)文件夾下面,current vi’s path函數返回的路徑就是C:Program FileApplication Application.vi;如果生成exe,并且與Application.vi保存在同一個(gè)目錄下,那么運行的時(shí)候會(huì )返回C:Program FileApplication App.exeApplication.vi,所以我們需要多用一個(gè)Strip path function才能得到和原來(lái)一樣的路徑。
本文引用地址:http://dyxdggzs.com/article/193752.htm19、 如何自定義窗口標題字符,而不是用默認的Vi 名稱(chēng)? A:如果只是設置一個(gè)非VI名稱(chēng)的默認標題,可以在VI Property>>Window Appearance中設置,去掉Same As VI name前面選中符號,然后在Window title中輸入需要顯示的字符;如果希望在程序中修改標題,可以使用VI Server中屬性FP.Title
20、 LV中使用NI-VISA軟件控制USB設備 A:為了使用NI-VISA,在Windows環(huán)境中,可以通過(guò)INF文檔做到這一點(diǎn)。NI-VISA3.0包含VISA Drive Development Wizard(DDW)將為USB設備創(chuàng )建一個(gè)INF文檔。1)、選擇Start Programs National Instruments VISAVISA Drive Developer Wizard,打開(kāi)DDW??梢杂眠@個(gè)向導為PXI/PCI或USB設備創(chuàng )建一個(gè)INF文檔,點(diǎn)擊Next。此時(shí)出現VISA DDW基本設備信息窗口。2)進(jìn)行這一步時(shí),需要清楚USB供應商ID和產(chǎn)品ID。這兩個(gè)數據都是16位十六進(jìn)制數字,由供應商提供。點(diǎn)擊Next。出現輸出文檔屬性窗口。3)USB Instrument Prefix是一個(gè)描述符,用來(lái)識別本設備所用的相關(guān)文檔。在USB Instrument Prefix中輸入相應信息,并在“output file directory”中選擇存放這些文檔的目錄,然后點(diǎn)擊Finish。INF文檔就創(chuàng )建好并保存在您指定的位置了。假定Windows XP操作系統。復制INF文檔并將其放入INF文件夾,這個(gè)文件夾的位置通常是:“C:WINDOWSINF”。這個(gè)文件夾可能是隱藏的。右擊C:WINDOWSINF文件夾中INF文件,然后點(diǎn)擊Install。這個(gè)過(guò)程為您的文件創(chuàng )建了PNF文檔?,F在就可以準備安裝USB設備了。連接USB設備。Windows探測到您的USB設備后,立即會(huì )打開(kāi)“添加新硬件向導”。遵照屏幕上有關(guān)向導程序的指定行事。如果您準備為該設備選擇驅動(dòng)程序,就請瀏覽INF文件夾,并選擇您使用DDW創(chuàng )建的INF文檔。就可以在MAX和LV中編成控制了。
21、利用LV的迅捷VI讀出.lvm的數據,但是無(wú)法正常在waveform graph中正常顯示。 A:讀出的二維數組是以列為單位存放數據的,而waveform graph顯示2D數組是以每行作為一條曲線(xiàn)進(jìn)行輸出的,所以,利用Transpose 2D Array 將行列轉制就可以了。Waveform chart與graph剛好相反,是以每列數據作為一條曲線(xiàn)進(jìn)行輸出的,所以不加轉制就可以用chart代替工人阿婆和也可以正常顯示。
22、 LV7.1DataSocket協(xié)議傳輸數據怎樣保證客戶(hù)端完整地從服務(wù)器接收數據而不丟失?A:數據丟失的原因是讀取數據的速度比發(fā)布慢使得數據被覆蓋,處理方法有兩方面:1) 提高客戶(hù)端運行速度,保證服務(wù)器發(fā)布新數據前已經(jīng)讀完。2) 設立數據緩存區。服務(wù)器的在DataSocket Server Manager設置,默認是25M??蛻?hù)機的要將Datasocket Open函數模式參數選為BufferedRead或BufferedRead/Write,然后通過(guò)屬性節點(diǎn)設置緩存大小。同時(shí)也可以用屬性節點(diǎn)作緩存區診斷。
23、 如何將MAX配置文件保存下來(lái) A:在MAX里,當配置完成后,在菜單欄,選擇FILE---Export,選擇保存位置已經(jīng)類(lèi)型,點(diǎn)擊Next,選擇需要保存的文件,接著(zhù)點(diǎn)擊Export,finish。載入時(shí),選擇Import
24、Developer Suit中State diagram toolkit是做什么用的 A:狀態(tài)框圖使用一個(gè)圖形化狀態(tài)框圖標識,定義多個(gè)狀態(tài)及其轉移邏輯,并包含有自動(dòng)生成LV代碼的工具,在對于搭建大程序的構架上是很有用的一個(gè)工具
25、 LV7.1用局部變量的時(shí)候只能將機械動(dòng)作改成Switch,而不能用Latch,例如用Stop按鈕停止兩個(gè)并行的循環(huán),怎么做? A:在用Latch方式時(shí),系統讀這個(gè)控件一次后自動(dòng)改為默認值,所以用Latch方式時(shí)用局部變量,在兩次讀出的值即使時(shí)間間隔很短也不能保持一致,所以就不能用了。此時(shí),可以用Switch方式,并在程序開(kāi)始時(shí)初始化按鈕就可以了。
26、在A(yíng)ctiveX容器中播放Flash的動(dòng)畫(huà),如何實(shí)現在LV中響應Flash中的按鈕動(dòng)作? A:通過(guò)調用ActiveX,可以在LV中播放*.swf的動(dòng)畫(huà)。響應FLAH中控鍵動(dòng)作的辦法是用一個(gè)事件結構,在A(yíng)ctiveX容器中特定區域響應鼠標動(dòng)作。
27、在調試LV7.1程序的時(shí)候,程序總是進(jìn)行到無(wú)法響應得狀態(tài),然后只能強行關(guān)閉,因此無(wú)法正常運行? A:在VI前面板有個(gè)長(cháng)度很大的字符串Indicator,因此程序在刷新屏幕的時(shí)候很消耗資源,將這個(gè)Indicator設為隱藏,問(wèn)題就解決了。同樣的問(wèn)題也會(huì )出現在數據量很大的Graph,Chart,甚至探針上。
28、LV7.1中一個(gè)while循環(huán)嵌套另一個(gè)While循環(huán),如何通過(guò)一個(gè)布爾量停止這兩個(gè)循環(huán)? A:創(chuàng )建一個(gè)布爾量的局部變量,用這個(gè)局部變量控制一個(gè)循環(huán),用布爾量控制另一個(gè)循環(huán),注意機械特性是不能帶鎖存的(Latch)。
29、采集3路信號,需要根據一列的數據的值來(lái)對整個(gè)數組進(jìn)行排序,保證每一排的數據仍然對應。A:
30、 每次運行時(shí)CPU使用率都達到100%,為什么? A:循環(huán)里面沒(méi)加延時(shí)就會(huì )有這種現象發(fā)生
31、儀器驅動(dòng)器的概念和VISA的特點(diǎn)? A:儀器驅動(dòng)器是指使用標準化的I/0函數儀器設備進(jìn)行通信的程序,主要用于對儀器進(jìn)行程控操作。在LV編程語(yǔ)言中,儀器驅動(dòng)器是指由VISA標準和儀器程控指令共同構成的儀器控制程序的應用接口(API)。儀器驅動(dòng)器采用VISA標準編程,從而可避開(kāi)許多復雜而低級的儀器程控命令。VISA是虛擬儀器體系結構的簡(jiǎn)稱(chēng),它的特點(diǎn)有1)面向對象編程;2)VISA是當前所有儀器接口類(lèi)型功能函數的超集,且十分簡(jiǎn)潔。3)VISA作為標準函數,與儀器的I/O接口類(lèi)型無(wú)關(guān);4)VISA程序與操作系統與編程語(yǔ)言無(wú)關(guān)。
32、如何選擇告訴CAN卡和低速CAN卡的使用? A:高速CAN 和低速CAN設備是不能允許于同一個(gè)CAN網(wǎng)絡(luò )中。如果CAN設備是Serials 2 的CAN設備那么是有兩個(gè)PORT分別可以做高速CAN和低速CAN的,而且是通過(guò)軟件來(lái)設置的,直接在MAX里找對應的CAN設備選擇相應的PORT的屬性就可以更改是高速還是低速CAN。如果Serials1的就需要一個(gè)端子,從一個(gè)CANport分出兩個(gè)Port分別作高速CAN和低速CAN,也是在MAX設置的。
33、如何使用Read Text File函數從文本文件中逐行讀取數據? A:在Read Text File函數的輸入輸出端口無(wú)法設置讀取行的功能。只有用鼠標右擊該函數,從彈出的快捷菜單中選擇Read Lines才能實(shí)現讀取行的操作。將這個(gè)函數放到一個(gè)循環(huán)里,就可以實(shí)現逐行讀取的目的了。
34、用LV寫(xiě)的串口程序,生成EXE文件后不能在沒(méi)有Lv的機器上運行,這臺機器已經(jīng)裝好了相應的LAB VIEW Run-Time,為什么? A:如果串口程序使用VISA寫(xiě)的,就需要在目標及其上安裝相應的VISA驅動(dòng)??梢栽谀繕思捌渖蠁为毎惭bVISA驅動(dòng),也可在LV中使用打包功能將VISA驅動(dòng)和應用程序一起做成一個(gè)安裝文件,統一安裝到目標機器上。
評論