1 引 言
隨著我國民航業(yè)和物流業(yè)的快速發(fā)展,對物流分揀設(shè)備的處理能力提出了越來越高的要求,越來越多的國內(nèi)機(jī)場開始使用行李自動(dòng)分揀系統(tǒng)。行李自動(dòng)分揀系統(tǒng)是集計(jì)算機(jī)、工業(yè)控制網(wǎng)絡(luò)、PLC及電氣控制于一體的機(jī)電一體化系統(tǒng),有高效、快速、集成度高等優(yōu)點(diǎn),具有廣闊的應(yīng)用前景。先進(jìn)的自動(dòng)分揀技術(shù)以前一直由國外發(fā)達(dá)國家掌握,目前我國各大機(jī)場使用的行李自動(dòng)分揀系統(tǒng)大部分都是引進(jìn)國外的成套系統(tǒng),雖然性能不錯(cuò),但是價(jià)格昂貴。近年來國內(nèi)也有單位開發(fā)出了具有自主知識(shí)產(chǎn)權(quán)的自動(dòng)分揀系統(tǒng),并得到了一定的推廣應(yīng)用。本文介紹一種由國外開發(fā)的行李自動(dòng)分揀系統(tǒng)與航班數(shù)據(jù)庫的接口方法。
2.行李自動(dòng)分揀系統(tǒng)介紹
2.1 控制系統(tǒng)結(jié)構(gòu)
行李分揀系統(tǒng)(BHS)包括離港和到港兩部分系統(tǒng),本文只討論離港行李自動(dòng)分揀系統(tǒng)。本系統(tǒng)采用信息網(wǎng)、控制網(wǎng)和遠(yuǎn)程I/O鏈路三級控制結(jié)構(gòu)。兩臺(tái)離港上位控制機(jī)采用WINDOWS NT4.0操作系統(tǒng)和INTOUCH 7.0工業(yè)組態(tài)軟件,互為熱備,配置雙網(wǎng)卡,除與機(jī)場計(jì)算機(jī)集成系統(tǒng)(SI)以及計(jì)算機(jī)離港控制系統(tǒng)(DCS)構(gòu)成以太網(wǎng)外,還與下位主控制器PLC組成以太網(wǎng)。PLC選用 A-B公司的兩臺(tái)大型處理器PLC-5/80,互為熱備,除與上位計(jì)算機(jī)構(gòu)成以太網(wǎng)外,還和應(yīng)急處理終端PanelView構(gòu)成DH+網(wǎng)。PLC-5/80不僅具有豐富的邏輯處理能力,并具有非常強(qiáng)大的數(shù)據(jù)處理能力。系統(tǒng)結(jié)構(gòu)如圖1所示。
[align=center]

圖1 系統(tǒng)結(jié)構(gòu)圖[/align]
2.2 自動(dòng)分揀原理
行李分揀系統(tǒng)(BHS)必須和機(jī)場計(jì)算機(jī)集成系統(tǒng)(SI)以及計(jì)算機(jī)離港控制系統(tǒng)(DCS)進(jìn)行實(shí)時(shí)的數(shù)據(jù)交換,PLC-5/80必須獲取以下三種數(shù)據(jù)信息。數(shù)據(jù)流程如圖2所示。
A.航班信息。此信息由行李分揀系統(tǒng)上位機(jī)從機(jī)場計(jì)算機(jī)集成系統(tǒng)的航班數(shù)據(jù)庫讀取,并轉(zhuǎn)發(fā)給下位PLC。航班信息包含的內(nèi)容有:航班號、目的地代碼、值機(jī)開始時(shí)間、值機(jī)結(jié)束時(shí)間、起飛時(shí)間。
B.報(bào)文(MESSAGE)。旅客在辦理行李交運(yùn)時(shí),由值機(jī)計(jì)算機(jī)生成,并被發(fā)送到機(jī)場計(jì)算機(jī)離港系統(tǒng),然后通過行李分揀系統(tǒng)的報(bào)文接口機(jī)發(fā)送給行李分揀上位控制機(jī),上位控制機(jī)將報(bào)文通過內(nèi)部LAN傳遞給PLC 。行李報(bào)文包含有航班號、 目的地代碼、流水號、行李件數(shù)等信息.。
C.行李條碼信息。行李條碼包含行李流水號,旅客在辦理行李交運(yùn)時(shí),由值機(jī)計(jì)算機(jī)生成,并被打印成條型碼標(biāo)簽貼在旅客交運(yùn)的行李上。當(dāng)行李通過掃描站時(shí),條型碼信息被讀碼器自動(dòng)掃描,并傳遞給PLC 。
要實(shí)現(xiàn)自動(dòng)分揀,PLC必須對得到的數(shù)據(jù)信息進(jìn)行兩次比較。首先,PLC將行李條碼信息和報(bào)文信息進(jìn)行逐一比較,如果行李條碼信息和報(bào)文信息中有相同的行李流水號,就判定此條碼和報(bào)文屬于同一行李的信息(條碼信息包含有行李流水號,報(bào)文中包含有行李流水號和航班號信息);然后,報(bào)文信息和PLC中的航班分配表中的航班進(jìn)行逐一比較,如果兩者相應(yīng)的信息段相同(航班號,目的地代碼),就會(huì)判定貼有此條碼標(biāo)簽的行李屬于該航班。
[align=center]

