新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > LABVIEW的通訊問題

        LABVIEW的通訊問題

        作者: 時間:2017-01-05 來源:網絡 收藏
        問題: 串行通訊的基本架構是什么?

        解答: 串口通訊架構
        每一個異步串行系統的核心都是一個UART(通用異步接收機/發送機)。UART不僅控制傳輸的數據,相應的電平,同時也控制通訊的速度。UART能夠存儲足夠的信息,所以保證了在電腦忙得時候,數據流也能連續傳輸。這對于同時處理大量任務的操作系統非常有幫助。下面附圖是理想串行通訊的示意。我們大部分的串行卡都有一個輸入輸出的FIFO(查看目錄了解詳細信息)。FIFO的數據可以通過串行驅動獲取。串行驅動會自動地把FIFO的數據傳輸到軟件的緩存,這個緩存是可以在應用軟件由用戶配置的(比如,在LabVIEW您可以使用Serial Port Init VI來設置緩存去大小)。讀接口的數據實際上包含從軟件緩存讀的過程。確認硬件操作的回路測試有三種方式確認串口的操作:LabVIEW,超級終端和LabWindows/CVI。這三種方式進行回路測試是把串口的發送和接受引腳短接。第一步描述短接引腳的過程。LabVIEW的處理寫在下面,而超級終端和LabWindows/CVI的過程在本文后面的鏈接里。對于LabVIEW建議使用如下步驟:
        a,連接一根電纜到串口。最常用的RS-232電纜是9針或者25針(DB-9或者DB-25)。在電纜端把2、3引腳短接。這會把計算機發送數據的線連接到接收數據的線。一旦短接,BD-9的上一排變成【1 2=3 4 5】。
        對于RS-485端口,電壓是差分的。因此,你必須短接TXD+和RXD+、TXD-和RXD-(對于DB-9電纜,連接pin4到pin8和pin5到pin9;對于模塊化接口,連接pin2到pin6和pin3到pin7;對于Combicon接頭,連接pin1到pin5和pin2到pin4。)確保你的軟件配置為4線模式
        二、使用說明
        在LabVIEW環境中使用串口與在其它開發環境中開發過程類似,基本的流程框圖如下。



        先需要調用VISA Configure Serial Port完成串口參數的設置,包括串口資源分配、波特率、數據位、停止位、校驗位和流控等等。

        如果初始化沒有問題,就可以使用這個串口進行數據收發。發送數據使用VISA Write,接收數據使用VISA Read。在接收數據之前需要使用VISA Bytes at Serial Port查詢當前串口接收緩沖區中的數據字節數,如果VISA Read要讀取的字節數大于緩沖區中的數據字節數,VISA Read操作將一直等待,直至Timeout或者緩沖區中的數據字節數達到要求的字節數。當然也可以分批讀取接收緩沖區或者只從中讀取一定字節的數據。
        在某些特殊情況下,需要設置串口接收/發送緩沖區的大小,此時可以使用VISA Set I/O Buffer Size;而使用VISA Flush I/O Buffer則可以清空接收與發送緩沖區。在串口使用結束后,使用VISA Close結束與VISA resource name指定的串口之間的會話。

        具體的例子可以參考:examplesinstrsmplserl.llb。

        第二部分使用MSCOMM控件

        在LabVIEW中使用MSCOMM控件,與在VC、VB中使用一樣。同樣可以使用中斷方式進行接收。具體的例子可以發索取。




        首先通過LabVIEW的工具菜單“Tools >> Advanced >> Import ActiveX Controls”將Microsoft的串口控件-“Microsoft Communications Control,version 6.0”添加到LabVIEW環境中,存放在缺省路徑即可,這樣在User Controls Palette里面可以找到這個控件。



        圖:添加ActiveX控件菜單
        上一頁 1 2 下一頁

        關鍵詞: LABVIEW通訊問

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 禄丰县| 陇南市| 德化县| 岳池县| 南阳市| 峨山| 佳木斯市| 盐津县| 田东县| 观塘区| 都兰县| 三河市| 尚志市| 牙克石市| 江阴市| 凌源市| 永昌县| 乐都县| 清镇市| 临颍县| 迁西县| 惠州市| 齐齐哈尔市| 黑河市| 皮山县| 阜宁县| 扶风县| 太和县| 丹棱县| 哈尔滨市| 凤冈县| 阿拉善左旗| 宜兰市| 罗田县| 布尔津县| 渝中区| 和林格尔县| 衡南县| 博兴县| 垫江县| 茂名市|