服务热线:
您当前的位置:首页 > 知识库 > DDE 技术

基于DDE和ODBC的行李自动分拣系统与航班数据库通讯接口

2011/9/8 14:03:36

1 引言


    随着我国民航业和物流业的快速发展,对物流分拣设备的处理能力提出了越来越高的要求,越来越多的国内机场开始使用行李自动分拣系统。行李自动分拣系统是集计算机、工业控制网络、PLC及电气控制于一体的机电一体化系统,有高效、快速、集成度高等优点,具有广阔的应用前景。先进的自动分拣技术以前一直由国外发达国家掌握,目前我国各大机场使用的行李自动分拣系统大部分都是引进国外的成套系统,虽然性能不错,但是价格昂贵。近年来国内也有单位开发出了具有自主知识产权的自动分拣系统,并得到了一定的推广应用。本文介绍一种由国外开发的行李自动分拣系统与航班数据库的接口方法。

 

2.行李自动分拣系统介绍


2.1 控制系统结构
   

  行李分拣系统(BHS)包括离港和到港两部分系统,本文只讨论离港行李自动分拣系统。本系统采用信息网、控制网和远程I/O链路三级控制结构。两台离港上位控制机采用WINDOWS NT4.0操作系统和INTOUCH 7.0工业组态软件,互为热备,配置双网卡,除与机场计算机集成系统(SI)以及计算机离港控制系统(DCS)构成以太网外,还与下位主控制器PLC组成以太网。PLC选用 A-B公司的两台大型处理器PLC-5/80,互为热备,除与上位计算机构成以太网外,还和应急处理终端PanelView构成DH+网。PLC-5/80不仅具有丰富的逻辑处理能力,并具有非常强大的数据处理能力。系统结构如图1所示。

 

图1 系统结构图

 

2.2 自动分拣原理


    行李分拣系统(BHS)必须和机场计算机集成系统(SI)以及计算机离港控制系统(DCS)进行实时的数据交换,PLC-5/80必须获取以下三种数据信息。数据流程如图2所示。
    A.航班信息。此信息由行李分拣系统上位机从机场计算机集成系统的航班数据库读取,并转发给下位PLC。航班信息包含的内容有:航班号、目的地代码、值机开始时间、值机结束时间、起飞时间。
    B.报文(MESSAGE)。旅客在办理行李交运时,由值机计算机生成,并被发送到机场计算机离港系统,然后通过行李分拣系统的报文接口机发送给行李分拣上位控制机,上位控制机将报文通过内部LAN传递给PLC 。行李报文包含有航班号、 目的地代码、流水号、行李件数等信息.。
    C.行李条码信息。行李条码包含行李流水号,旅客在办理行李交运时,由值机计算机生成,并被打印成条型码标签贴在旅客交运的行李上。当行李通过扫描站时,条型码信息被读码器自动扫描,并传递给PLC 。

    要实现自动分拣,PLC必须对得到的数据信息进行两次比较。首先,PLC将行李条码信息和报文信息进行逐一比较,如果行李条码信息和报文信息中有相同的行李流水号,就判定此条码和报文属于同一行李的信息(条码信息包含有行李流水号,报文中包含有行李流水号和航班号信息);然后,报文信息和PLC中的航班分配表中的航班进行逐一比较,如果两者相应的信息段相同(航班号,目的地代码),就会判定贴有此条码标签的行李属于该航班。

 

图2 数据流程图

 

2.3 InTouch7.0组态软件


    InTouch是本系统中所有信息交互的中枢,航班信息和报文信息都是通过InTouch发送给下位控制机PLC的。InTouch是由wonderware公司开发的面向工业控制的人—机对话界面(HMI)开发工具,提供了组态环境WindowMaker和运行环境WindowViewer。在组态环境下定制系统,进行数据库组态,画面组态,定义系统的数据采集和控制任务。在运行环境中通过执行 InTouch QuickScripts来实施这些任务,进行报警和行历史数据的记录和报告,并将数据实时传输给本站的其它任务和网上其它工作站。InTouch7.0支持动态数据交换(DDE),能够用作 DDE 和 SuiteLink 通讯协议的客户和服务器。通过DDE和SuiteLink,InTouch7.0能与其他 Windows 程序、Wonderware I/O 服务器和第三方 I/O 服务器程序实现通讯。本系统使用Wonderware的以太网(EtherNet)通讯协议服务器ABTCP,实现INTOUCH与下位PLC通讯。
   

  与DDE命名规则一致,InTouch通过一个三部分命名约定来标志在I/O服务器程序中的数据元素,包括VIEW(应用程序名),TAGNAME(主题名)和ActualTagname (项目名)。为了从另一个应用程序中得到数据,客户机程序(InTouch)通过指定这三项打开到服务器程序的一个通道。此外,它必须知道提供该数据值的应用程序名,应用程序中包含该数据值的主题名和项目名。当另一Windows应用程序从InTouch中请求一个数据值时,它也必须知道这三个I/O地址项。I/O类型标记名必须与一个访问名相联系,访问名包含了用来与其他I/O数据源通讯的信息,这些信息包括节点名,应用程序名和主题名。


 

