《電子技術應用》
您所在的位置:首頁 > 測試測量 > 業界動態 > 基于虛擬儀器的綜合測控系統程序設計

基于虛擬儀器的綜合測控系統程序設計

2008-12-09
作者:夏文超1, 戴瑜興1, 周 斌2

  摘? 要: 介紹了使用虛擬儀器技術及PLC構成的綜合測控系統" title="測控系統">測控系統,重點闡述了大型多線程LabVIEW程序的構建、通訊協議的算法實現以及外部函數的調用、動畫的顯示等。
  關鍵詞: 虛擬儀器; PLC; 測控系統; LabVIEW; RS-232

?

  LabVIEW即實驗室虛擬儀器集成環境,是美國國家儀器公司開發的圖形化集成開發環境" title="開發環境">開發環境。它區別于其他開發環境,主要采用圖形化編程即G語言編程,其核心是子VI、前面板、數據流圖等概念。LabVIEW目前已經發展到8.5版本,提供了與MATLAB、C等外部程序的良好接口,支持ActiveX、DDE、TCP/IP等標準程序接口,采用了面向對象的編程方法,功能非常強大,適用于任何編程任務,并滲入到嵌入式系統、FPGA設計等多個方面,成為一個獲得廣泛認可的圖形化軟件開發環境。本文介紹一個使用虛擬儀器技術在一臺普通PC上搭建通用多功能檢測平臺的應用,其集成了多種傳統檢測功能,同時具有數據分析、存儲、模擬仿真等諸多擴展功能,使眾多功能統一在一個架構下,成本低廉且方便管理維護,很好地體現了虛擬儀器低價靈活功能強大的優點。
1 測控系統總體結構
  本測控系統主要目的是在一個架構下完成對工業生產中的各種元器件的檢測,根據測量對象的不同選用不同的機械部分,可以應用于研發、質保等環節。
  系統整體結構如圖1所示,整個系統由普通PC機、PLC、機械/電動執行件及傳感器搭建組成。傳感器通過CAN、開關量、模擬量等方式接入PLC,PLC通過RS232連接PC機。此系統靈活簡單,任何一臺裝上程序的普通PC機連接PLC就能采集數據,且成本較低。PLC選用一款國產的控制器,特點是端口豐富,擁有2個CAN2.0B端口,1個RS232/422/485復用串口,1個以太網口,6路PWM輸出,4路脈沖輸入以及大量的模擬和數字端口,價格低廉,符合本設計要求,擴展空間廣闊?;具B接的傳感器為Hengsler絕對編碼器和3B6角度傳感器,使用CANOPEN接口;執行件為大扭矩步進電機,以PLC的PWM輸出作為其主要控制信號。

?

  系統的核心是PC機與PLC的協同工作。在工作時PC機與PLC進行雙向對等式通信,都可以向對方主動發數據。PC機負責人機交互" title="人機交互">人機交互、數據分析存儲以及根據收到的信息進行一些邏輯判斷,向PLC發送各種數據及命令。PLC負責將收到的命令轉換成具體的動作,收集現場信息傳給PC,以及實現安全保護的邏輯判斷。
2 主機程序總體結構
  程序主要結構如圖2所示。主循環由2個線程組成,一個負責監視通信;一個負責邏輯分析以及人機交互。通信線程包括數據收包解包、幀打包發送。人機交互線程包括面板操作響應、數據分析及畫圖演示、發送命令、響應PLC的請求等。線程間通信通過LabVIEW中有互斥保護機制的隊列類型(queue)交換數據,避免不同線程同時搶占公共資源或讀寫順序混亂產生錯誤。線程內部不同子循環間通過“通知/消息”結構(notifier)交換有時間性要求的數據。最后為正常退出的處理程序,進行設置存盤等操作。數據的存儲與讀取使用ACCESS數據庫。

?

