楊文珺
(無錫職業技術學院 江蘇 無錫 214121)
本文在調研農作物企業實際業務流程的基礎上,對農作物種植以及加工過程中記錄所有生產數據[1]、檢疫數據、加工數據、銷售數據,等數據進行實時跟蹤記錄。整個系統從拓撲結構上分為3個區:1)生產加工區,主要記錄生產數據和執行的生產動作,生產用藥時需要使用WinCE手持設備。2)生產管理區,主要實現生產管理、超市分裝、市民卡管理等內容。3)檢驗檢疫市零售查詢區,主要是進行市零售、檢驗檢疫、網站查詢等內容。本文主要討論的是生產管理區的超市分分裝、發卡充值模塊中的部分設計:聯入串口服務器的RFID讀卡器的配置和調試方式。
在整個溯源系統所用的部分硬件設備如圖1所示。在子模塊“市民卡管理”中要用RFID讀卡器實現對卡的讀寫,服務器要通過串口對RFID讀卡器進行操作,由于整個系統中所用串口設備較多,所以在系統中我們配置了串口服務器,來完成對串口的統一管理。本文所要用到的設備就是服務器通過交換機與串口服務器相聯,串口服務器再與RFID讀卡器硬件相聯。
啟動串口服務器搜索軟件,單擊選中設備后,選擇Tools—Temporary change ip address, 修改 IP地址,IP地址在串口服務器所連接交換機同一個網段,如 “交換機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 網絡拓撲圖Fig.1 Network topology

圖2 修改串口服務器的IP地址Fig.2 Modified serial server IP address

圖3 映射串口Fig.3 Mapping serial
C/S程序開發我們使用Visual Studio 2010,它可簡化在各種平臺上創建、調試和開發應用程序的過程。它自帶對測試驅動開發的集成支持以及調試工具,以幫助確保提供高質量的解決方案[2]。
使用VisualStudio2010訪問串口。把串口服務器配置好以后,然后開始編程序。在項目中,市民卡管理模塊的一個子界面如圖4所示,這里的主要任務就是調試RFID讀卡器和串口服務的配置,通過程序控制RFID讀卡器的LED燈閃爍和報警聲音來看整個系統是否工作正常,在此基礎上完成對RFID卡的讀寫工作。

圖4 串口調試界面Fig.4 Serial debugging interface
在系統文件中定義市民卡管理客戶端MRWallet程序的“class Reader”,為串口打開和關閉的初始化代碼,以及部分讀卡器操作的常用函數,部分代碼如下所示:

選擇串口通信口為COM1,這里要和前面映射的端口一致,串口設置串口通信波特率為9 600,調用通用類Reader的庫函數實現串口的打開和關閉,部分代碼如下所示。

在系統的事件響應中編寫相關程序,通過串口服務器映射串口,從而控制讀卡器操作,這里我們先判斷串口的打開狀態[5],然后調用通用類Reader的庫函數,從而實現讀卡器上的LED燈閃爍3下,來判斷串口通訊是否正常。部分代碼如下所示。


讀卡器進行報警的程序設計和上面的類似,其中調用通用類Reader的庫函數更換如下所示:

在以上工作都正確的基礎上就可以進行讀卡器的讀寫操作,讀卡器的讀寫操作的部分代碼如下:

至此,我們就可以完成“基于串口服務器的RFID讀卡器配置調試”,在測試過程中也不是一帆風順的,RFID讀卡器和串口服務器的連接要保正物理通路,在這基礎上才能進行下一步的工作,其次要正確配置好串口服務器,程序中設置的波特率要一定要與串口服務器中設置的匹配[6],在程序中使用庫函數對讀卡器操作時,一定要與硬件相對應,在進行RFID讀卡器對數據讀寫時也要注意數據的格式。
[1]李洋.RFID技術與在物聯網中的應用[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,FAN 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].現代電子技術,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讀寫器系統的設計與實現[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平臺下串口通信數據實時獲取與監測[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.