3.通讯协议介绍


3.1 动态数据交换(DDE)
    动态数据交换DDE( Dynamic Data Exchange)是一个由Microsoft开发的通讯协议,该协议允许在Windows 环境中的应用程序彼此发送/接收数据和指令。它在两个同时运行的应用程序之间实现一种客户-服务器关系。服务器应用程序提供数据并接受对这些数据感兴趣的其它应用程序的请求。发请求的应用程序叫做客户。一些应用程序(例如 InTouch 和 Microsoft Excel)可以同时作为客户或服务器程序。

DDE使用三步命名约定来确定数据:
a. 应用名(Applications):DDE对话应用名。
b. 对话主题(Topics):服务器所支持的对话话题。一个DDE应用名下可以有多个对话话题,用于区别对话的类型。
c. 项目(Items):对话话题下的具体数据项名。

3.2 开放数据库互连接(ODBC)
    开放数据库互连ODBC(Open Database Connectivity)是Microsoft开发的对不同数据库访问的标准接口,基于结构化查询语言SQL(Structured Query Language)。一个应用程序能通过这个通用接口访问异种数据库。
    在访问ODBC数据源时需要ODBC驱动程序的支持,首先必须用ODBC管理器注册数据源,管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。

 

4.航班数据库接口


    航班数据库SYBASE根据航班计划预先录入整日的航班信息。SYBASE是客户/服务器体系结构的数据库管理系统,支持SQL作为查询语言。装有SYBASE客户端软件的行李分拣系统上位控制机,从SYBASE航班数据库调用航班信息,并按照值机开始时间的先后次序给航班排序。滑槽资源是有限的,行李分拣系统总是为在当前一段时间内最先值机的航班分配行李滑槽,当有航班值机结束,删除该航班,调入新的航班。这就要求从航班数据库读出的航班信息必须经过处理才能为行李分拣系统使用。InTouch的数据处理能力有限,本系统通过EXCEL访问SYBASE,并把读到的航班信息做数据处理,再由InTouch从EXCEL中读入经过处理过的数据。

    Excel是一款功能强大的电子表格软件,有丰富的数据处理、图表功能及各种函数和工具。  
    Excel提供的宏语言 VBA (Visual Basic for Application)是Visual Basic的一个子集,功能强大,处理数据方法简单快捷。通过在EXCEL VBA中开发的多个宏,实现对航班数据库的访问以及数据的处理和组织。首先,EXCEL通过定制查询时间,实现对数据库的周期性访问,把刷新的航班信息读入到一张表上,然后,再根据滑槽资源的实际情况定制滑槽分配表,调入相应数量的航班,并按值机开始时间的先后次序对航班排序,给每个航班分配滑槽,这样,航班与行李滑槽就建立了一一对应的关系。单一目的地的航班占用一个滑槽,多目的地的航班占用多个滑槽。

    在INTOUCH上位界面中创建与EXCEL航班分配表完全一样的显示画面,读入EXCEL滑槽分配表的全部数据,这样,INTOUCH数据库中就完整的复制了EXCEL的滑槽分配表。通过以太网I/O服务器ABTCP,下位PLC把滑槽分配表读入自己的数据库,这样,在下位PLC就建立了航班和行李滑槽一一对应的关系。PLC通过接收另外两个信息:行李条码和报文来确定行李属于哪个航班。这样,确定了行李的航班号,也就确定了该行李的滑槽号。


 

5.结束语


    通过EXCEL可以方便快捷的访问航班数据库,行李分拣系统可以准确的把行李分配到指定的滑槽,但是因为航班数据库在后台,当行李分拣系统上位机重新启动后,滑槽会重新分配,造成行李混乱现象。如果改造航班数据库为前台数据库,上位机重启后会保持之前滑槽分配表的数据不变。另外,滑槽是按航班目的地分配的,当一个航班有多个目的地时,会占用多个滑槽,如果滑槽资源不够,正在值机又没有滑槽的航班行李会因为无滑槽而大量弃包。改变滑槽分配规则,使多目的地航班占用一个滑槽,可以改善这一状况,降低行李的弃包比率。因此,以上两点是系统下一步技术改造的课题。

 


企业邮箱  |  法律公告  |  隐私保护  |  联系我们  |