溫曉行,李彬,謝啟,徐惠鋼,顧啟民
(常熟理工學院電氣與自動化工程學院,江蘇常熟 215500)
條碼技術是集光電、計算機和通信等多種技術于一體的一門綜合性科學技術,主要涵蓋一維條碼技術、二維條碼技術。從條碼符號的生成到檢測、從條碼的識讀到條碼的應用,條碼技術已經(jīng)形成了集編碼技術、載體技術、識讀技術以及應用技術的技術體系。作為信息數(shù)據(jù)自動識別、輸入的重要方法和有效手段,條碼已成為一種推動經(jīng)濟發(fā)展和社會進步的重要力量。掃描技術可以與電腦程序進行通信,完成條碼掃描的功能,常用的電腦程序是采用VB、Visual C++等編寫的[1-2]。
虛擬儀器的概念是由美國國家儀器公司最先提出的。所謂虛擬儀器是基于計算機的軟硬件測試平臺,它可代替?zhèn)鹘y(tǒng)的測量儀器,如示波器、邏輯分析儀、信號發(fā)生器、頻譜分析儀等,可集成于自動控制、工業(yè)控制系統(tǒng)之中,可自由構建專有儀器系統(tǒng)。虛擬儀器是智能儀器之后的新一代測量儀器。虛擬儀器的核心技術思想就是“軟件即是儀器”。該技術把儀器分為計算機、儀器硬件和應用軟件三部分。
虛擬儀器以通用計算機和配備標準數(shù)字接口的測量儀器為基礎,將儀器硬件連接到各種計算機平臺上,直接利用計算機豐富的軟硬件資源,將計算機硬件和測量儀器等硬件資源與計算機軟件資源有機地結合起來[3]。
文中采用LabVIEW 圖形編程語言設計出條碼掃描和顯示界面,然后,通過串口來實現(xiàn)條碼掃描器的控制與條碼數(shù)據(jù)的讀取,完成對條碼的采集和處理,可采集和多通道顯示條碼數(shù)據(jù)。
許多掃描程序都采用C++、VB 等軟件實現(xiàn),但是,隨著科學技術的發(fā)展,一種虛擬儀器技術誕生,利用目前比較流行的LabVIEW 開發(fā)環(huán)境,編程實現(xiàn)能對條碼進行掃描和多工位顯示的程序。虛擬儀器技術的核心是軟件,其軟件基本結構如圖1 所示。
虛擬儀器多工位條碼掃描系統(tǒng)的設計包括兩個部分,分別為前面板設計與程序框圖設計,下面對系統(tǒng)設計進行詳細的介紹。
圖1 虛擬儀器軟件結構
一個好的可視化程序離不開界面的設計,界面設計是否合理直接影響程序的運行和使用。LabVIEW的界面設計就是前面板設計,為了實現(xiàn)多工位條碼掃描和顯示,就需要在界面上設計多個數(shù)據(jù)顯示控件;數(shù)據(jù)顯示之后,如果想要對條碼進行處理可以單擊“下一步”按鈕;為了增加系統(tǒng)的靈活性,還設置了“退出”按鈕,直接退出程序;為了更加人性化,在界面還設置了提示信息,防止人員錯誤操作;同時,在前面板上添加了檢驗員編號輸入控件,可以將檢驗人的信息與條碼綁定,更加貼近實際工程測試項目的要求。系統(tǒng)的界面設計圖如圖2 所示。
圖2 多工位條碼掃描前面板
多條形碼的功能是對掃描的條碼進行多工位選擇,要完成這個功能,在程序框圖中需要分幾個步驟實現(xiàn):(1)在程序運行之前,要對程序初始化;(2)程序運行的時候,要判斷條形碼位數(shù)是否符合,再進行顯示;(3)程序運行之后,選擇進入下一步或者退出程序。
基于上面的思路,LabVIEW 后面板的程序采用幀結構,內(nèi)部共分4 個幀:第一個幀主要對程序界面的工位顯示控件、“進入下一步”和“退出”按鈕進行初始化;第二個幀完成測試工位選擇和功能選擇,選擇不同的工位可以控制條碼顯示的位置,每個工位又有是否測試的功能選擇按鈕。為了增加實用性,此程序增加了對采集的數(shù)據(jù)的位數(shù)進行判斷的功能,如果符合標準,就在對應的工位顯示,否則,不輸出條碼;第三幀是對提示信息進行點亮操作,增加美觀;第四幀是在程序運行之后,對是否退出程序進行判斷,從而實現(xiàn)了程序的整個操作過程。程序框圖設計如圖3、4 所示。
圖3 掃描數(shù)據(jù)位數(shù)判斷
圖4 掃描條碼多工位顯示
特別需要指出,在第二幀中,LabVIEW 程序中的讀取數(shù)據(jù)端口采用的是VISA 配置串口。其控件接線端子如圖5 所示。
圖5 VISA 配置串口
啟用終止符使串行設備做好識別終止符的準備,如值為TRUE (默認),VI_ATTR_ASRL_END_IN 屬性將被設置為識別終止符,如值為 FALSE,VI_ATTR_ASRL_END_IN 屬性將被設置為0 (無)且串行設備不識別終止符。終止符通過調(diào)用終止讀取操作,從串行設備讀取終止符后讀取操作將終止。超時設置讀取和寫入操作的超時值,以ms 為單位,默認值為10 000。VISA 資源名稱指定要打開的資源,該控件也可指定會話句柄和類。波特率是傳輸速率,默認值為9 600。數(shù)據(jù)比特是輸入數(shù)據(jù)的位數(shù),其值介于5 和8 之間,默認值為8。奇偶指定要傳輸或接收的每一幀所使用的奇偶校驗。錯誤輸入表明VI 或函數(shù)運行前發(fā)生的錯誤,默認值為無錯誤,如錯誤發(fā)生在VI 或函數(shù)運行之前,VI 或函數(shù)將把錯誤輸入值傳遞至錯誤輸出;如在VI 或函數(shù)運行前沒有發(fā)生錯誤,VI 或函數(shù)將正常運行;如在VI 或函數(shù)運行時發(fā)生錯誤,VI 或函數(shù)將正常運行并在錯誤輸出中設置自身的錯誤狀態(tài)。簡易錯誤處理器或通用錯誤處理器VI可用于顯示錯誤代碼的說明信息。停止位指定用于表示幀結束的停止位的數(shù)量。流控制設置傳輸機制使用的控制類型。VISA 資源名稱輸出是由VISA 函數(shù)返回的VISA 資源名稱的副本。錯誤輸出包含錯誤信息,如錯誤輸入表明在VI 或函數(shù)運行前已發(fā)生錯誤,錯誤輸出將包含相同的錯誤信息;否則,表明VI 或函數(shù)中出現(xiàn)的錯誤狀態(tài)。右鍵單擊錯誤輸出的前面板顯示控件,從快捷菜單中選擇解釋錯誤可獲取更多關于該錯誤的信息[4]。
該系統(tǒng)使用的條碼掃描槍是蘇州力象電腦有限公司生產(chǎn)的ARGOX-8520 條碼掃描槍,該條碼掃描槍的掃描距離為0~600 mm,掃描寬度0~160 mm,最大掃描速率450 次/s,該掃描槍采用RS232 串口與電腦通信。
I/O 接口設備主要用來完成對被測輸入信號進行采集、放大、模數(shù)轉(zhuǎn)換。可根據(jù)實際需要采用不同的I/O 接口硬件設備,如數(shù)據(jù)采集卡、GPIB 總線儀器、VXI 總線儀器、串口儀器、USB 等。數(shù)據(jù)采集卡的信號處理功能強大,GPIB 和VXI 總線儀器傳輸數(shù)據(jù)速度較快,但是價格昂貴。
串口系統(tǒng)是以Serial 標準總線儀器與計算機為儀器精簡平臺組成的虛擬測試系統(tǒng)。RS232 總線是早期采用的通用串行總線,將帶有RS232 標準總線接口的儀器作為I/O 接口設備,通過RS232 串口總線與計算機組成虛擬儀器系統(tǒng)目前仍然是虛擬儀器構成方式之一,主要適用于速度較低的測試系統(tǒng),RS232 的針腳如表1 所示。由于該條碼掃描系統(tǒng)是低速掃描,不需要較高速率的數(shù)據(jù)通信線,故采用搭配RS232 串口通信線的條碼掃描槍[5]。
表1 RS232 串口針腳
連接好掃描槍和LabVIEW 程序口,在程序運行之前,先選擇程序框圖中第二幀的VISA 配置串口的資源名稱,當PC 機與外部硬件連接完成,則可以在程序框圖的I/O 口處選擇連接對應的端子。點擊運行程序,選定光標所在的工位,通過條碼掃描槍掃描條碼,即可在程序的對應工位顯示條碼數(shù)字,單擊“退出”按鈕可以退出程序。其程序運行結果如圖6所示。
圖6 條碼掃描運行界面
對于條碼掃描的實現(xiàn),已經(jīng)有了一些比較成熟的程序語言可以實現(xiàn)軟件編程采集條碼數(shù)據(jù)。文中基于目前比較流行的虛擬儀器技術,設計了LabVIEW 程序與外部掃描設備進行連接,完成條碼掃描數(shù)據(jù)的顯示和操作。在程序的設計中,充分利用了虛擬儀器編程周期短、圖形化編程的特點,程序的實現(xiàn)結果也達到設計的目標,可以直接應用于實際生活與生產(chǎn)中。
[1]中國物品編織中心,中國自動識別協(xié)會.條碼技術基礎[M].武漢:武漢大學出版社,2008:1 -4.
[2]劉志海,萬麗榮,宋作玲.條碼技術及程序設計案例[M].北京:化學工業(yè)出版社,2009.
[3]李江全,劉恩博,胡蓉,等.LabVIEW 虛擬儀器數(shù)據(jù)采集與串口通信測控應用實戰(zhàn)[M].北京:人民郵電大學出版社,2010.
[4]陳樹學,劉萱.LabVIEW 寶典[M].北京:電子工業(yè)出版社,2011.
[5]胡成華,劉傳瑞,郭文生.嵌入式網(wǎng)絡編程:串口通信、工業(yè)總線、傳感器網(wǎng)絡應用開發(fā)[M].北京:電子工業(yè)出版社,2012.