新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > LabVIEW VISA與串口通訊的編程實現

        LabVIEW VISA與串口通訊的編程實現

        作者: 時間:2017-01-06 來源:網絡 收藏
        VISA虛擬儀器軟件體系結構的縮寫(即Virtual Instruments Software Architecture),實質上是一個I/O口軟件庫及其規范的總稱。
        VISA是應用于儀器編程的標準I/0應用程序接口,是工業界通用的儀器驅動器標準API(應用程序接口),采用面向對象編程,具有很好的兼容性、擴展性和獨立性。用戶可用一個API控制包括VXI、GPIB及串口儀器在內的不同種類的儀器。它還支持多平臺工作、多接口控制,是一個多類型的函數庫。
        LabVIEW中編寫的VISA接口程序,當外部設備變更時,只需要更換幾個程序模塊即可使用,簡單方便而且開發效率高。
        在LabVIEW 中利用VISA節點進行串行通信編程。為了方便用戶使用,LabVIEW將這些VISA節點單獨組成一個子模塊,共包含8個節點,分別實現初始化串口、串口寫、串口讀、中斷以及關閉串口等功能。
        一、基本步驟
        在LabVIEW 中,進行串口通信的基本步驟分為3步:
        第一:串口初始化,利用ⅥSA Configure SerialPort.vi節點設定串口的端口號、波特率、停止位、校驗位、數據位。
        第二:讀寫串口,利用VISA Read節點和VISAWrite節點對串口進行讀寫。
        第三:關閉串口,停止所有讀寫操作。
        二、主要節點介紹
        下面介紹一下VISA串口的主要節點及其功能:
        1、串口配置
        該節點主要用于串口的初始化,如圖1所示。

        圖1 串口配置節點
        VISA資源名稱:指PC的串口名,例:COMl,COM2等。
        波特率:串口速率,默認為9600bps。
        數據比特:一幀信息中的位數,LabVIEW 中允許5~8位數據,默認為8。
        奇偶:奇偶校驗位,可選為無校驗、奇校驗或偶校驗,默認為無校驗。
        停止位:一幀信息中的停止位的位數,可選為1位、1.5位或2位。
        流控制:設置傳輸機制使用的控制類型,可選為None、XON/XOFF軟件流控或RTS/CTS硬件流控,默認為None。
        終止符:設置一幀數據的結束符,即當接收串口數據時,當收到終止符時,軟件自動結束一幀數據接收。
        2、串口寫入
        該節點主要用于寫入串口數據,如圖2所示。

        圖2 串口寫入節點
        寫入緩沖區:串口發送的內容。
        3、串口讀取
        該節點主要用于讀取串口中的數據,如圖3所示。

        圖3 串口讀取節點
        字節總數:要讀取的字節數量。
        讀取緩沖區:PC串口收到的數據。
        返回數:實際讀取的字節數,字節總數應大于或等于返回數,否則會丟數。
        4、串口關閉
        該節點主要用于關閉已打開的串口,釋放串口資源,以便串口被其他程序所調用,如圖4所示。

        圖4 串口關閉節點
        三、典型串口程序框圖
        按照串口編程的3個基本步驟,圖5和圖6給出了兩個典型的串口讀寫程序框圖。圖5為讀取的字節數為固定值,圖中為4個字節,如果串口中數據字節數目不等于4個字節則會出錯。圖6則是先判斷出串口中數據的字節數目,然后將其全部讀取出來。相對而言,圖6的通用性更好,但是出錯的概率也會增大,因為不知道串口發來的數據是否與我們所需要的數據的字節數相等。

        圖5 典型串口讀寫程序框圖1

        圖6 典型串口讀寫程序框圖2



        關鍵詞: LabVIEWVISA串口通

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 宾阳县| 苏州市| 闽侯县| 沛县| 福建省| 张家港市| 离岛区| 永靖县| 甘德县| 富民县| 金川县| 中方县| 鄂伦春自治旗| 察隅县| 浦城县| 五常市| 习水县| 利辛县| 高州市| 安泽县| 腾冲县| 丽水市| 博客| 奉化市| 邹城市| 洛南县| 碌曲县| 乾安县| 辽源市| 宝丰县| 武陟县| 永春县| 栖霞市| 鸡西市| 仙居县| 河北区| 会宁县| 靖西县| 中牟县| 永济市| 资源县|