楊文珺
(無錫職業(yè)技術學院 江蘇 無錫 214121)
本文在調研農(nóng)作物企業(yè)實際業(yè)務流程的基礎上,對農(nóng)作物種植以及加工過程中記錄所有生產(chǎn)數(shù)據(jù)[1]、檢疫數(shù)據(jù)、加工數(shù)據(jù)、銷售數(shù)據(jù),等數(shù)據(jù)進行實時跟蹤記錄。整個系統(tǒng)從拓撲結構上分為3個區(qū):1)生產(chǎn)加工區(qū),主要記錄生產(chǎn)數(shù)據(jù)和執(zhí)行的生產(chǎn)動作,生產(chǎn)用藥時需要使用WinCE手持設備。2)生產(chǎn)管理區(qū),主要實現(xiàn)生產(chǎn)管理、超市分裝、市民卡管理等內容。3)檢驗檢疫市零售查詢區(qū),主要是進行市零售、檢驗檢疫、網(wǎng)站查詢等內容。本文主要討論的是生產(chǎn)管理區(qū)的超市分分裝、發(fā)卡充值模塊中的部分設計:聯(lián)入串口服務器的RFID讀卡器的配置和調試方式。
在整個溯源系統(tǒng)所用的部分硬件設備如圖1所示。在子模塊“市民卡管理”中要用RFID讀卡器實現(xiàn)對卡的讀寫,服務器要通過串口對RFID讀卡器進行操作,由于整個系統(tǒng)中所用串口設備較多,所以在系統(tǒng)中我們配置了串口服務器,來完成對串口的統(tǒng)一管理。本文所要用到的設備就是服務器通過交換機與串口服務器相聯(lián),串口服務器再與RFID讀卡器硬件相聯(lián)。
啟動串口服務器搜索軟件,單擊選中設備后,選擇Tools—Temporary change ip address, 修改 IP地址,IP地址在串口服務器所連接交換機同一個網(wǎng)段,如 “交換機IP是10.35.67.1,那么服務器的 IP地址應為 10.35.67.222”,如圖2所示。
然后打開IE,輸入修改好的IP地址,如http://10.35.67.222,即可進入串口服務器的WEB管理界面,在ServerMenu--Server Information---Ethernet IP Address輸入剛才修改好的10.35.67.222地址,后點擊“Submit”提交,并且保存頁面。
安裝虛擬串口軟件,在控制面版中運行 “COM port over TCP/IP”虛擬串口軟件,選擇所要虛擬的COM口,點擊Map按鈕,在新的窗口中輸入串口服務器的IP地址如:“10.35.67.222”Device Port輸入 1;KeepAliv 一般設置為 300秒,為串口存活時間,;Status Report一般設置為immediately,表示立即連接;點擊OK后,同樣方法設置好其他COM口。如圖3所示。
圖1 網(wǎng)絡拓撲圖Fig.1 Network topology
圖2 修改串口服務器的IP地址Fig.2 Modified serial server IP address
圖3 映射串口Fig.3 Mapping serial
C/S程序開發(fā)我們使用Visual Studio 2010,它可簡化在各種平臺上創(chuàng)建、調試和開發(fā)應用程序的過程。它自帶對測試驅動開發(fā)的集成支持以及調試工具,以幫助確保提供高質量的解決方案[2]。
使用VisualStudio2010訪問串口。把串口服務器配置好以后,然后開始編程序。在項目中,市民卡管理模塊的一個子界面如圖4所示,這里的主要任務就是調試RFID讀卡器和串口服務的配置,通過程序控制RFID讀卡器的LED燈閃爍和報警聲音來看整個系統(tǒng)是否工作正常,在此基礎上完成對RFID卡的讀寫工作。
圖4 串口調試界面Fig.4 Serial debugging interface
在系統(tǒng)文件中定義市民卡管理客戶端MRWallet程序的“class Reader”,為串口打開和關閉的初始化代碼,以及部分讀卡器操作的常用函數(shù),部分代碼如下所示:
選擇串口通信口為COM1,這里要和前面映射的端口一致,串口設置串口通信波特率為9 600,調用通用類Reader的庫函數(shù)實現(xiàn)串口的打開和關閉,部分代碼如下所示。
在系統(tǒng)的事件響應中編寫相關程序,通過串口服務器映射串口,從而控制讀卡器操作,這里我們先判斷串口的打開狀態(tài)[5],然后調用通用類Reader的庫函數(shù),從而實現(xiàn)讀卡器上的LED燈閃爍3下,來判斷串口通訊是否正常。部分代碼如下所示。
讀卡器進行報警的程序設計和上面的類似,其中調用通用類Reader的庫函數(shù)更換如下所示:
在以上工作都正確的基礎上就可以進行讀卡器的讀寫操作,讀卡器的讀寫操作的部分代碼如下:
至此,我們就可以完成“基于串口服務器的RFID讀卡器配置調試”,在測試過程中也不是一帆風順的,RFID讀卡器和串口服務器的連接要保正物理通路,在這基礎上才能進行下一步的工作,其次要正確配置好串口服務器,程序中設置的波特率要一定要與串口服務器中設置的匹配[6],在程序中使用庫函數(shù)對讀卡器操作時,一定要與硬件相對應,在進行RFID讀卡器對數(shù)據(jù)讀寫時也要注意數(shù)據(jù)的格式。
[1]李洋.RFID技術與在物聯(lián)網(wǎng)中的應用[J].電子設計工程,2011(17):48-53.Li Yang.Application of RFID technology and the Internet of things[J].Electronic Design Engineering,2011(17):48-53.
[2]翟希述,王寶興,范淼.基于Visual C#的串口通信程序設計[J].電子科技,2011(2):24-26.ZHAI Xi-shu,WANG Bao-xing,F(xiàn)AN Miao.Design of serial communication program based on Visual C#[J].Electronic Science and Technology,2011(2):24-26.
[3]韋龍新,高玉玲.一種近距離RFID讀寫器的設計[J].信息通信,2011(3):86-87.WEI Long-xin,GAO Yu-ling.A short distance RFID reader design[J].Information Communication,2011(3):86-87.
[4]潘方.RS 232串口通信在PC機與單片機通信中的應用[J].現(xiàn)代電子技術,2012(13):69-71.PAN Fang.Application of RS 232 serial communication in the communication of PC and single chip microcomputer in[J].Modern Electronic Technique,2012(13):69-71.
[5]夏宏,吳濟文.超高頻RFID讀寫器系統(tǒng)的設計與實現(xiàn)[J].計算機應用,2012(8):69-71.XIA Hong,WU Ji-wen.Design and implementation of writing device system of UHF RFID read[J].Computer Applications,2012(8):69-71.
[6]陳學軍.Windows平臺下串口通信數(shù)據(jù)實時獲取與監(jiān)測[J].自動化儀表,2012(3):68-69.CHEN Xue-jun.Windows platform serial communication of real-time data acquisition and monitoring[J].Process Automation Instrumentation,2012(3):68-69.