圖2 數(shù)據(jù)流程圖[/align]
2.3 InTouch7.0組態(tài)軟件
InTouch是本系統(tǒng)中所有信息交互的中樞,航班信息和報(bào)文信息都是通過InTouch發(fā)送給下位控制機(jī)PLC的。InTouch是由wonderware公司開發(fā)的面向工業(yè)控制的人—機(jī)對話界面(HMI)開發(fā)工具,提供了組態(tài)環(huán)境WindowMaker和運(yùn)行環(huán)境WindowViewer。在組態(tài)環(huán)境下定制系統(tǒng),進(jìn)行數(shù)據(jù)庫組態(tài),畫面組態(tài),定義系統(tǒng)的數(shù)據(jù)采集和控制任務(wù)。在運(yùn)行環(huán)境中通過執(zhí)行 InTouch QuickScripts來實(shí)施這些任務(wù),進(jìn)行報(bào)警和行歷史數(shù)據(jù)的記錄和報(bào)告,并將數(shù)據(jù)實(shí)時(shí)傳輸給本站的其它任務(wù)和網(wǎng)上其它工作站。InTouch7.0支持動(dòng)態(tài)數(shù)據(jù)交換(DDE),能夠用作 DDE 和 SuiteLink 通訊協(xié)議的客戶和服務(wù)器。通過DDE和SuiteLink,InTouch7.0能與其他 Windows 程序、Wonderware I/O 服務(wù)器和第三方 I/O 服務(wù)器程序?qū)崿F(xiàn)通訊。本系統(tǒng)使用Wonderware的以太網(wǎng)(EtherNet)通訊協(xié)議服務(wù)器ABTCP,實(shí)現(xiàn)INTOUCH與下位PLC通訊。
與DDE命名規(guī)則一致,InTouch通過一個(gè)三部分命名約定來標(biāo)志在I/O服務(wù)器程序中的數(shù)據(jù)元素,包括VIEW(應(yīng)用程序名),TAGNAME(主題名)和ActualTagname (項(xiàng)目名)。為了從另一個(gè)應(yīng)用程序中得到數(shù)據(jù),客戶機(jī)程序(InTouch)通過指定這三項(xiàng)打開到服務(wù)器程序的一個(gè)通道。此外,它必須知道提供該數(shù)據(jù)值的應(yīng)用程序名,應(yīng)用程序中包含該數(shù)據(jù)值的主題名和項(xiàng)目名。當(dāng)另一Windows應(yīng)用程序從InTouch中請求一個(gè)數(shù)據(jù)值時(shí),它也必須知道這三個(gè)I/O地址項(xiàng)。I/O類型標(biāo)記名必須與一個(gè)訪問名相聯(lián)系,訪問名包含了用來與其他I/O數(shù)據(jù)源通訊的信息,這些信息包括節(jié)點(diǎn)名,應(yīng)用程序名和主題名。
3.通訊協(xié)議介紹
3.1 動(dòng)態(tài)數(shù)據(jù)交換(DDE)
動(dòng)態(tài)數(shù)據(jù)交換DDE( Dynamic Data Exchange)是一個(gè)由Microsoft開發(fā)的通訊協(xié)議,該協(xié)議允許在Windows 環(huán)境中的應(yīng)用程序彼此發(fā)送/接收數(shù)據(jù)和指令。它在兩個(gè)同時(shí)運(yùn)行的應(yīng)用程序之間實(shí)現(xiàn)一種客戶-服務(wù)器關(guān)系。服務(wù)器應(yīng)用程序提供數(shù)據(jù)并接受對這些數(shù)據(jù)感興趣的其它應(yīng)用程序的請求。發(fā)請求的應(yīng)用程序叫做客戶。一些應(yīng)用程序(例如 InTouch 和 Microsoft Excel)可以同時(shí)作為客戶或服務(wù)器程序。
DDE使用三步命名約定來確定數(shù)據(jù):
a. 應(yīng)用名(Applications):DDE對話應(yīng)用名。
b. 對話主題(Topics):服務(wù)器所支持的對話話題。一個(gè)DDE應(yīng)用名下可以有多個(gè)對話話題,用于區(qū)別對話的類型。
c. 項(xiàng)目(Items):對話話題下的具體數(shù)據(jù)項(xiàng)名。
3.2 開放數(shù)據(jù)庫互連接(ODBC)
開放數(shù)據(jù)庫互連ODBC(Open Database Connectivity)是Microsoft開發(fā)的對不同數(shù)據(jù)庫訪問的標(biāo)準(zhǔn)接口,基于結(jié)構(gòu)化查詢語言SQL(Structured Query Language)。一個(gè)應(yīng)用程序能通過這個(gè)通用接口訪問異種數(shù)據(jù)庫。
在訪問ODBC數(shù)據(jù)源時(shí)需要ODBC驅(qū)動(dòng)程序的支持,首先必須用ODBC管理器注冊數(shù)據(jù)源,管理器根據(jù)數(shù)據(jù)源提供的數(shù)據(jù)庫位置、數(shù)據(jù)庫類型及ODBC驅(qū)動(dòng)程序等信息,建立起ODBC與具體數(shù)據(jù)庫的聯(lián)系。這樣,只要應(yīng)用程序?qū)?shù)據(jù)源名提供給ODBC,ODBC就能建立起與相應(yīng)數(shù)據(jù)庫的連接。
4.航班數(shù)據(jù)庫接口
航班數(shù)據(jù)庫SYBASE根據(jù)航班計(jì)劃預(yù)先錄入整日的航班信息。SYBASE是客戶/服務(wù)器體系結(jié)構(gòu)的數(shù)據(jù)庫管理系統(tǒng),支持SQL作為查詢語言。裝有SYBASE客戶端軟件的行李分揀系統(tǒng)上位控制機(jī),從SYBASE航班數(shù)據(jù)庫調(diào)用航班信息,并按照值機(jī)開始時(shí)間的先后次序給航班排序。滑槽資源是有限的,行李分揀系統(tǒng)總是為在當(dāng)前一段時(shí)間內(nèi)最先值機(jī)的航班分配行李滑槽,當(dāng)有航班值機(jī)結(jié)束,刪除該航班,調(diào)入新的航班。這就要求從航班數(shù)據(jù)庫讀出的航班信息必須經(jīng)過處理才能為行李分揀系統(tǒng)使用。InTouch的數(shù)據(jù)處理能力有限,本系統(tǒng)通過EXCEL訪問SYBASE,并把讀到的航班信息做數(shù)據(jù)處理,再由InTouch從EXCEL中讀入經(jīng)過處理過的數(shù)據(jù)。
Excel是一款功能強(qiáng)大的電子表格軟件,有豐富的數(shù)據(jù)處理、圖表功能及各種函數(shù)和工具。
Excel提供的宏語言 VBA (Visual Basic for Application)是Visual Basic的一個(gè)子集,功能強(qiáng)大,處理數(shù)據(jù)方法簡單快捷。通過在EXCEL VBA中開發(fā)的多個(gè)宏,實(shí)現(xiàn)對航班數(shù)據(jù)庫的訪問以及數(shù)據(jù)的處理和組織。首先,EXCEL通過定制查詢時(shí)間,實(shí)現(xiàn)對數(shù)據(jù)庫的周期性訪問,把刷新的航班信息讀入到一張表上,然后,再根據(jù)滑槽資源的實(shí)際情況定制滑槽分配表,調(diào)入相應(yīng)數(shù)量的航班,并按值機(jī)開始時(shí)間的先后次序?qū)桨嗯判颍o每個(gè)航班分配滑槽,這樣,航班與行李滑槽就建立了一一對應(yīng)的關(guān)系。單一目的地的航班占用一個(gè)滑槽,多目的地的航班占用多個(gè)滑槽。
在INTOUCH上位界面中創(chuàng)建與EXCEL航班分配表完全一樣的顯示畫面,讀入EXCEL滑槽分配表的全部數(shù)據(jù),這樣,INTOUCH數(shù)據(jù)庫中就完整的復(fù)制了EXCEL的滑槽分配表。通過以太網(wǎng)I/O服務(wù)器ABTCP,下位PLC把滑槽分配表讀入自己的數(shù)據(jù)庫,這樣,在下位PLC就建立了航班和行李滑槽一一對應(yīng)的關(guān)系。PLC通過接收另外兩個(gè)信息:行李條碼和報(bào)文來確定行李屬于哪個(gè)航班。這樣,確定了行李的航班號,也就確定了該行李的滑槽號。
5.結(jié)束語
通過EXCEL可以方便快捷的訪問航班數(shù)據(jù)庫,行李分揀系統(tǒng)可以準(zhǔn)確的把行李分配到指定的滑槽,但是因?yàn)楹桨鄶?shù)據(jù)庫在后臺(tái),當(dāng)行李分揀系統(tǒng)上位機(jī)重新啟動(dòng)后,滑槽會(huì)重新分配,造成行李混亂現(xiàn)象。如果改造航班數(shù)據(jù)庫為前臺(tái)數(shù)據(jù)庫,上位機(jī)重啟后會(huì)保持之前滑槽分配表的數(shù)據(jù)不變。另外,滑槽是按航班目的地分配的,當(dāng)一個(gè)航班有多個(gè)目的地時(shí),會(huì)占用多個(gè)滑槽,如果滑槽資源不夠,正在值機(jī)又沒有滑槽的航班行李會(huì)因?yàn)闊o滑槽而大量棄包。改變滑槽分配規(guī)則,使多目的地航班占用一個(gè)滑槽,可以改善這一狀況,降低行李的棄包比率。因此,以上兩點(diǎn)是系統(tǒng)下一步技術(shù)改造的課題。