3 LabVIEW主要程序設計" title="程序設計">程序設計
3.1用戶登錄驗證

  登錄驗證界面程序完成用戶合法性及權限驗證。在啟動時隱藏程序主界面,彈出登錄驗證界面。登錄程序首先讀取數據庫用戶信息,然后進入單循環event case結構,等待登錄事件觸發,進行驗證。訪問數據庫使用LabSQL模塊完成。圖3所示為等待登錄事件觸發的程序,圖4中程序完成對用戶信息數據庫userinfo.mdb的一次訪問。

?


3.2 PC機與PLC通信設計
3.2.1 模塊概述
  通信模塊的正常可靠運行是整個測控系統安全工作的基礎。如果不定義數據包不加處理地直接收發信息,則有可能因為收發雙方收發時間的不協調而導致連續的誤判。這在主從式低速通信的情況下可以通過問答形式避免,但在雙向通信的情況下,隨著數據量的增加錯誤風險也大大增加,可能導致危險的機械動作,因此需要一定的機制避免這種情況的發生。最理想的方法是利用TCP/IP協議,但PLC中RS232通信模塊沒有此協議,因此自行編制了一個底層通信協議以保證通信的可靠和效率。圖5為基本通信過程。

?


3.2.2? 通信協議
  對于雙方的上層應用程序,數據幀定義如下:每一幀開頭包括2字節表示幀類型及幀意義,第三字節開始為數據及參數,長度可變,如無參數和數據則填空。重要的數據在發送后需要得到確認。應用程序將需要發送的幀寫到寫緩沖隊列中,等待打包程序處理后發送。接收到的包經過對應的解包程序后送到讀緩沖隊列中給程序使用。
  打包處理過程如圖6所示,程序接收到應用程序要發送的數據幀后,將幀中的數據位進行裁減及拼接處理,將原數據位中每7位數據分成一組,最高位補0,作為數據包中的1字節數據,犧牲1位的效率表示原數據。這樣做是因為包的結尾有一字節“FE”作為包結束標志,避免數據位中出現與結束位相同的字節。幀頭的幀類型幀意義2 字節數據同樣也不能出現和結束位一樣的字節“FE”。完成后再對前面所有位進行累加然后模128,結果作為1字節校驗位。在包的最后是一字節“FE”表示包結束。使用“FE”而不是“FF”可以避免此重要的結束字8位為全“1”,增強抗干擾性。解包程序為其逆過程。由于上述處理都是數據移位的過程,所以占用資源很少,執行效率非常高,PLC端也能承受這種開銷。

?


  LabVIEW中打包子程序" title="子程序">子程序主要部分如圖7所示。中間case結構為打包算法的實現:取出幀中數據位拼接到一個Unsigned Integer64單元中,接著按位取出,每7位一組作為1字節,得到包數據位,再進行累加和校驗,與幀頭2位及結束位組合便得到數據包。

?


3.2.3 通信監視線程
  通信監視線程的接口主要是3個FIFO隊列,即Wbuf、combuf、databuf,隊列元素為供上層程序使用的幀,以LabVIEW中簇(Bundle)的形式存在。Wbuf表示待發送數據,combuf表示收到的命令幀,databuf表示收到的數據幀。程序不斷地掃描Wbuf隊列、RS232硬件接收緩沖區。當Wbuf中有元素時,依次取出所有元素,并對每個元素即待發的幀調用打包程序進行數據位、校驗位及結束位的處理,再把處理結果拼接成數組轉換成字符串后送給串口寫模塊發送。當RS232硬件接收緩沖區中掃描到數據時,線程將數據讀到一個數組中并掃描。當出現結束字時就把結束字以前的所有數據當成一個包拿出來,進行驗證判定解包,將不正確結果丟棄,正確結果放入combuf、databuf隊列中,并及時反映在前面板。當數組中沒有結束字時則不做處理,等待下一次數據。如果數組超過一定長度還沒收到結束字則視同錯誤包丟棄處理。通信狀態燈顯示通信工作狀態。
