RFID技術在貴賓管理系統中應該如何應用
采用目前最先進的非接觸式ID卡技術,作為貴賓身份標簽進行識別,減少了磁卡、接觸式IC卡、條形碼等識別率低、識別速度慢、壽命短的缺點。系統將貴賓卡分為待遇卡和積分卡兩大類。待遇卡享受優惠價、積分、分滿贈禮的待遇;而積分卡則享受積分、分段打折、分滿贈禮的待遇。前者多用于有業務來往的單位,它開卡后,就享有優惠價格:后者則用于普通常客,多為認卡不認人,吸引貴賓的親戚朋友前來消費,積分到一定數量時即可打折,這樣增加常客人數。兩者也可相互轉換,積分卡積到一定分時可轉為所對應的待遇卡。
系統涉及到讀取lD卡信息,RFlD系統通過閱讀器的RS232接1:3與外部計算機串口連接,進行數據交換。在進行串13通信時采用Windows的API函數,Windows系統是將串1:3看做文件一樣操作的。在Delphi串口通信中用到的windawsAPI函數主要包括:CreatefiIe(),用于打開串1:3:CIOSefiIe().用于關閉串口;GetCommState().用于取得串口的設置參數:SetCommState().用于設置串口參數,包括波特率、數據位、校驗位與停止位;PurgeComm()用于清除串13上的緩沖區:ReadfiIe().用于取得串I:3中的數據;Writefile().用于將數據從串口送出:ClearCommError(),清除串口錯誤或取得串13信息。其主要代碼如下:
//以下是RFID系統的部分源程序
procedureOpenComm:
var
CC:TCOMMCONFIG:
Temp:string
Buffer:array[0.256]ofchar:
begin
Temp:=CaM+lntToStr(pDataModuleDataModulelPort).//
選擇所要打開的COM
StrPCopy(Buffer.Temp)
DataModule1hComm:=CreateFile(Buffer.GENERIC―READor
GENERIC―WRITE0nilOPEN―EXISTING00\//開CaM
if(DataModule1.hComm=INVALID_HANDLE―VALUE)thenbegin
//如果CaM未打開
MessageBox(0.打開通信端口錯誤,”,MB―OK);
DataModule1.hC0mm:=0:
exit:
end
GetCommState(DataModulelhc0mm.CCdcb)://得知目前
CaM的狀態
CCdcbBaudRate:=CBR一9600://設置波特率為9600
CC.dcb.ByteSize:=8;//字節為8bit
CCdcbParity=NOPARITY1//ParityNoneCCdcb
StopBits:=ONESTOPBIT//1個Stopbit
ifnotSetCommState(DataModulelhComm.CC.dcb)thenbegin/
/設置COM的狀態
MessageBox(0,通信端口設置錯誤Jfl“.”,MB―OK):
CloseHandle(DataModulelhComm):
DataModulelhCOmm:=0.
exit;
end:
end;
本文采用軟件工程的方法運用Delphi7和SQLSERVER2000作為開發工具,實現了一個較好的基于RFID技術的貴賓管理系統。在系統的設計與實現中,解決了四個關鍵的問題:其一是設計了科學、合理、人性化的客戶積分體系.較好地提供了個性化的會員消費、積分、返點等完善的會員管理解決方案其二通過事務處理編程技術解決了數據修改時相關表中數據的一致性和完整性的問題:其三是采用ADO數據庫訪問方式,解決了在客戶量增大時系統的負載和訪問速度問題其四是解決了RFlD與計算機的串口數據通信問題。從最終實現的系統來看.系統具有操作簡單、界面友善、靈活性好安全性高、運行穩定等特點。
評論