多功能物流手持終端集群通信方式的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
多功能物流手持終端集群通信方式的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
多功能物流手持終端集群通信方式的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
多功能物流手持終端集群通信方式的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、    多功能物流手持終端集群通信方式的設(shè)計(jì)與實(shí)現(xiàn)    電子技術(shù)應(yīng)用2007年第2期    周曉光, 周曉雄 時(shí)間:2008年01月04日     字 體: 大 中 小        關(guān)鍵詞:        摘 要:關(guān)鍵詞:? 在現(xiàn)代企業(yè)中降低商品成本的一個(gè)重要方法就是降低貨物

2、在流通中的成本,貨物的流通速度直接影響到生產(chǎn)的各個(gè)環(huán)節(jié),物流(Logistics)在現(xiàn)代經(jīng)濟(jì)的發(fā)展中起著越來越重要的作用。不論是企業(yè)的物流部門還是專門的物流公司都面臨著調(diào)度效率的問題。提高調(diào)度效率的方法是在提高物流管理技術(shù)的同時(shí)實(shí)現(xiàn)物流技術(shù)的信息化,提高物流技術(shù)信息化的程度。雖然國內(nèi)在物流行業(yè)里也引進(jìn)了信息化,但信息化的程度與國外相比還是低得多。國內(nèi)的物流終端主要集中在車載型且功能相對(duì)簡(jiǎn)單,這樣調(diào)度的實(shí)時(shí)性比較差。? 模擬集群通信(Analog Trunking Communication)技術(shù)已經(jīng)相對(duì)比較成熟,強(qiáng)大的調(diào)度功能、組呼功能和快速呼叫的特性使得集群通信深受大企業(yè)或集團(tuán)公司的青睞。對(duì)

3、于物流行業(yè)而言,集群通信技術(shù)也是其信息化的一個(gè)方向,通過無線調(diào)度實(shí)現(xiàn)快速、便捷、有效的貨物投遞、配送,實(shí)現(xiàn)有效的實(shí)時(shí)無線調(diào)度,提高其調(diào)度效率。這里的物流終端是集手機(jī)、數(shù)字集群、模擬集群、GPS定位、條碼掃描、無線上網(wǎng)、快速打印等功能于一體的集成度很高的多功能手持終端,針對(duì)不同的用戶可以方便快捷地進(jìn)行不同的功能模塊配置。?以下將討論在基于Windows CE.NET的多功能物流手持終端上如何用多線程編程實(shí)現(xiàn)其與集群模塊通信,以及如何解析集群模塊中發(fā)往手持終端的數(shù)據(jù)。1 集群模塊與手持終端通信協(xié)議幀格式? 集群通信中的協(xié)議幀格式如下:? ?SYNC + LENGTH + DIR + COMMAND

4、 + DATA +? CHECKSUM? SYNC:?0x96 (包頭)? LENGTH:?DIR(1B)+COMMAND(1B)+DATA(nB) +? CHECKSUM(1B)? DIR:?0x80 或0x81? ? COMMAND:?協(xié)議號(hào)? DATA:?協(xié)議數(shù)據(jù)? CHECKSUM:?SYNC LENGTH DIR COMMAND ? ? DATA? 即全部字節(jié)的異或? 其中為了保證通信正常完成,LENGTH約定要不大于125字節(jié);?DIR?表示發(fā)送方向: ?0x80表示 上位機(jī)>>下位機(jī),?0x81表示下位機(jī)>>上位機(jī);(上位機(jī)指手持終端,下位機(jī)指集群模塊);

5、DATA長(zhǎng)度不大于122個(gè)字節(jié);COMMAND表示協(xié)議命令包括0x10,0x11,0x12, 0x13,0x15,0x16等;CHECKSUM是數(shù)據(jù)結(jié)束校驗(yàn)位,判斷數(shù)據(jù)報(bào)是否結(jié)束。? 在該協(xié)議中漢字采用國標(biāo)碼進(jìn)行傳輸,其他字符或數(shù)字等都采用ASCII碼進(jìn)行顯示或發(fā)送,在這個(gè)協(xié)議中字符都有特殊意義,例如: 表示上翻,C表示清除等。2 Windows CE.NET多線程機(jī)制當(dāng)然還有其他的方法來控制線程的同步。多線程通過線程間的通信可以達(dá)到同步,節(jié)省系統(tǒng)資源,減少損耗。在接下來的串口通信中選擇了事件觸發(fā)機(jī)制來控制線程的運(yùn)行。3 集群模塊與手持終端的通信以及數(shù)據(jù)的提取和分析集群模塊負(fù)責(zé)接收調(diào)度中心或其