3.3 界面響應線程
  界面響應線程主要負責對用戶界面操作的響應,根據規則向PLC發送信息并應答PLC請求,顯示工作情況等。此線程主要由兩個循環組成,第一個循環專門掃描用戶操作進行響應,采用事件結構(event case)編程,響應事件程序都放在event case結構中。case中實現控件響應、系統設置、測量數據、數據分析畫圖顯示、數據存儲等功能。每一個需要響應的事件或實現的功能形成一個case,以“插件”的形式存在,便于修改。子case調用子程序,收發相應數據,并在前面板以字符串或動畫的形式產生回應。用戶在前面板進行操作后產生一個事件,程序便會調用相應事件處理程序進行處理。另一個循環監視收到的命令數據,進行應答或形成LabVIEW中用于同步交換數據的通知(Notifier)發給需要的子程序。這個循環同時負責處理緊急事件如緊急停止等。
3.4 不規則界面設計
  LabVIEW標準生成矩形窗口,沒有很好的方法實現不規則窗口,給界面設計帶來一些限制,因此需要借助外部程序。微軟標配的user32.dll中函數SetLayeredWindowAttributes能使窗體中指定顏色部分變成透明。將VI前面板背景色作為參數傳給此函數, 同時設置好VI的Window Appearance屬性,便能隱藏背景,顯示定制界面。圖8完成此外部函數的調用,圖9為不規則的登錄窗口顯示效果。

?


3.5 數據處理
3.5.1 數據分析及存儲
  通過插入C語言、Matlab語言節點編制程序及調用LabVIEW數據分析模塊完成分析、模擬仿真功能。每種功能同樣以“插件”形式作為子功能存在于event case結構中,系統完成一次檢測或分析后對ACCESS數據庫進行操作,過程大致與登錄系統相同,不再贅述。
3.5.2 作圖及動畫演示
  普通要求的數據顯示調用LabVIEW提供的Plot Multi-XY模塊即可完成。此模塊接收一組數據包,每個包中含有一組坐標數據,對應一條將被繪制的曲線。特殊要求可通過自行編制畫圖程序完成。動畫演示部分通過自行編制畫圖程序在前面板的Picture容器中繪圖完成。被繪制的圖形是受控的可以運動變化的圖形。繪圖子程序根據主程序傳遞的參數計算并繪制應顯示的圖形,參數不斷地改變從而形成顯示圖形的不斷改變,從而形成動畫。

  繪圖過程如下:如圖10所示,程序初始化時,繪圖程序從BMP文件中讀取需要繪制的子圖像及背景。背景是靜止圖形,程序運行中一般不更新,子圖像是需要運動變化的圖像。讀取到的子圖像是一個個矩形圖像,和其他圖像拼接時會有互相掩蓋現象。將讀到的圖像進行掩碼處理使不需要的地方成為透明色,這時子圖像可以進行拼接。當需要繪圖時,主程序首先通過參數的形式告訴繪圖程序需要繪制的圖形情況,繪圖程序根據參數進行運算,將輸入數據轉換成繪圖需要的具體參數,如運動點位置、子圖形大小等。在得到繪制圖形需要的所有參數后,程序將圖形按要求以不同角度貼到指定位置,同時調用函數直接繪制矩形圓形等圖形填充其他位置。由于LabVIEW中圖形以左上角為原點,x從左到右y從上到下增大,不方便位置運算,因此需要給繪圖子程序傳入Picture容器高度進行坐標系轉換。圖11為一次繪圖過程,通過多次類似過程,得到最終的圖形顯示在前面板上。

?


4 程序編譯執行效果
  程序脫離開發環境后運行效果理想,集成實現了多項測量功能,界面精美友好,在普通PC上運行流暢。圖12為程序整體編譯后的主程序界面。
  本測量系統通過1臺普通PC機與PLC通信,利用PC機的靈活性,以較低的成本集成實現了多種測量子功能,充分發揮了虛擬儀器的優勢,同時子功能以插件的形式存在,從而使得擴展空間非常廣大。本文介紹了應用于測控系統的大型LabVIEW程序的結構及設計方法,使用了多線程、動畫等技術,完成了傳統儀器所沒有的功能,使一臺PC機變成了多功能測控中心。由此可見虛擬儀器具有十分強大的功能,必將得到更為廣泛的應用。


