1 引 言
隨著我國民航業(yè)和物流業(yè)的快速發(fā)展,對物流分揀設備的處理能力提出了越來越高的要求,越來越多的國內機場開始使用行李自動分揀系統(tǒng)。行李自動分揀系統(tǒng)是集計算機、工業(yè)控制網絡、PLC及電氣控制于一體的機電一體化系統(tǒng),有高效、快速、集成度高等優(yōu)點,具有廣闊的應用前景。先進的自動分揀技術以前一直由國外發(fā)達國家掌握,目前我國各大機場使用的行李自動分揀系統(tǒng)大部分都是引進國外的成套系統(tǒng),雖然性能不錯,但是價格昂貴。近年來國內也有單位開發(fā)出了具有自主知識產權的自動分揀系統(tǒng),并得到了一定的推廣應用。本文介紹一種由國外開發(fā)的行李自動分揀系統(tǒng)與航班數據庫的接口方法。
2.行李自動分揀系統(tǒng)介紹
2.1 控制系統(tǒng)結構
行李分揀系統(tǒng)(BHS)包括離港和到港兩部分系統(tǒng),本文只討論離港行李自動分揀系統(tǒng)。本系統(tǒng)采用信息網、控制網和遠程I/O鏈路三級控制結構。兩臺離港上位控制機采用WINDOWS NT4.0操作系統(tǒng)和INTOUCH 7.0工業(yè)組態(tài)軟件,互為熱備,配置雙網卡,除與機場計算機集成系統(tǒng)(SI)以及計算機離港控制系統(tǒng)(DCS)構成以太網外,還與下位主控制器PLC組成以太網。PLC選用 A-B公司的兩臺大型處理器PLC-5/80,互為熱備,除與上位計算機構成以太網外,還和應急處理終端PanelView構成DH+網。PLC-5/80不僅具有豐富的邏輯處理能力,并具有非常強大的數據處理能力。系統(tǒng)結構如圖1所示。
[align=center]
圖1 系統(tǒng)結構圖[/align]
2.2 自動分揀原理
行李分揀系統(tǒng)(BHS)必須和機場計算機集成系統(tǒng)(SI)以及計算機離港控制系統(tǒng)(DCS)進行實時的數據交換,PLC-5/80必須獲取以下三種數據信息。數據流程如圖2所示。
A.航班信息。此信息由行李分揀系統(tǒng)上位機從機場計算機集成系統(tǒng)的航班數據庫讀取,并轉發(fā)給下位PLC。航班信息包含的內容有:航班號、目的地代碼、值機開始時間、值機結束時間、起飛時間。
B.報文(MESSAGE)。旅客在辦理行李交運時,由值機計算機生成,并被發(fā)送到機場計算機離港系統(tǒng),然后通過行李分揀系統(tǒng)的報文接口機發(fā)送給行李分揀上位控制機,上位控制機將報文通過內部LAN傳遞給PLC 。行李報文包含有航班號、 目的地代碼、流水號、行李件數等信息.。
C.行李條碼信息。行李條碼包含行李流水號,旅客在辦理行李交運時,由值機計算機生成,并被打印成條型碼標簽貼在旅客交運的行李上。當行李通過掃描站時,條型碼信息被讀碼器自動掃描,并傳遞給PLC 。
要實現自動分揀,PLC必須對得到的數據信息進行兩次比較。首先,PLC將行李條碼信息和報文信息進行逐一比較,如果行李條碼信息和報文信息中有相同的行李流水號,就判定此條碼和報文屬于同一行李的信息(條碼信息包含有行李流水號,報文中包含有行李流水號和航班號信息);然后,報文信息和PLC中的航班分配表中的航班進行逐一比較,如果兩者相應的信息段相同(航班號,目的地代碼),就會判定貼有此條碼標簽的行李屬于該航班。
[align=center]
圖2 數據流程圖[/align]
2.3 InTouch7.0組態(tài)軟件
InTouch是本系統(tǒng)中所有信息交互的中樞,航班信息和報文信息都是通過InTouch發(fā)送給下位控制機PLC的。InTouch是由wonderware公司開發(fā)的面向工業(yè)控制的人—機對話界面(HMI)開發(fā)工具,提供了組態(tài)環(huán)境WindowMaker和運行環(huán)境WindowViewer。在組態(tài)環(huán)境下定制系統(tǒng),進行數據庫組態(tài),畫面組態(tài),定義系統(tǒng)的數據采集和控制任務。在運行環(huán)境中通過執(zhí)行 InTouch QuickScripts來實施這些任務,進行報警和行歷史數據的記錄和報告,并將數據實時傳輸給本站的其它任務和網上其它工作站。InTouch7.0支持動態(tài)數據交換(DDE),能夠用作 DDE 和 SuiteLink 通訊協(xié)議的客戶和服務器。通過DDE和SuiteLink,InTouch7.0能與其他 Windows 程序、Wonderware I/O 服務器和第三方 I/O 服務器程序實現通訊。本系統(tǒng)使用Wonderware的以太網(EtherNet)通訊協(xié)議服務器ABTCP,實現INTOUCH與下位PLC通訊。
與DDE命名規(guī)則一致,InTouch通過一個三部分命名約定來標志在I/O服務器程序中的數據元素,包括VIEW(應用程序名),TAGNAME(主題名)和ActualTagname (項目名)。為了從另一個應用程序中得到數據,客戶機程序(InTouch)通過指定這三項打開到服務器程序的一個通道。此外,它必須知道提供該數據值的應用程序名,應用程序中包含該數據值的主題名和項目名。當另一Windows應用程序從InTouch中請求一個數據值時,它也必須知道這三個I/O地址項。I/O類型標記名必須與一個訪問名相聯系,訪問名包含了用來與其他I/O數據源通訊的信息,這些信息包括節(jié)點名,應用程序名和主題名。
3.通訊協(xié)議介紹
3.1 動態(tài)數據交換(DDE)
動態(tài)數據交換DDE( Dynamic Data Exchange)是一個由Microsoft開發(fā)的通訊協(xié)議,該協(xié)議允許在Windows 環(huán)境中的應用程序彼此發(fā)送/接收數據和指令。它在兩個同時運行的應用程序之間實現一種客戶-服務器關系。服務器應用程序提供數據并接受對這些數據感興趣的其它應用程序的請求。發(fā)請求的應用程序叫做客戶。一些應用程序(例如 InTouch 和 Microsoft Excel)可以同時作為客戶或服務器程序。
DDE使用三步命名約定來確定數據:
a. 應用名(Applications):DDE對話應用名。
b. 對話主題(Topics):服務器所支持的對話話題。一個DDE應用名下可以有多個對話話題,用于區(qū)別對話的類型。
c. 項目(Items):對話話題下的具體數據項名。
3.2 開放數據庫互連接(ODBC)
開放數據庫互連ODBC(Open Database Connectivity)是Microsoft開發(fā)的對不同數據庫訪問的標準接口,基于結構化查詢語言SQL(Structured Query Language)。一個應用程序能通過這個通用接口訪問異種數據庫。
在訪問ODBC數據源時需要ODBC驅動程序的支持,首先必須用ODBC管理器注冊數據源,管理器根據數據源提供的數據庫位置、數據庫類型及ODBC驅動程序等信息,建立起ODBC與具體數據庫的聯系。這樣,只要應用程序將數據源名提供給ODBC,ODBC就能建立起與相應數據庫的連接。
4.航班數據庫接口
航班數據庫SYBASE根據航班計劃預先錄入整日的航班信息。SYBASE是客戶/服務器體系結構的數據庫管理系統(tǒng),支持SQL作為查詢語言。裝有SYBASE客戶端軟件的行李分揀系統(tǒng)上位控制機,從SYBASE航班數據庫調用航班信息,并按照值機開始時間的先后次序給航班排序。滑槽資源是有限的,行李分揀系統(tǒng)總是為在當前一段時間內最先值機的航班分配行李滑槽,當有航班值機結束,刪除該航班,調入新的航班。這就要求從航班數據庫讀出的航班信息必須經過處理才能為行李分揀系統(tǒng)使用。InTouch的數據處理能力有限,本系統(tǒng)通過EXCEL訪問SYBASE,并把讀到的航班信息做數據處理,再由InTouch從EXCEL中讀入經過處理過的數據。
Excel是一款功能強大的電子表格軟件,有豐富的數據處理、圖表功能及各種函數和工具?!?
Excel提供的宏語言 VBA (Visual Basic for Application)是Visual Basic的一個子集,功能強大,處理數據方法簡單快捷。通過在EXCEL VBA中開發(fā)的多個宏,實現對航班數據庫的訪問以及數據的處理和組織。首先,EXCEL通過定制查詢時間,實現對數據庫的周期性訪問,把刷新的航班信息讀入到一張表上,然后,再根據滑槽資源的實際情況定制滑槽分配表,調入相應數量的航班,并按值機開始時間的先后次序對航班排序,給每個航班分配滑槽,這樣,航班與行李滑槽就建立了一一對應的關系。單一目的地的航班占用一個滑槽,多目的地的航班占用多個滑槽。
在INTOUCH上位界面中創(chuàng)建與EXCEL航班分配表完全一樣的顯示畫面,讀入EXCEL滑槽分配表的全部數據,這樣,INTOUCH數據庫中就完整的復制了EXCEL的滑槽分配表。通過以太網I/O服務器ABTCP,下位PLC把滑槽分配表讀入自己的數據庫,這樣,在下位PLC就建立了航班和行李滑槽一一對應的關系。PLC通過接收另外兩個信息:行李條碼和報文來確定行李屬于哪個航班。這樣,確定了行李的航班號,也就確定了該行李的滑槽號。
5.結束語
通過EXCEL可以方便快捷的訪問航班數據庫,行李分揀系統(tǒng)可以準確的把行李分配到指定的滑槽,但是因為航班數據庫在后臺,當行李分揀系統(tǒng)上位機重新啟動后,滑槽會重新分配,造成行李混亂現象。如果改造航班數據庫為前臺數據庫,上位機重啟后會保持之前滑槽分配表的數據不變。另外,滑槽是按航班目的地分配的,當一個航班有多個目的地時,會占用多個滑槽,如果滑槽資源不夠,正在值機又沒有滑槽的航班行李會因為無滑槽而大量棄包。改變滑槽分配規(guī)則,使多目的地航班占用一個滑槽,可以改善這一狀況,降低行李的棄包比率。因此,以上兩點是系統(tǒng)下一步技術改造的課題。