歡迎您訪問鄭州興邦電子股份有限公司官方網站!
    阿里巴巴誠信通企業
    全國咨詢熱線:40000-63966
    興邦電子,中國水控機第一品牌

    聯系興邦電子

    全國咨詢熱線:40000-63966

    售后:0371-55132951/55132952

    工廠:河南省 鄭州市 高新區蓮花街電子電器產業園

    使用射頻IC卡管理貨場的系統設計

    文章出處:http://www.xujuanpiju.com 作者:孫玉潔 余雪麗 李玉冰   人氣: 發表時間:2011年12月02日

    [文章內容簡介]:主要介紹一種射頻IC卡就貨場事務管理的硬件和軟件設計。硬件設計方面簡述系統結構;軟件方面給出了開發環境.設計架構和關鍵代碼。數據庫服務器采用SQLServer。靈活的C/S結構使得系統擴充很容易。

    1、引言 

        如何對大型貨場中的貨物進行管理,是一個非常關鍵的問題 本文介紹了一種對貨物進入貨場進行驗證和查收的解決方案。即:使用手持電腦與遠程數據服務器聯系,對貨物進行管理。 

    2、系統總體方案

        本系統采用美國HP公司的SI850射頻識別IC卡讀寫器、HP掌上電腦、HP射頻卡、無線接收裝置、以太網絡開發貨場管理系統 系統具有目標識別、身份驗證、數據采集、數據加密和數據庫管理的功能。系統由掌上電腦、與掌上電腦匹配的讀寫卡器、本地服務器、數據庫管理系統、掌上電腦和數據庫管理微機及本地服務器的通訊系統部分組成。本地主機與掌上電腦之間的通信采用TCP/IP協議。采用C/S模式。本地服務器和數據庫服務器之問用基于以太網的ADO接口進行數據交流。

        本系統主要目的是對物流運輸行業中的貨場部分進行管理, 當有車輛到達時。如網絡連通.使用車輛所帶的IC卡查詢遠程數據庫.如網絡不通.則讀出IC卡中的物料清單.并將貨物清單顯示在掌上電腦上.供貨場管理人員審核,如無誤.則將貨物已到貨場信息寫入數據庫服務器.并寫入IC卡.通過使用IC卡的方式.管理物流問題,具體流程如圖1所示。 
     

    射頻IC卡管理貨場流程圖

    3、系統硬件結構

        系統由遠程數據服務器,本地服務器,若干掌上電腦及讀卡器組成。如圖2所示。若干個掌上電腦通過無線通訊網絡與本地服務器通訊.本地服務器與遠程數據庫服務器使用以太網通訊。

    射頻IC卡管理貨場系統硬件結構

    4、軟件結構 

        掌上電腦使用微軟WINCE操作系統.該客戶端軟件使用EVC4.0為開發工具.使用Pocket PC 2003 SDK庫.本地服務器程序使用VC6.0開發.數據庫服務器使用SQL Server為數據庫平臺,通訊都采用TCP, 中的面向連接的服務。其中掌上電腦與本地服務器之間通訊采用無線通訊。掌上電腦使用紅外端口。而本地服務器采用無線網卡。本地服務器與數據庫服務器通訊使用以太網。

    1.掌上電腦軟件

     
        掌上電腦軟件分為兩部份。第一部分為讀,寫卡軟件。第二部分為無線通訊部分.無線通訊與普通通訊軟件沒有任何區別,系統底層屏蔽了有線與無線的通訊差異,都采用WINSOCKET通訊。

        (1) 讀寫卡部份 

        HP公司提供了掌上電腦的讀寫器.并將掌上電腦安裝在其中。通過這一單元來進行卡的讀寫。編寫卡讀寫軟件時,只須將隨讀寫器一起提供的動態連接庫安裝到臺式機上,并且連接到EVC4、0的工程內。對于此動態連接庫來說。常用的函數有四個:

        第一個函數用來打開與讀寫器的連接。第一個參數為返回的句柄hCom.第二個參數為用來通訊的端口。可以設為“COM1:”到“COM9”中的一個。第二個函數用來關閉打開的句柄。 

        第三個函數用來向卡中寫入一個32位整數.hCom 為端口句柄,word 為寫入整數的地址。data為寫入的32位整形數據。標志flags一般設為0。

        第四個函數用來從卡中讀人數據,*data為指向讀人的整形數據的指針。word_ start為讀人數據的起始地址,word_length要讀入的數據個數.flags同上。使用這些函數時應按如下步驟:首先用RFIDOpen打開一個與讀寫器相連的端口.并獲得一個句柄:接著用SaharaWfitd SaharaRead讀寫卡;讀寫完畢后用RHDCIose關閉端口以釋放資源。必須注意的是打開通訊口時必須用一個循環從Com1開始向上試探。如果某個口被成功打開(返回值為scs_OK)時退出循環。另外須注意讀寫卡時可能會出錯.所以用循環讀取,如果成功則退出,否則等待100豪秒后繼續讀寫.如果讀寫循環次數用完還未成功,則寫錯誤日志并退出。

        (2) 通訊程序 

        掌上電腦通訊軟件為客戶端軟件.所以在這里主動與本地服務器通訊。遵循以下步驟: 

        第一根據本地服務器的IP地址和給定的端口打開一個與服務器的連接。 
        第二根據協議類型使用此連接向本地主機發送協議數據,或從本地主機接收數據。進行數據傳輸。 
        第三完成流程后斷開連接.以釋放本地服務器和掌上電腦資源。

        從掌上電腦打開與本地服務器的連接使用TCP/IP協議.雖然使用無線網卡與本地服務器通訊. 由于系統屏蔽了無線通訊與有線通訊的差別,所以對程序員來說是透明的,無線通訊與有線通訊是一樣的接口,沒有任何區別。每次發送或接收的數據類型都是BYTE型的,所以當接收到一定數量的數據后。都將其轉換為相應的數據結構。關鍵代碼如下: 

        打開連接的關鍵代碼:

    以上代碼中m_psecket是Csecket派生類的對象. 

    2.本地服務器端的程序 

        本地服務器端的程序由以下兩功能.一是建立一個監聽服務線程.用于接收掌上電腦端的連接請求。二是接收到掌上電腦的連接請求后。建立一個單獨的線程用于和掌上電腦進行通訊,并且和遠程服務器進行通訊。處理數據流動。

        (1)監聽服務線程  

        本地服務器軟件啟動后。首先建立監聽服務線程。用于監聽掌上電腦的連接請求.即用來啟動服務程序.在本軟件中是通過菜單來啟動的.建立一個新的線程使用函數AfxBeginThread(Re.ceiveSeivice。&data)來實現,第一個參數為線程函數的執行體的函數名。第二個參數為傳遞給此線程的數據結構。用于向該線程給出一些具體的數據.成功執行此函數后.線程函數便獨立于主程序運行.直至正常退出或被異常中斷.以下是關鍵代碼:
     

    以上代碼顯示在服務線程中接收到客戶請求后。啟動客戶線程的流程。
     
        (2)客戶線程

        客戶線程啟動后.根據接收到的套接字句柄建立新的套接字,與掌上電腦端進行通訊,接受協議數據,根據協議數據要同遠程數據庫或掌上電腦端進行數據交流.同遠程數據庫服務器進行數據交換是采用ADO組件.以下是關鍵代碼:


    3.遠程數據庫服務器
     

        遠程數據庫服務器使用SQL Server 20o0作為數據庫平臺.建立數據庫.并向本地服務器提供數據。 

    參考文獻: 
    1.方可燕主編,VC6.0實戰與精通,清華大學出版社,2000 
    2.Steve Holzner著,瀟湘工作室譯,VC6.0高級鳊程,人民郵電出版社2000

    本文關鍵詞:射頻ic卡,tcp/ip服務程序,貨物管,頻ic卡,tcp/ip服務程序,貨物管理,ic卡,tcp/ip服務程序,貨物管理,,c卡,tcp/ip服務程序,貨物管理,i,卡,tcp/ip服務程序,貨物管理,ic,,tcp/ip服務程序,貨物管理,ic卡,tcp/ip服務程序,貨物管理,ic卡,,cp/ip服務程序,貨物管理,ic卡,i,p/ip服務程序,貨物管理,ic卡,ic,/ip服務程序,貨物管理,ic卡,ic卡,ip服務程序,貨物管理,ic卡,ic卡讀,p服務程序,貨物管理,ic卡,ic卡讀寫,服
    回到頂部