前言:尋找寫作靈感?中文期刊網用心挑選的運輸機器人軟件管理系統設計,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。
摘要:運輸機器人是可以進行自動化運輸作業的工業機器人。由NI的MYRIO來實現運輸機器人系統設計,主要根據實際藥房中對藥品進行自動搬運的要求,對運輸機器人的總體結構進行了設計和組裝。最后,制作了一臺以MYRIO控制器為核心,基于LabVIEW的集成開發環境的四輪運輸機器人設備的軟件系統設計。
關鍵詞:運輸機器人;MYRIO;LabVIEW
一、LabVIEW簡介
美國國家儀器公司(簡稱NI公司)開發的面向儀器與測試過程的圖形化開發平臺———LabVIEW,在這種開發環境下,用戶可以從自己的需要出發,隨心所欲地組織儀器的前面板,然后經過簡單的連線操作,一臺適合自己需要的測試系統的設計工作便大功告成。
(一)LabVIEW概述
LabVIEW的英文全稱是LaboratoryVirtualInstru-mentEngineeringWorkbench。這個軟件編程不是用代碼,而是用圖形符號。LabVIEW開發環境可以搭建在Windows,Mac或Linux系統上,LabVIEW的程序可以在上述系統上運行,還可以運行在MicrosoftPocketPC,MicrosoftWindowsCE,PalmOS以及多種嵌入式平臺上,包括DSP、FPGA和微處理器。
(二)LabVIEW的特點
NI公司經過多年的不懈努力,使LabVlEW不僅擁有卓越的功能,而且形成了豐富的實用工具軟件包,這不僅保證了系統開發的質量,而且簡化了開發的難度。它具有如下特點:1.LabVlEW使用“所見即所得”的可視化技術建立人機界面。2.LabVlEW使用圖標表示功能模塊,使用圖標間的連線表示在各功能模塊間的數據傳遞。3.LabVlEW提供程序調試功能。4.LabVlEW繼承了傳統的編程語言中的結構化和模塊化編程的優點。5.LabVlEW采用編譯方式運行32位應用程序。6.LabVlEW支持多種系統平臺。7.LabVlEW提供了大量的函數庫供用戶直接調用。8.LabVlEW是一個開放式的平臺,提供DLL庫接口和CIN節點,使用戶有能力在LabVlEW平臺上使用由其他軟件平臺編譯的模塊。LabVlEW是一個具有高度靈活性的開發系統,用戶可以根據自己的應用領域和開發要求選擇系統配置。
(三)LabVIEW應用程序的組成
一個LabVIEW程序由多個(至少一個)虛擬儀器(VI)組成。它的內部的邏輯處理思維具有主程序、子程序、函數等,使用者看到或者操作上的都是封裝了這些邏輯處理的外觀,使得使用起來更加方便高效。1.前面板(Panel)。與物理儀器的前面板相似,是VI的交互式用戶界面。2.流程圖(DiagramProgramme)。LabVIEW編程又稱為“數據流編程”。其流程圖提供的圖形化VI源程序。3.LabVIEW的操作模板(圖表/連接器)。在Lab-VIEW的用戶界面上,應特別注意它提供的操作模板,包括工具模板、控制模板和功能模板。(1)工具模板(ToolsPalette)。工具模板是創建框圖程序的工具。該模板上的每一個頂層圖標都表示一個子模板。(2)控制模板(ControlsPalette)。控制模板可以給前面板添加輸入控制和輸出顯示。每個圖標代表一個子模板。(3)功能模板(FunctionsPalette)。功能模板是創建框圖程序的工具。該模板上的每一個頂層圖標都表示一個子模板。
(四)LabVIEW程序設計步驟
LabVIEW有一個圖形編輯器來產生最優化編程代碼,利用應用程序生成器,用戶能夠產生虛擬儀器,就像獨立的可執行程序一樣。1.建立方案。利用LabVIEW軟件,可以構建虛擬儀器,而不是編寫程序。2.建立前面板。從控制模塊上選擇所需的對象放在虛擬儀器的前面板上。3.構建圖形化的流程圖。對虛擬儀器進行程序設計,不用擔心很多傳統程序設計所需的語法細節,而可以自己構建流程圖。4.數據流程序設計。LabVIEW用一種精巧的數據流程序設計模式把用戶從文本式語言的線性化方式構建程序的辦法中解脫出來。5.模塊化和層次。LabVIEW虛擬儀器實行模塊化設計,因而任何虛擬儀器既能獨立運行,又能被其他虛擬儀器調用。6.圖形編輯器。LabVIEW軟件是唯一的帶有編輯器的圖形化編程環境,它可以產生最優化的代碼。
二、NIFPGA簡介
對于FPGA,LabVIEW仍然提供了一些強大而方便的工具包,這樣就很容易地解決我們的編程問題。在myRIO的RT中運行程序,其精確度可精確到微秒級別,而在FPGA中,其精確度可達納秒級別,所以程序在FPGA中能更快速地運行,定時精確度更高。
(一)數字量及模擬量輸入/輸出
數字量的輸入與輸出有兩種方式,Line和Port方式,采用Line方式可以一次控制一個或多個I/O,數據類型為布爾型。采用Port方式,則控制整個I/O寄存器,比如一次可以控制0到7(DIO0至DIO7),8到15(DIO8至DIO15)的數字I/O,數據類型為數值型。“設置輸出數據”可以配置輸出數據,當選擇Line方式需要輸入布爾型數據,當選擇port方式可以直接輸入整型數,這樣一次可以寫入多個數字I/O。當數字I/O口需要同時實現輸出及輸入時,將用到“設置輸出啟動”,Line方式需要輸入布爾型數據,Port方式可以直接輸入整型數,這樣一次可以配置多個數字I/O。模擬量的輸入與輸出與數字量的輸入與輸出不同,模擬量的輸入與輸出只有Line方式,即單獨控制一個模擬口。數據類型為整型。模擬量的輸入與輸出還涉及分辨率的問題,因此在寫入和讀取的時候都需要讀取出一個LSB的值,并在RT中將模擬口讀取回來的數據除以LSB的值,最終的結果才是模擬值;同樣地,在寫入模擬量之前在RT中乘以LSB的值再賦給模擬口。
(二)FPGA常用定時函數
FPGA定時函數選板包括三個函數,分別為循環定時函數、等待函數、滴答計數。它們的配置對話框完全相同,不再贅述。LoopTime(循環定時):該函數用于確定兩次循環之間的時間間隔。當程序代碼執行時間小于循環定時,則定時循環可以精確地控制每個循環時間保持一致。但是如果程序代代碼執行時間大于所設定循環間隔,下次循環便會立即執行,同時把下次循環開始的時間設置為啟動時刻,而且循環計時器會把它作為新的時間基準。Wait(等待):當程序運行到該函數時,先讓當前線程暫停,等待所設定的時間,然后再繼續執行程序代碼。TickCount(滴答計數):該函數用于返回當前計數器的值。需要注意的是計數器存在計數的最大值,因此當計數達到最大值時,會自動從0開始計數。所以當我們利用TickCount函數測量時間間隔,并采用了Ticks作為單位時,就需要考慮計數器自動復位的情況。
參考文獻:
[1]楊樂平,李海濤,等.LABVIEW程序設計與應用[M].第二版.電子工業出版社.
[2]楊樂平,等.LABVIEW高級程序設計[M].北京:清華大學出版社,2004.
[3]張凱.LabVIEW虛擬儀器工程設計與開發[M]北京:國防工業出版社,2004.
[4]邴志剛,方景林,等.計算機控制———基礎技術工具實例[M].北京:北京交通大學出版社,2005.
[5]陶永華.新型PID控制及其應用[M].北京:機械工業出版社,1999.
[6]胡壽松.自動控制原理[M].北京:科學出版社,2001.
[7]陳錫輝,張銀鴻.LABVIEW8.20程序設計從入門到精通[M].北京:清華大學出版社,2007.
[8]陳樹學.LabVIEW實用工具詳解[M].北京:電子工業出版社,2014.
[9]王福明,于麗霞,劉吉,等.LabVIEW程序設計與虛擬儀器[M].西安:西安電子科技大學出版社,2009.
[10]NImyRIO入門指南[Z].2015.
作者:章安福 單位:廣州市工貿技師學院