參考文獻
[1] ?楊樂平,李海濤,楊磊.LabVIEW程序設計與應用.北京:電子工業出版社,2004.
[2] ?National Instruments Corporation. LabVIEW development?guidelines, April 2003 Edition. Part Number 321393D-01
[3] ?National Instruments Corporation. LabVIEW Function and?VI reference manual, January 1998 Edition. Part Number?321526B-01.
[4] ?NORMA D. Using LabVIEW to Creat Multithreaded VIs?for Maximum performance and reliability[DB/OL].
?www.ni.com

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          蜜臀久久久99精品久久久久久| 亚洲制服少妇| 欧美人牲a欧美精品| 欧美亚男人的天堂| 午夜精品网站| 亚洲国产精品传媒在线观看| 国产女主播一区二区| 国产精品wwwwww| 国产精品系列在线播放| 欧美一级视频精品观看| 国内精品写真在线观看| 午夜精品久久久久久久99黑人| 欧美一区午夜精品| 久久人人爽人人爽| 免费在线观看一区二区| 欧美一区激情| 亚洲精品一区二区三| 亚洲日本国产| 美女网站在线免费欧美精品| 国产亚洲精品久久久久婷婷瑜伽| 久久先锋资源| 国产精品久久国产精品99gif| 亚洲麻豆一区| 伊人久久成人| 奶水喷射视频一区| 久久久999精品| 欧美一区二区观看视频| 亚洲精品国产精品久久清纯直播| 亚洲精品婷婷| 欧美在线一级va免费观看| 在线观看亚洲精品视频| 女女同性女同一区二区三区91| 国产精品久久国产精麻豆99网站| 伊人成人开心激情综合网| 夜夜躁日日躁狠狠久久88av| 亚洲高清三级视频| 午夜精品国产精品大乳美女| 国产欧美精品国产国产专区| 欧美激情小视频| 亚洲美女视频| 一区在线观看视频| 久久久久久久久久久一区| 亚洲国产一区二区精品专区| 久久久久久伊人| 久久av在线| 国产在线拍揄自揄视频不卡99| 欧美激情第三页| 狠狠色狠狠色综合日日五| aⅴ色国产欧美| 欧美视频在线不卡| 亚洲午夜国产成人av电影男同| 一区二区激情视频| 欧美成人一区在线| 久久久久免费视频| 国产日韩欧美精品| 欧美在线视频不卡| 久久国产婷婷国产香蕉| 亚洲欧美欧美一区二区三区| 亚洲精品久久久久久久久久久久久| 免费观看成人| 日韩视频中午一区| 国产精品福利在线观看| 欧美欧美在线| 国产日韩欧美在线一区| 暖暖成人免费视频| 国产永久精品大片wwwapp| 99精品欧美一区二区三区综合在线| 在线电影院国产精品| 毛片av中文字幕一区二区| 国产精品第三页| 久久精品久久99精品久久| 日韩亚洲欧美中文三级| 亚洲国产视频一区二区| 黄色日韩在线| 毛片一区二区| 欧美日韩一区二区视频在线观看| 在线观看视频日韩| 欧美特黄a级高清免费大片a级| 国产精品大片wwwwww| 国产一区二区av| 性欧美1819sex性高清| 欧美日韩亚洲不卡| 久久一区中文字幕| 亚洲精品日韩综合观看成人91| 国产精品视频久久一区| 一区二区三区久久| 美女999久久久精品视频| 亚洲摸下面视频| 国产精品高潮久久| 美女视频黄 久久| 欧美精品18+| 亚洲一区二区三区四区中文| 一区电影在线观看| 伊人狠狠色j香婷婷综合| 亚洲成人在线免费| 午夜精品一区二区三区四区| 在线视频日韩精品| 日韩一级大片在线| 欧美伦理影院| 99re66热这里只有精品3直播| 亚洲精品一区二区三区四区高清| 免费成人小视频| 欧美日韩三级在线| 亚洲最新色图| 国产婷婷一区二区| 亚洲欧美成人在线| 亚洲娇小video精品| 国产精品视频xxxx| 激情视频一区二区| 欧美中文字幕不卡| 久久成人免费日本黄色| 欧美日韩国产黄| 亚洲国产精彩中文乱码av在线播放| 欧美高清视频一区二区| 国产情侣久久| 久久综合999| 亚洲深夜影院| 国产精品成人在线观看| 欧美精品一区二区三区在线看午夜| 国产欧美日韩视频一区二区三区| 亚洲综合99| 亚洲欧美网站| 亚洲第一精品影视| 亚洲欧美日韩精品在线| 免费观看30秒视频久久| 久久久久久婷| 91久久久亚洲精品| 亚洲乱码国产乱码精品精| 欧美激情一区| 亚洲精品美女在线观看| 国产精品一区二区你懂得| 国产一区二区久久精品| 黑丝一区二区三区| 久久久久久高潮国产精品视| 最新国产成人在线观看| 一区二区三区四区五区在线| 久久综合伊人77777蜜臀| 最新国产乱人伦偷精品免费网站| 欧美日本一道本| 狠狠色伊人亚洲综合网站色| 久久久久国色av免费观看性色| 亚洲国产精品一区二区www在线| 黄色亚洲大片免费在线观看| 日韩视频第一页| 欧美激情一区二区三区蜜桃视频| 欧美区一区二| 亚洲国产成人tv| 国产精品卡一卡二卡三| 黄色日韩网站| 欧美精品三区| 欧美在线亚洲在线| 日韩亚洲欧美中文三级| 久久夜色撩人精品| 久久精品五月| 欧美成人影音| 国产女人aaa级久久久级| 美女性感视频久久久| 9人人澡人人爽人人精品| 亚洲欧美乱综合| 欧美日韩直播| 国产婷婷一区二区| 免费不卡在线视频| 欧美午夜精品一区二区三区| 欧美日韩精品一二三区| 亚洲欧美一区二区原创| 激情综合激情| 91久久极品少妇xxxxⅹ软件| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲三级视频在线观看| 欧美gay视频激情| 亚洲在线中文字幕| 欧美激情区在线播放| 一本大道久久a久久精二百| 美女黄网久久| 午夜视频在线观看一区二区三区| 国产精品久久久久久久久动漫| 国产精品国产三级国产aⅴ入口| 欧美亚洲一区二区在线| 国产精品中文字幕在线观看| 久久久免费观看视频| 国产精品久久久一区麻豆最新章节| 欧美日韩成人在线播放| 亚洲精品在线电影| 久久躁狠狠躁夜夜爽| 欧美黄色精品| 欧美精品激情blacked18| 亚洲人成77777在线观看网| 久久久久久亚洲精品杨幂换脸| 国色天香一区二区| 欧美国产在线视频| 在线观看免费视频综合| 另类酷文…触手系列精品集v1小说| 欧美视频网址| 国产亚洲精品久久久久动| 久久久亚洲一区| 久久九九热免费视频| 国产农村妇女精品| 欧美国产成人精品| 亚洲欧美国产日韩天堂区| 欧美视频一二三区| 一区二区三区免费观看| 亚洲第一页在线| 国产精品嫩草影院一区二区| 欧美片网站免费| 欧美激情综合在线| 久久久久久网| 欧美一区二区三区四区在线观看| 噜噜噜躁狠狠躁狠狠精品视频| 在线不卡中文字幕播放| 欧美一区二区三区久久精品茉莉花| 欧美激情视频免费观看| 亚洲免费一在线| 在线观看国产日韩| 国产欧美精品一区| 亚洲精品一区二区三区四区高清| 国产精品日本精品| 欧美永久精品| 妖精成人www高清在线观看| 先锋影音网一区二区| 国产亚洲人成网站在线观看| 久久网站热最新地址| 欧美一区二区视频在线观看| 亚洲图片激情小说| 欧美中文字幕视频| 欧美中文字幕久久| 国模 一区 二区 三区| 亚洲欧洲在线观看| 久久都是精品| 久久久久国产精品厨房| 欧美多人爱爱视频网站| 日韩亚洲一区在线播放| 亚洲人精品午夜| 亚洲婷婷国产精品电影人久久| 亚洲精品一区在线观看香蕉| 国产亚洲欧美另类一区二区三区| 麻豆精品一区二区av白丝在线| 亚洲欧洲av一区二区三区久久| 欧美一级大片在线观看| 欧美中文字幕在线视频| 国产日韩欧美| 韩国精品主播一区二区在线观看| 亚洲美女91| 亚洲韩日在线| 久久精品国产精品亚洲精品| 韩国视频理论视频久久| 欧美网站大全在线观看| 久久久久久9| 午夜激情一区| 欧美一区激情视频在线观看| 欧美日韩免费高清一区色橹橹| 亚洲高清不卡一区| 欧美福利视频| 亚洲女女女同性video| 狠狠v欧美v日韩v亚洲ⅴ| 国产日韩在线视频| 国产欧美一区二区白浆黑人| 国产精品中文在线| 噜噜爱69成人精品| 久久手机精品视频| 国产午夜精品美女视频明星a级| 久久久久久网| 先锋a资源在线看亚洲| 欧美性事免费在线观看| 亚洲在线观看视频| 国产精品毛片a∨一区二区三区| 狠狠色狠色综合曰曰| 国产精品亚洲综合一区在线观看| 欧美高清视频在线观看| 另类激情亚洲| 亚洲尤物在线视频观看| 欧美体内she精视频在线观看| 国产精品日韩二区| 欧美成人xxx| 99热这里只有精品8| 羞羞色国产精品| 久久综合激情| 国产精品呻吟| 先锋影音久久| 精品51国产黑色丝袜高跟鞋| 国产亚洲精品美女| 亚洲一区二区三区视频| 国产精品乱码一区二三区小蝌蚪| 欧美夫妇交换俱乐部在线观看| 日韩一级片网址| 免费日韩精品中文字幕视频在线| 亚洲四色影视在线观看| 宅男精品导航| 国产日韩欧美在线播放| 免费久久99精品国产自| 一区二区三区视频在线播放| 国产精品青草久久久久福利99| 亚洲国产精品第一区二区| 激情久久久久| 欧美成人精品| 久久成人羞羞网站| 99国产精品视频免费观看一公开| 黑丝一区二区| 国产精品青草综合久久久久99| 91久久国产综合久久蜜月精品| 欧美视频手机在线| 亚洲免费婷婷| 欧美日韩视频在线一区二区观看视频| 曰韩精品一区二区| 久久国产一区二区三区| 激情久久久久久久久久久久久久久久| 99精品国产热久久91蜜凸| 欧美久色视频| 中文有码久久| 亚洲一区三区视频在线观看| 亚洲综合日韩在线| 亚洲欧美激情一区二区| 精品福利免费观看| 狠狠色狠狠色综合日日五| 久久综合久久88| 亚洲手机在线| 亚洲大胆人体视频| 日韩午夜在线视频| 亚洲午夜av电影| 久久久久久久尹人综合网亚洲| 亚洲成色www久久网站| 欧美另类久久久品| 欧美中文在线观看国产| 在线视频你懂得一区| 国产精品久久久久一区二区三区| 亚洲成色www8888| 亚洲黄色在线观看| 亚洲黄色免费网站| 亚洲伊人久久综合|