楊文珺
(無錫職業(yè)技術(shù)學院 江蘇 無錫 214121)
本文在調(diào)研農(nóng)作物企業(yè)實際業(yè)務(wù)流程的基礎(chǔ)上,對農(nóng)作物種植以及加工過程中記錄所有生產(chǎn)數(shù)據(jù)[1]、檢疫數(shù)據(jù)、加工數(shù)據(jù)、銷售數(shù)據(jù),等數(shù)據(jù)進行實時跟蹤記錄。整個系統(tǒng)從拓撲結(jié)構(gòu)上分為3個區(qū):1)生產(chǎn)加工區(qū),主要記錄生產(chǎn)數(shù)據(jù)和執(zhí)行的生產(chǎn)動作,生產(chǎn)用藥時需要使用WinCE手持設(shè)備。2)生產(chǎn)管理區(qū),主要實現(xiàn)生產(chǎn)管理、超市分裝、市民卡管理等內(nèi)容。3)檢驗檢疫市零售查詢區(qū),主要是進行市零售、檢驗檢疫、網(wǎng)站查詢等內(nèi)容。本文主要討論的是生產(chǎn)管理區(qū)的超市分分裝、發(fā)卡充值模塊中的部分設(shè)計:聯(lián)入串口服務(wù)器的RFID讀卡器的配置和調(diào)試方式。
在整個溯源系統(tǒng)所用的部分硬件設(shè)備如圖1所示。在子模塊“市民卡管理”中要用RFID讀卡器實現(xiàn)對卡的讀寫,服務(wù)器要通過串口對RFID讀卡器進行操作,由于整個系統(tǒng)中所用串口設(shè)備較多,所以在系統(tǒng)中我們配置了串口服務(wù)器,來完成對串口的統(tǒng)一管理。本文所要用到的設(shè)備就是服務(wù)器通過交換機與串口服務(wù)器相聯(lián),串口服務(wù)器再與RFID讀卡器硬件相聯(lián)。
啟動串口服務(wù)器搜索軟件,單擊選中設(shè)備后,選擇Tools—Temporary change ip address, 修改 IP地址,IP地址在串口服務(wù)器所連接交換機同一個網(wǎng)段,如 “交換機IP是10.35.67.1,那么服務(wù)器的 IP地址應(yīng)為 10.35.67.222”,如圖2所示。
然后打開IE,輸入修改好的IP地址,如http://10.35.67.222,即可進入串口服務(wù)器的WEB管理界面,在ServerMenu--Server Information---Ethernet IP Address輸入剛才修改好的10.35.67.222地址,后點擊“Submit”提交,并且保存頁面。
安裝虛擬串口軟件,在控制面版中運行 “COM port over TCP/IP”虛擬串口軟件,選擇所要虛擬的COM口,點擊Map按鈕,在新的窗口中輸入串口服務(wù)器的IP地址如:“10.35.67.222”Device Port輸入 1;KeepAliv 一般設(shè)置為 300秒,為串口存活時間,;Status Report一般設(shè)置為immediately,表示立即連接;點擊OK后,同樣方法設(shè)置好其他COM口。如圖3所示。
圖1 網(wǎng)絡(luò)拓撲圖Fig.1 Network topology
圖2 修改串口服務(wù)器的IP地址Fig.2 Modified serial server IP address
圖3 映射串口Fig.3 Mapping serial
C/S程序開發(fā)我們使用Visual Studio 2010,它可簡化在各種平臺上創(chuàng)建、調(diào)試和開發(fā)應(yīng)用程序的過程。它自帶對測試驅(qū)動開發(fā)的集成支持以及調(diào)試工具,以幫助確保提供高質(zhì)量的解決方案[2]。
使用VisualStudio2010訪問串口。把串口服務(wù)器配置好以后,然后開始編程序。在項目中,市民卡管理模塊的一個子界面如圖4所示,這里的主要任務(wù)就是調(diào)試RFID讀卡器和串口服務(wù)的配置,通過程序控制RFID讀卡器的LED燈閃爍和報警聲音來看整個系統(tǒng)是否工作正常,在此基礎(chǔ)上完成對RFID卡的讀寫工作。
圖4 串口調(diào)試界面Fig.4 Serial debugging interface
在系統(tǒng)文件中定義市民卡管理客戶端MRWallet程序的“class Reader”,為串口打開和關(guān)閉的初始化代碼,以及部分讀卡器操作的常用函數(shù),部分代碼如下所示:
選擇串口通信口為COM1,這里要和前面映射的端口一致,串口設(shè)置串口通信波特率為9 600,調(diào)用通用類Reader的庫函數(shù)實現(xiàn)串口的打開和關(guān)閉,部分代碼如下所示。
在系統(tǒng)的事件響應(yīng)中編寫相關(guān)程序,通過串口服務(wù)器映射串口,從而控制讀卡器操作,這里我們先判斷串口的打開狀態(tài)[5],然后調(diào)用通用類Reader的庫函數(shù),從而實現(xiàn)讀卡器上的LED燈閃爍3下,來判斷串口通訊是否正常。部分代碼如下所示。
讀卡器進行報警的程序設(shè)計和上面的類似,其中調(diào)用通用類Reader的庫函數(shù)更換如下所示:
在以上工作都正確的基礎(chǔ)上就可以進行讀卡器的讀寫操作,讀卡器的讀寫操作的部分代碼如下:
至此,我們就可以完成“基于串口服務(wù)器的RFID讀卡器配置調(diào)試”,在測試過程中也不是一帆風順的,RFID讀卡器和串口服務(wù)器的連接要保正物理通路,在這基礎(chǔ)上才能進行下一步的工作,其次要正確配置好串口服務(wù)器,程序中設(shè)置的波特率要一定要與串口服務(wù)器中設(shè)置的匹配[6],在程序中使用庫函數(shù)對讀卡器操作時,一定要與硬件相對應(yīng),在進行RFID讀卡器對數(shù)據(jù)讀寫時也要注意數(shù)據(jù)的格式。
[1]李洋.RFID技術(shù)與在物聯(lián)網(wǎng)中的應(yīng)用[J].電子設(shè)計工程,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#的串口通信程序設(shè)計[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讀寫器的設(shè)計[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機與單片機通信中的應(yīng)用[J].現(xiàn)代電子技術(shù),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)的設(shè)計與實現(xiàn)[J].計算機應(yīng)用,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.