<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下使用ZLGCAN接口函數(shù)庫(kù)

          在LabVIEW下使用ZLGCAN接口函數(shù)庫(kù)

          作者: 時(shí)間:2012-07-11 來(lái)源:網(wǎng)絡(luò) 收藏

          在主循環(huán)中使用事件驅(qū)動(dòng)機(jī)制處理用戶在前面板的操作。打開(kāi)設(shè)備的程序框圖如圖2.13所示。在圖中調(diào)用VCI_OpenDevice函數(shù)打開(kāi)設(shè)備,如果打開(kāi)成功,則調(diào)用VCI_InitCAN函數(shù)初始化設(shè)備,成功的話就處理一下前面板控件的狀態(tài)。


          圖2.13打開(kāi)設(shè)備框圖

          圖2.14所示是接收數(shù)據(jù)的程序框圖。接收數(shù)據(jù)的過(guò)程是在一個(gè)while循環(huán)中,這個(gè)循環(huán)在程序已開(kāi)始時(shí)就一直運(yùn)行,直到前面板上的stop按鈕被按下并在其ValueChange事件中使stop2的值變?yōu)镕alse時(shí)才停止。在循環(huán)當(dāng)中,只有設(shè)備已經(jīng)啟動(dòng)時(shí)才會(huì)進(jìn)行讀操作。在Demo中VCI_Reveive函數(shù)一次只讀取一幀,輸出的數(shù)據(jù)保存到VCI_CAN_OBJ_R結(jié)構(gòu)中,如果VCI_Reveive函數(shù)執(zhí)行成功的話,就把接收到的數(shù)據(jù)通過(guò)事件傳遞給主循環(huán)處理。


          圖2.14接收數(shù)據(jù)

          發(fā)送數(shù)據(jù)的過(guò)程與接收數(shù)據(jù)的過(guò)程相似。當(dāng)前面板上的Transmit按鈕被按下時(shí),才會(huì)把VCI_CAN_OBJ_T結(jié)構(gòu)中的數(shù)據(jù)通過(guò)VCI_Transmit函數(shù)發(fā)送到CAN總線上。發(fā)送成功后,生成一個(gè)TREvent事件,并通過(guò)這個(gè)事件把VCI_CAN_OBJ_T結(jié)構(gòu)的內(nèi)容傳遞給主循環(huán)顯示。


          圖2.15發(fā)送數(shù)據(jù)

          3、VCI函數(shù)調(diào)用參考

          中使用CallingLibraryFunctionNode調(diào)用VCI庫(kù)函數(shù)的配置如下各表所示。

          3.1VCI_OpenDevice

          3.2VCI_CloseDevice

          3.3VCI_InitCan

          3.4VCI_ReadBoardInfo

          3.5VCI_ReadErrInfo

          3.6VCI_ReadCanStatus



          關(guān)鍵詞: LabVIEW

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();