<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > LabVIEW VISA與串口通訊的編程實(shí)現(xiàn)

          LabVIEW VISA與串口通訊的編程實(shí)現(xiàn)

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

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

          圖2 串口寫(xiě)入節(jié)點(diǎn)
          寫(xiě)入緩沖區(qū):串口發(fā)送的內(nèi)容。
          3、串口讀取
          該節(jié)點(diǎn)主要用于讀取串口中的數(shù)據(jù),如圖3所示。

          圖3 串口讀取節(jié)點(diǎn)
          字節(jié)總數(shù):要讀取的字節(jié)數(shù)量。
          讀取緩沖區(qū):PC串口收到的數(shù)據(jù)。
          返回?cái)?shù):實(shí)際讀取的字節(jié)數(shù),字節(jié)總數(shù)應(yīng)大于或等于返回?cái)?shù),否則會(huì)丟數(shù)。
          4、串口關(guān)閉
          該節(jié)點(diǎn)主要用于關(guān)閉已打開(kāi)的串口,釋放串口資源,以便串口被其他程序所調(diào)用,如圖4所示。

          圖4 串口關(guān)閉節(jié)點(diǎn)
          三、典型串口程序框圖
          按照串口編程的3個(gè)基本步驟,圖5和圖6給出了兩個(gè)典型的串口讀寫(xiě)程序框圖。圖5為讀取的字節(jié)數(shù)為固定值,圖中為4個(gè)字節(jié),如果串口中數(shù)據(jù)字節(jié)數(shù)目不等于4個(gè)字節(jié)則會(huì)出錯(cuò)。圖6則是先判斷出串口中數(shù)據(jù)的字節(jié)數(shù)目,然后將其全部讀取出來(lái)。相對(duì)而言,圖6的通用性更好,但是出錯(cuò)的概率也會(huì)增大,因?yàn)椴恢来诎l(fā)來(lái)的數(shù)據(jù)是否與我們所需要的數(shù)據(jù)的字節(jié)數(shù)相等。

          圖5 典型串口讀寫(xiě)程序框圖1

          圖6 典型串口讀寫(xiě)程序框圖2



          關(guān)鍵詞: LabVIEWVISA串口通

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();