6、他終端發(fā)出的信號(hào),手持終端自身的CPU負(fù)責(zé)處理模塊接收的信息。手持終端的CPU與集群模塊之間通過串口進(jìn)行通信,首先設(shè)定串口參數(shù)如下:? 波特率? 9 600bps? 數(shù)據(jù)位? 8bit? 校驗(yàn)位? 無? 停止位? 1 bit?串口參數(shù)的設(shè)定以及串口操作在這里通過Windows CE.NET自帶的API函數(shù)來完成,其步驟是:?(1)打開串口? HANDLE? hComPort = CreatFileCreateFile(pszDevName,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING, 0, NULL); ? 其中,pszDevName表示要打

7、開的串口號(hào),在Windows CE系統(tǒng)中其形式應(yīng)該為TEXT(“COM1:”)或L“COM1:”,這與UNICODE相一致,當(dāng)串口打開成功,hComPort應(yīng)該返回打開的串口句柄,失敗則返回INVALID_HANDLE_VALUE。? (2)按上述要求設(shè)定串口參數(shù)?定義一個(gè)DCB結(jié)構(gòu)變量dcb,然后依次設(shè)定該結(jié)構(gòu)的參數(shù):? ?dcb.DCBlength = sizeof (dcb); ? GetCommState (hLocal, &dcb);?/獲得當(dāng)前串口的參數(shù)放到當(dāng)前dcb中? dcb.BaudRate = CBR_9600; ? /設(shè)定串口波特率為要求的9600bps? dcb

8、.fParity = FALSE;? ?/設(shè)定校驗(yàn)位為無? dcb.fNull = FALSE;? dcb.StopBits = ONESTOPBIT;? ?/設(shè)定一位停止位? dcb.Parity = NOPARITY;? ? /低4位校驗(yàn)設(shè)置為否? dcb.ByteSize = 8;? ? /數(shù)據(jù)位設(shè)定為8位? SetCommState (hLocal, &dcb); ? /把設(shè)定的參數(shù)寫入串口設(shè)定? ?設(shè)定串口時(shí)間常數(shù):設(shè)定一個(gè)COMMTIME OUTS結(jié)構(gòu)變量cto? cto.ReadIntervalTimeout = 0; ? /讀取兩個(gè)字符間隔時(shí)間設(shè)定? ?cto.Read

9、TotalTimeoutMultiplier = 0;? /設(shè)定? cto.ReadTotalTimeoutConstant = 0;?/設(shè)定讀超時(shí)時(shí)間為無限? cto.WriteTotalTimeoutMultiplier = 0;?/設(shè)定寫超時(shí)時(shí)間為無限時(shí)? SetCommTimeouts (hLocal, &cto); /把時(shí)間設(shè)定寫進(jìn)串口? 至此,串口初始化編程設(shè)定完畢。? 由于這里涉及實(shí)時(shí)收發(fā)數(shù)據(jù),為了提高主線程響應(yīng)其他事件的速度,在主線程中創(chuàng)建一個(gè)獨(dú)立的子線程來監(jiān)聽串口,通過觸發(fā)事件EV_RXCHAR通知線程去讀串口緩沖區(qū)來得到數(shù)據(jù)。主線程與子線程的調(diào)度關(guān)系如圖1所示。?主線程負(fù)責(zé)處理主窗口及其控件的消息以及子線程發(fā)送過來的消息,子線程主要負(fù)責(zé)處理串口消息及數(shù)據(jù),大大減小了主線程響應(yīng)事件的壓力,提高了系統(tǒng)的響應(yīng)速度。?以下討論如

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論