CN107517076B - 一种基于事件驱动的数据链上行触发装置及其触发方法 - Google Patents
一种基于事件驱动的数据链上行触发装置及其触发方法 Download PDFInfo
- Publication number
- CN107517076B CN107517076B CN201710610774.XA CN201710610774A CN107517076B CN 107517076 B CN107517076 B CN 107517076B CN 201710610774 A CN201710610774 A CN 201710610774A CN 107517076 B CN107517076 B CN 107517076B
- Authority
- CN
- China
- Prior art keywords
- uplink
- instruction
- airplane
- edut
- triggering
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/185—Space-based or airborne stations; Stations for satellite systems
- H04B7/18502—Airborne stations
- H04B7/18506—Communications with or from aircraft, i.e. aeronautical mobile service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/20—Control channels or signalling for resource management
- H04W72/21—Control channels or signalling for resource management in the uplink direction of a wireless link, i.e. towards the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Astronomy & Astrophysics (AREA)
- Aviation & Aerospace Engineering (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于事件驱动的数据链上行触发装置及其触发方法,装置包括:飞机有效号检查模块,检查有效飞机号;数据库约束模块,编译数据库约束;模版定义模块,预定义上行触发指令模版;上行指令生成模块,将目标飞机号植入上行触发指令模版生成上行触发指令,并将其缓存至上行报文缓冲池中;本发明可保证作业需求的随机性、实时性与准确性,实现地面应用***根据飞机下行信息主动发送上行触发指令,获取更多飞行参数,判断飞机即时***状态,精确定位飞机的故障;也可触发飞机生成所需的数据,或产生相应驾驶舱警告,满足应急情况下地面工程***获取更多飞机实时状态参数需求,或警告机组潜在应急状态的发生,为保障飞行安全创造主动条件。
Description
技术领域
本发明属于航空应用工程技术,特别涉及一种基于事件驱动的数据链上行触发装置,还涉及该基于事件驱动的数据链上行触发装置的触发方法,主要应用于AOC领域中。
背景技术
民航空地数据链(下称“数据链”)是一种采用ATN(航空电信网)无线网络通信技术和应用协议,实现航空飞行器和地面信息管理***之间数据信息交换的***。其通过VHF(甚高频通讯)、SATCOM(海事/铱星卫星通讯)、HF(高频通讯)、SSR(二次监视雷达)的S模式作为数据链传输媒介,在飞机和地面***间自动传输信息,将飞机与地面的人员和空管自动化***有效联系在一起,可有效降低航班运行费用、提高航班运行效率、提前发现飞行故障,保障飞行安全。特别地,在我国,随着民航运输业的迅猛发展,民航通信业务量大大增加,但目前,航空公司的运控部门仍然主要借助空管的语音通讯链路实现与飞行机组之间的话音通讯。由于话音通信频道拥挤、人为因素干扰等缺陷日益突出,且建立上行通讯的操作复杂,往往成为运控部门、维修控制部门与飞行机组建立主动话音通讯的瓶颈,直接影响飞行安全和航班正点。近些年来,地空数据通信***因其传输速率快、抗干扰能力强、误码率低、可靠性高、可操作性强等特点在民航空地通信领域内得到了广泛应用。
ACARS(Aircraft Communication Addressing and Reporting System)—飞机通信寻址与报告***,是一条成熟的空地实时数字通信的链路,由数据服务供应商承担数据通讯基础建设与有偿数据转播服务。目前,ACARS***已扩展的主要应用领域包括AOC与ATC,前者主要面向航空公司可自主控制的应用领域,如飞机位置信息的获取、飞行情报信息的获取与推送、飞行故障信息的自动下传、飞机发动机状态与飞机性能参数的获取、机组短消息双向通信以及其他航空公司可开发的自主应用等;后者主要面向空中交通管制与公众服务领域,如起飞数字化放行(Departure Clearance)、洋际数字化放行(OceanicClearance)、航空终端信息服务(ATIS)、自动相关监视(ADS)、管制员与驾驶员数据链控制(CPDLC)等。
ACARS***主要由机载设备***、地空数据通信网络和地面应用***构成。机载设备***以通讯管理组件(CMU)(或等同功能组件)为核心组件,包括飞行管理***(FMS)、中央维护***(CMCS)、飞机状态监控***(ACMS)、S模式应答机、高频(HF)/甚高频(VHF)/卫星通讯***(SATCOM)、机载打印机和机组显示***(MCDU)等;在地空数据通信网络中,ATN网络是以SITA、ARINC两大独立数据供应商(DSP)组成的,总计10多个数据营运商为主体的,覆盖到包括南北极区域(使用HF通讯技术,信号较差)乃至全球每个角落的航空电信网络;在AOC应用领域的地面应用***中,航空公司使用DSP提供的数据链网关接入设备与ATN网络对接,实时获取本航空公司的飞行数据,通过后台应用集成与飞机双向信息互动。
但是,ACARS及其通信技术主要解决的是飞行数据与地面***的实时交互问题,而对于AOC地面应用***而言,其并未提供“根据飞机下行信息主动发送上行触发指令”的方法,目前,地面人员只能根据飞机下行的信息,临时进行人工数据分析,再使用相应的软件工具向目标飞机发送上行指令,这样的做法存在操作上的滞后性、人为的错误/误差、遗漏等弊端,无法保证作业需求的随机性、实时性与准确性。
另外,在AOC的飞机维修应用***中,通常情况下,地面***也需要根据飞机的下行信息主动发送上行触发指令,以便获取更多的飞行参数,以此判断飞机即时的***状态,以便精确定位飞机的故障。
发明内容
本发明的第一个目的在于提供一种实时、准确的基于事件驱动的数据链上行触发装置,根据飞机的下行信息主动发送上行触发指令,以便获取更多的飞行参数,以此判断飞机即时的***状态,从而精确定位飞机的故障,为保障飞行安全创造主动条件。
本发明的第一个目的通过以下的技术措施来实现:一种基于事件驱动的数据链上行触发装置,它嵌入在AOC地面应用***用于解码下行报文的解码器中,且处于解码器主进程中,其特征在于:所述基于事件驱动的数据链上行触发装置包括:
飞机有效号检查模块,用于检查有效飞机号;
数据库约束模块,用于编译数据库约束;
模版定义模块,用于预定义上行触发指令模版;
上行指令生成模块,用于将目标飞机号植入上行触发指令模版生成上行触发指令,并将其缓存至上行报文缓冲池中,即将上行触发指令推送至航空公司数据链网关接口,再由航空公司数据链网关接口向目标飞机发送上行触发指令;
所述飞机有效号检查模块、所述数据库约束模块和所述上行指令生成模块依次连接,所述模版定义模块和所述上行指令生成模块相连;所述飞机有效号检查模块接收目标飞机下行报文解码后的信息作为条件参数,若该条件参数有效,则该目标飞机为有效飞机号,并将解码后的信息输出至数据库约束模块,若该条件参数无效,则该目标飞机为无效飞机号,并返回解码器主进程;数据库约束模块编译数据库约束,若数据库约束对解码后的信息无抑制,则执行上行触发指令,若数据库约束对解码后的信息有抑制,则不执行上行触发指令,并返回解码器主进程;所述模版定义模块预定义上行触发指令模版,所述上行指令生成模块将目标飞机号植入上行触发指令模版生成上行触发指令,否则(例如由于IO、网络异常,不能生成上行触发指令),返回解码器主进程,生成的上行触发指令被缓存到上行报文缓冲池中,即将上行触发指令推送至航空公司数据链网关接口,再由航空公司数据链网关接口向目标飞机发送上行触发指令。
本发明与现有地面人员只能根据飞机下行的信息,临时进行人工数据分析,再使用相应的软件工具向目标飞机发送上行指令的做法相比,具有保证作业需求的随机性、实时性与准确性的优点,能够实现AOC地面应用***可根据飞机下行ACARS信息主动发送上行触发指令,以便获取更多的飞行参数,以此判断飞机即时的***状态,以便精确定位飞机的故障;本发明也可以触发飞机生成(传送)所需的数据,或产生相应的驾驶舱警告,以此满足应急情况下地面工程***获取更多的飞机实时状态参数需求,或警告机组潜在应急状态的发生,为保障飞行安全创造主动条件。
本发明所述上行触发指令用于动态改变飞机位置信息播报频率、根据飞机下行的故障代码或故障关键字触发ACMS(飞机状态监控***)的状态信息下行、根据飞机下行的故障代码或故障关键字触发飞机EICAS(发动机指示与机组警告***)维护页码信息下行、在飞行过程中自动触发机载信息***构型参数下行或者根据飞机下行的ACMS飞行过载状态参数自动上行机组警告信息。
本发明所述解码器主进程将每个下行报文封装为对象结构成为下行报文对象,所述下行报文对象包括报文ID、报文时间戳、飞机号、航班号和报文内容这5种属性。所述条件参数为解码表名(即ACARS事件名)与下行报文对象。
本发明所述飞机有效号检查模块首先以解码表名与下行报文对象作为两个条件参数进行检查,若其中一个条件参数无效,则返回无效,并返回解码器主进程;若两个条件参数均有效,以解码表名与下行报文对象的飞机号属性作为两个输入参数,对位于模版定义模块中的EDUT配置清单与有效飞机号清单做以EDUT-ID为关联的一对一连接,得到一个结果集,若该结果集中的条目数量大于0,则表示该目标飞机号可触发EDUT配置清单中某一定义的EDUT配置,则返回有效,即该目标飞机为有效飞机号;否则,则返回无效,即该目标飞机为无效飞机号。
EDUT配置清单与有效飞机号清单是本发明后台的两个配置清单,是***管理员使用图8、图9所示的人机界面配置***后生成的两种后台数据。上行指令生成模块生成上行触发指令时会调用这两种后台数据。
EDUT配置清单:主要由模版、数据库约束和有效飞机号形成确定的触发条件(EDUT配置),多个触发条件的集合形成EDUT配置清单,每个触发条件具有唯一编号,即EDUT-ID。
有效飞机号是针对EDUT配置清单而言,清单中的每个条目都有一组有效飞机号(多架飞机),目标飞机号是上行触发指令最后确定的飞机号,即指令要发给哪架飞机,目标飞机号必须在有效飞机号列表中。
本发明所述数据库约束模块以解码表名、下行报文对象的报文ID属性和飞机号属性作为其编译过程的输入条件,以解码表名与下行报文对象的飞机号属性作为两个输入参数,对EDUT配置清单与有效飞机号清单做以EDUT-ID为关联的一对一连接,得到一个结果集,对该结果集中的每条记录循环执行,若EDUT配置清单中EDUT配置的数据库约束对当前的下行报文对象无抑制,则允许执行上行触发指令,所述数据库约束模块将下行报文对象的报文ID属性、时间戳属性、飞机号属性、航班号属性和解码表名送入上行指令生成模块;反之,则不执行上行触发指令,返回解码器主进程。
每个下行报文都被理解为一个唯一的对象,即下行报文对象。在高级计算机语言中,把复杂变量封装为“对象”是一种常用的技术方法。每个ACARS报文都有许多不同的属性,把这些属性封装在一起,组成一个可以被复用的整体,就是所述的下行报文对象(如果是上行报文,同样也可以做这种对象化处理)。该下行报文对象在解码器下行报文监听进程中被一次性对象化,在主进程中被多次重复使用。如果不对象化,每次主进程访问该下行报文就需要一次IO操作,在大量下行报文处理过程中势必消耗大量的IO资源,对象化之后所有的IO操作转换为内存操作,在大幅度降低IO开销的同时,大幅度提高了***处理速度与效率。
下行报文对象由“报文ID”或RAW_ID确定,RAW_ID是对下行报文的唯一性标识。解码器中每个下行报文都是唯一的,解码器下行报文监听进程会自动给每个报文分配一个唯一标识号,即RAW_ID,其由一个9位长正整数组成,即最大值为999999999。根据目前的统计,500架飞机的航空公司,每天大约有200000条ACARS下行报文,以此计算,RAW_ID达到最大值大约需要13年。即***的“生命周期”约为10年,下一生命周期的开始,RAW_ID将从1开始,以此循环。
本发明所述模版定义模块包括依次相连的触发事件定义子模块、定义更改类型子模块、模版编辑子模块、模版清单子模块和上行触发启停子模块,所述触发事件定义子模块用于定义触发事件(即为解码表名,确定模版与哪种事件有关联),所述触发事件是解码器接收到特定类型的下行报文时启动上行触发指令发送的事件;所述定义更改类型子模块定义4种更改类型,为触发一个新的由飞机实时生成的报文、触发一个飞机最后生成的报文、触发一个由机组/人工最后生成的报文和触发一个保存在机载非易失存储设备上的当前航段的简报;所述模版编辑子模块提供上行触发指令的基础编码格式、内嵌ATN网络控制符以及上行触发指令保留字或宏替换符;所述模版清单子模块用于***管理员操作完成触发事件、更改类型和模版的绑定,并设定上行触发启停逻辑,同时绑定有效飞机号,设定数据库约束;且***管理员可操作修订上行触发指令,以便实现更精细的上行触发指令配置;所述上行触发启停子模块用于事件启动,即当解码器收到当前航班第N个事件时才执行上行触发指令发送;当N为0时,旁通此条件;当解码器向当前航班发送上行触发指令的最大次数为0时,旁通此条件。
所有上行触发指令必须预定义,这是基于以下两个原因考虑的:
⑴上行触发指令的生成过程复杂,人工输入过程容易产生错误,导致上行失败;
⑵人工输入亦可能输入错误指令,导致无法触发所需下行信息。
上行触发指令的模版由具有资质的***管理员在后台预先定义,前端应用通过选择合适的模版发送正确的上行指令,以此避免上述两个容易产生错误的环节。
模版定义模块可根据不同类型机载设备的响应参数规范编制不同的模版,将机载设备响应参数嵌入其中,或触发包含不同参数的下行报文发送,或改变飞机已有ACARS报文发送逻辑,或造成不同效果的驾驶舱效应(如驾驶舱钟响警告,或驾驶舱警告灯亮,或在驾驶舱显示器(MCDU)上显示文本提示信息,或在驾驶舱打印机上输出文本内容),以提醒机组潜在危险的发生,以便机组做出预防性规避,为保障飞行安全创造主动条件。
本发明所述上行指令生成模块包括依次相连的模版读取子模块、模版解析子模块和上行指令输出子模块,所述模版读取子模块用于读取EDUT实例配置中的上行触发指令模版;所述模版解析子模块用于解析上行触发指令模版,生成完整的上行触发指令;所述上行指令输出子模块将上行触发指令写入上行报文缓冲池中,即输出上行触发指令至航空公司数据链网关接口。
在飞机有效号检查模块和数据库约束模块中分别得到结果集,结果集作为EDUT实例配置池。
本发明所述上行指令生成模块还包括依次相连的飞机有效号绑定子模块、日志维护子模块和实例状态维护子模块,所述飞机有效号绑定子模块用于对每条上行触发指令分配有效飞机号;所述日志维护子模块用于记录每条上行触发指令的执行结果,即每条下行报文是否触发上行触发指令,或哪条上行触发指令被哪条下行报文触发,触发的时间,触发的次数以及触发的目标飞机号等;所述实例状态维护子模块用于维护每条上行触发指令的触发过程以及当前的触发状态,这是因为一条上行指令不一定一次执行完成,实例状态维护子模块职守每条上行指令的执行过程,直至其执行完毕。用于多架飞机的下行报文可能满足多个上行触发指令的触发条件,且每条上行触发指令的执行周期不同(特别是需要多次执行时),实例状态维护模块会为每条执行中的上行触发指令分配一个实例,多个实例在后台组成一个池子的概念,即实例池。实例池中的每个实例的状态随着其被分配的上行触发指令的执行状态而更新,即什么时刻执行了触发,是否被抑制,当前是第几次触发,还剩几次触发,最多能执行几次触发等等。
本发明的第二个目的在于提供一种上述基于事件驱动的数据链上行触发装置的触发方法。
本发明的第二个目的通过以下的技术措施来实现:一种上述基于事件驱动的数据链上行触发装置的触发方法,其特征在于具体包括以下步骤:
⑴接收解码器解码目标飞机下行报文后的信息作为条件参数,若该条件参数有效,则该目标飞机为有效飞机号,若该条件参数无效,则该目标飞机为无效飞机号,并返回解码器主进程;
⑵编译数据库约束,若数据库约束对解码后的信息无抑制,则执行上行触发指令,若数据库约束对解码后的信息有抑制,则不执行上行触发指令,并返回解码器主进程;
⑶将目标飞机号植入预定义上行触发指令模版生成上行触发指令,否则,返回解码器主进程,生成的上行触发指令被缓存到上行报文缓冲池中,即将上行触发指令推送至航空公司数据链网关接口,再由航空公司数据链网关接口向目标飞机发送上行触发指令。
作为本发明的一种优选实施方式,在所述步骤⑴中,将解码表名与下行报文对象作为两个条件参数进行检查,若其中一个输入参数无效,则返回无效,并返回解码器的主进程;若两个输入参数均有效,以解码表名与下行报文对象的飞机号属性作为两个输入参数,对EDUT配置清单与有效飞机号清单做以EDUT-ID为关联的一对一连接,得到一个结果集,若该结果集中的条目数量大于0,则表示该目标飞机号可触发EDUT配置清单中某一定义的EDUT配置,返回有效,即该目标飞机为有效飞机号;否则,返回无效,即该目标飞机为无效飞机号。
作为本发明的一种优选实施方式,在所述步骤⑵中,以解码表名、下行报文对象的报文ID属性和飞机号属性作为其编译过程的输入条件,以解码表名与下行报文对象的飞机号属性作为两个输入参数,对EDUT配置清单与有效飞机号清单做以EDUT-ID为关联的一对一连接,得到一个结果集,对该结果集中的每条记录循环执行,若EDUT配置清单中EDUT配置的数据库约束对当前的下行报文对象无抑制,则允许执行上行触发指令;反之,则不执行上行触发指令,返回解码器主进程。
作为本发明的一种优选实施方式,在所述步骤⑶中,读取EDUT实例配置中的上行触发指令模版,解析上行触发指令模版,生成完整的上行触发指令,再将上行触发指令写入上行报文缓冲池中,即输出上行触发指令至航空公司数据链网关接口。
与现有技术相比,本发明具有如下显著的效果:
⑴本发明与现有地面人员根据飞机下行的信息,临时进行人工数据分析,再使用相应的软件工具向目标飞机发送上行指令的做法相比,具有保证作业需求的随机性、实时性与准确性的优点。
⑵本发明可实现AOC地面主机***根据飞机下行ACARS信息主动发送上行触发指令,以便获取更多的飞行参数,以此判断飞机即时的***状态,以便精确定位飞机的故障;本发明也可以触发飞机生成(传送)所需的数据,或产生相应的驾驶舱警告,以此满足应急情况下地面工程***获取更多的飞机实时状态参数需求,或警告机组潜在应急状态的发生,为保障飞行安全创造主动条件。
⑶本发明可动态改变飞机位置信息播报频率、根据飞机下行的故障代码或故障关键字触发ACMS(飞机状态监控***)的状态信息下行、根据飞机下行的故障代码或故障关键字触发飞机EICAS(发动机指示与机组警告***)维护页码信息下行、在飞行过程中自动触发机载信息***构型参数下行或者根据飞机下行的ACMS飞行过载状态参数自动上行机组警告信息等。
⑷本发明的模版定义模块可根据不同类型机载设备的响应参数规范编制不同的模版,将机载设备响应参数嵌入其中,或触发包含不同参数的下行报文发送,或改变飞机已有ACARS报文发送逻辑,或造成不同效果的驾驶舱效应(如驾驶舱钟响警告,或驾驶舱警告灯亮,或在驾驶舱显示器(MCDU)上显示文本提示信息,或在驾驶舱打印机上输出文本内容),以提醒机组潜在危险的发生,以便机组做出预防性规避,为保障飞行安全创造主动条件,拓宽***的适用性与灵活性。
⑸本发明嵌入在解码器与报文池的循环主进程中,在不破坏解码器主进程代码结构的前提下,具有良好的封装性与移植性。
附图说明
下面结合附图和具体实施例对本发明作进一步的详细说明。
图1是本发明的整体组成结构示意图;
图2是解码器主进程与本发明EDUT子进程的流程框图;
图3是本发明检查有效飞机号的流程框图;
图4是本发明编译数据库约束的流程框图;
图5是本发明触发事件定义的人机界面;
图6是本发明更改类型定义的人机界面;
图7是本发明模版编辑定义的人机界面;
图8是本发明模版清单定义的人机界面;
图8a是本发明上行触发启停逻辑界面;
图9是本发明某条上行触发指令配置有效飞机号的人机界面;
图10是本发明某条上行触发指令配置数据库约束的人机界面;
图11是本发明双向数据链示意图;
图12是解码器接口驱动EDUT主触发过程;
图13是本发明实例状态维护流程框图;
图14是本发明执行上行触发指令发送的流程框图;
图15是本发明分配本地ATN节点地址界面;
图16是本发明分配地-地传送优先级代码界面;
图17是本发明静寂时隙取值界面;
图18是驾驶舱主显示***界面。
具体实施方式
如图1所示,是本发明一种基于事件驱动的数据链上行触发装置,它嵌入在AOC地面应用***用于下行报文解码的解码器中,且处于解码器主进程中,即***到解码器与报文池的循环主进程中,解码器是任何ACARS地面数据处理***的必需设备,通用ACARS报文解码模块为该解码器的基本功能。
基于事件驱动的数据链上行触发装置包括:
飞机有效号检查模块,用于检查有效飞机号;
数据库约束模块,用于编译数据库约束;
模版定义模块,用于预定义上行触发指令模版;
上行指令生成模块,用于将目标飞机号植入上行触发指令模版生成上行触发指令,并将其缓存至上行报文缓冲池中,即将上行触发指令推送至航空公司数据链网关接口,再由航空公司数据链网关接口向目标飞机发送上行触发指令;
飞机有效号检查模块、数据库约束模块和上行指令生成模块依次连接,模版定义模块独立于本发明EDUT进程之外,由管理员干预完成,模版定义模块和上行指令生成模块相连;飞机有效号检查模块接收目标飞机下行报文解码后的信息作为条件参数,若该条件参数有效,则该目标飞机为有效飞机号,并将解码后的信息输出至数据库约束模块,若该条件参数无效,则该目标飞机为无效飞机号,并返回解码器主进程;数据库约束模块编译数据库约束,若数据库约束对解码后的信息无抑制,则执行上行触发指令,若数据库约束对解码后的信息有抑制,则不执行上行触发指令,并返回解码器主进程;模版定义模块预定义上行触发指令模版,上行指令生成模块将目标飞机号植入上行触发指令模版生成上行触发指令,否则,返回解码器主进程,生成的上行触发指令被缓存到上行报文缓冲池中,即将上行触发指令推送至航空公司数据链网关接口,再由航空公司数据链网关接口向目标飞机发送上行触发指令。
上行触发指令用于动态改变飞机位置信息播报频率、根据飞机下行的故障代码或故障关键字触发ACMS(飞机状态监控***)状态信息下行、根据飞机下行的故障代码或故障关键字触发飞机EICAS(发动机指示与机组警告***)维护页码信息下行、在飞行过程中自动触发机载信息***构型参数下行,或者根据飞机下行的ACMS飞行过载状态参数,自动上行机组警告信息。
解码器主进程不间断地扫描由ACARS网关推送到解码器服务器上的下行报文池,期间,主进程将每个下行报文封装为对象结构作为下行报文对象,下行报文对象包括报文ID、报文时间戳、飞机号、航班号和报文内容这5种属性。
经ACARS报文解析子进程后输出解码表名(即ACARS事件名)。条件参数为解码表名与下行报文对象,解码表名与下行报文对象作为两个条件参数输入飞机有效号检查模块,即进入EDUT子进程。
如图2所示,在EDUT子进程中,顺序完成检查有效飞机号,编译数据库约束,启动EDUT主触发过程等任务,若其中任何一个任务失败,则EDUT子进程自动返回解码器主进程,否则,进入EDUT主触发过程。
如图3所示,飞机有效号检查模块首先以解码表名与报文对象作为两个条件参数进行检查,若其中一个条件参数无效,则返回无效,并返回解码器主进程;若两个条件参数均有效,以解码表名与报文对象的飞机号属性作为两个输入参数,对位于模版定义模块中的EDUT配置清单与有效飞机号清单做以EDUT-ID为关联的一对一连接,得到一个结果集,若该结果集中的条目数量大于0,则表示该目标飞机号可触发EDUT配置清单中某一定义的EDUT配置,则返回有效,即该目标飞机为有效飞机号;否则,返回无效,即该目标飞机为无效飞机号。
如图4所示,数据库约束模块以解码表名、下行报文对象的报文ID属性和飞机号属性作为其编译过程的输入条件,以解码表名与下行报文对象的飞机号属性作为两个输入参数,对EDUT配置清单与有效飞机号清单做以EDUT-ID为关联的一对一连接,得到一个结果集,对该结果集中的每条记录循环执行,若EDUT配置清单中EDUT配置的数据库约束对当前的下行报文对象无抑制,则允许执行上行触发指令,数据库约束模块将下行报文对象的报文ID属性、时间戳属性、飞机号属性、航班号属性和解码表名送入上行指令生成模块;反之,则不执行上行触发指令,返回解码器主进程。
每个EDUT配置都有可能有数据库约束,每个ACARS报文的内容都是唯一的,因此,解码器(前台)收到任何一个ACARS报文都必须对其数据库约束进行动态解析,并将解析结果保存在数据库中,并作为输入条件之一启动EDUT主触发过程。
对结果集中的每条记录循环执行:为了适应ACARS下行报文的多态性,即每个ACARS下行报文都可能触发多个上行触发指令,引入具有唯一约束条件(RAW_ID,即报文ID号)的数据库约束宏替换操作。
(1)对结果集中每条记录的EDU_DBPARMCONST_CPL字段进行报文ID宏替换,将{RAW_ID}替换为报文ID的参数值。
(2)将宏替换后的EDU_DBPARMCONST_CPL字段内容保存在数据库中。
(3)将宏替换后的EDU_DBPARMCONST_CPL字段内容送入数据库执行。
(4)将执行后的结果EDU_DBPARMCONST_VLU保存在数据库中。
最后,形成如下数据库约束实例表:
(表1)
其中,EDU_DBPARMCONST_VLU>=1,表示该EDUT配置(由EDU_ID确定)中的数据库约束对当前下行的ACARS报文(由“报文ID”或RAW_ID确定)无抑制,即允许执行EDUT上行触发;否则,抑制,不执行EDUT上行触发。
如图5~10所示,模版定义模块包括依次连接的触发事件定义子模块、定义更改类型子模块、模版编辑子模块、模版清单子模块和上行触发启停子模块,触发事件定义子模块用于定义触发事件,触发事件是解码器接收到特定类型的下行报文时启动上行触发指令发送的事件;定义更改类型子模块定义4种更改类型,为触发一个新的由飞机实时生成的报文、触发一个飞机最后生成的报文、触发一个由机组/人工最后生成的报文和触发一个保存在机载非易失存储设备上的当前航段的简报;模版编辑子模块提供上行触发指令的基础编码格式、内嵌ATN网络控制符以及上行触发指令保留字或宏替换符;模版清单子模块用于***管理员操作完成触发事件、更改类型和模版的绑定,并设定上行触发启停逻辑,同时绑定有效飞机号,设定数据库约束,同时***管理员可操作修订上行触发指令以实现更精细的上行触发指令配置;上行触发启停子模块用于事件启动,即当解码器收到当前航班第N个事件时才执行上行触发指令发送;当N为0时,旁通此条件;当解码器向当前航班发送上行触发指令的最大次数为0时,旁通此条件。
如图5所示,触发事件定义子模块的具体工作过程如下:
触发事件(EDUT Event)是指解码器接收到特定类型的ACARS报文时启动EDUT上行触发指令发送的事件,如:解码器收到下行飞机故障报文时发送上行触发指令触发某种ACMS报文的下行;收到飞机下行起飞报文时触发上行触发指令获取引气***的EICAS维护页面报文下行;收到飞机下行位置报文时发送上行触发指令获取发动机滑油状态报文下行等。
由于不同航空公司执管的飞机型号不同,电子设备也存在差异,ACARS报文的种类与结构可能不同,因此其个性化需求以及解码器的解码能力也是不同的。因此,本发明对EDUT Event的定义是开放的,并没有将飞机所有下行报文与上行触发指令进行绑定,而是提供了一种通用的配置接口,由实际用户根据自身的需求或解码器的解码能力自主完成配置。下面提供部分EDUT Event定义的样本:
(表2)
如图6所示,定义更改类型子模块的具体工作过程如下:
一个ACARS报文的生成或更改(Modify),在机载***中的生成由多种条件决定,EDUT发送不同的指令获取不同条件下生成的报文。本发明定义了以下4种条件,称为EDUTModifier(更改类型)。
(表3)
如图7和8所示,模版编辑子模块和模版清单子模块的具体工作过程如下:
EDUT模版提供上行触发指令的基础编码格式,内嵌ATN网络控制符以及其他必须的上行指令保留字或宏替换符,其中包括:
(表4)
与EDUT Event(触发事件)的定义类似,本发明并没有将飞机所有下行报文与上行触发指令进行绑定,而是提供了一种通用的配置接口,由实际用户根据自身的需求或解码器的解码能力自主完成配置。
以下给出一个完整的EDUT模版样本及其解释:
(表5)
以下给出已定义的部分EDUT模版及其解释:
(表6)
上行触发启停子模块的具体工作过程如下,如图8a所示,图中,Event StartOffset表示解码器收到当前航班EDUT Event第N个事件才执行上行指令发送;当N为0时,旁通此条件;Maximum Uplinks表示当解码器向当前航班发送上行触发指令的最大次数为0时,旁通此条件。
举例说明:
Event Start Offset=1,Maximum Uplink=1时,当解码器收到第一个EDUTEvent时开始发送上行指令,本航班最多发送一次。
如图9所示,有效飞机号的确定:并不是每个上行触发指令配置都适合所有飞机,因此,每个上行触发指令都有试用的有效飞机。本发明提供针对每一条上行指令有效飞机号的独立配置方法。
如图10所示,数据库约束的确定:每个EDUT Event都可能具有不同的参数特征,每个飞机的位置报事件可能具有不同的航班号、不同的高度、不同的速度、机载剩余燃油、预达时刻,数据库约束是为了区分同一种EDUT Event的不同参数,以便发送不同场景时的上行指令。本发明提供二次编程接口,***管理员可在此编辑复杂的SQL字句,以便识别EDUTEvent中的参数条件。
如:
SELECT DECODE(FLIGHTNO,NULL,0,DECODE(FLIGHTNO,'CZ0303',1,0))
FROM AOC_A83POS_B787WHERE RAW_ID={RAW_ID}
即:当B787飞机位置报(AOC_A83POS_B787)事件中的航班号有效,且等于CZ0303时,执行上行触发指令的发送。
其中:RAW_ID={RAW_ID}字句表示该位置报为解码器收到的当前位置报。为必须保留字。如果缺少此保留字,***以错误配置给出警告。
上行触发指令生成的具体过程如下:
如图11所示,EDUT上行指令的生成,以***服务的形式存在于后台。飞机下行的数据通过下行数据链由数据服务商(DSP)转播到航空公司数据链网关,通过企业内网安全连接的文件推送***传送到解码服务器上的下行报文缓冲池中。解码服务器上的解码器主控伺服程序(Decoder)根据下行报文的属性与数据库服务器中的设定参数交互,生成EDUT上行指令,以上行报文的形式缓存在上行报文缓冲池中,再通过企业内网安全连接的文件推送***传送到航空公司数据链网关,与ATN网络接口,由DSP上行至目标飞机。
如图12所示,上行指令生成模块包括依次相连的飞机有效号绑定子模块、日志维护子模块和实例状态维护子模块,飞机有效号绑定子模块用于对每条上行触发指令分配有效飞机号;日志维护子模块用于记录每条上行触发指令的执行结果;实例状态维护子模块用于维护每条上行触发指令的触发过程以及当前的触发状态。
解码器接口驱动EDUT主触发过程:该过程由两个子过程串行完成,㈠解码器接口向EDUT上行指令生成主控程序输入参数,主控程序完成对飞机有效号、数据库约束条件的检查,即上行有效性检查,该过程在解码器内部由接口模块实现。有效性检查失败,则退出,否则,进入㈡EDUT日志维护过程。
解码器接口程序将下行的ACARS报文封装为包含报文ID、报文时间戳、飞机号、航班号、报文内容等属性的对象作为下行报文对象,同时将解码表名一同送入EDUT上行指令生成主控程序。解码表名与事件名相同,一个下行ACARS报文在飞机上生成(无论是自动生成或是人工生成)均由某一特定飞行事件触发;解码器对一个ACARS报文成功解析,解析后的数据被保存在数据库表中,这就意味着触发该报文的事件在***中的确立。
EDUT日志是以飞机号和解码表名为唯一约束条件的数据库表,其记录***上行触发指令的目标飞机号、航班号、开始触发此上行触发指令的下行ACARS报文解码表名、报文ID、时间戳、上行触发指令的发送次数以及当前触发此上行触发指令的下行ACARS报文ID(其时间戳可通过反查解码数据库获取)。
在EDUT日志维护过程中,若给定飞机号和解码表名的日志记录不存在,则在日志中创建新的日志记录,并绑定上述属性;若存在,则更新上述属性,同时标记出当前触发状态标识(即为当前航班上被首次执行的EDUT事件或当前航班上被重复执行的EDUT事件)。新创建的触发器(2)或更新后的触发器(1)日志记录作为输入条件启动EDUT实例状态维护过程。
如图13所示,EDUT实例状态维护过程由EDUT实例状态维护机(下称实例维护机)子程序实现。实例维护机对EDUT配置清单中符合此报文条件的每条记录,执行:根据当前触发状态标识(该标识给出EDUT配置是否允许在同一航班上被多次执行)判断,如果是首次执行,则直接执行上行触发指令的发送;否则,***检查上行门限抑制逻辑,若上行未被抑制,则执行上行触发指令的发送后触发计数器+1,否则不执行上行触发指令的发送。
上行门限抑制:上行门限抑制逻辑考虑到满足以下条件:
(1)上行启停逻辑检查
当前航班的下行ACARS事件计数器(p_EVT_COUNT)必须大于等于***设定的偏置数+1(即i_EVENT_STARTOFFSET+1,当i_EVENT_STARTOFFSET=0时,无偏置限制),即***收到第i_EVENT_STARTOFFSET个ACARS报文后才可能发送上行触发指令。
(2)触发上限次数检查
若已执行的上行触发此时达到了***设定的最大触发次数(i_MAX_UPLINK),则***停止对当前航班的触发。
(3)数据库约束检查
数据库约束检查过程返回参数ii_EDU_DBPARMCONST_VLU必须大于等于1,***才可能发送上行触发指令。
以上三个条件联立为逻辑真时,***执行上行触发指令发送,即:
(表7)
否则,***向***管理员返回如下错误信息:
(表8)
更新EDUT实例池:
EDUT实例池由两个***表组成(EDU_INSTANCE表与EDU_INSTANCE_HIS表),其中:
(1)EDU_INSTANCE表保存由当前ACARS下行报文事件触发的EDUT配置清单中的同名事件实例,其标志出当前ACARS下行报文事件触发某一条EDUT配置的具体情况,其中包括:
(1.1)下行ACARS事件名(或解码表名)(EVENT);
(1.2)上行触发目标飞机号(ACNO)、航班号(FLIGHTNO)、时间戳(TIMESTAMP);
(1.3)上行启停门限;
(1.4)上行指令模版及其正文;
(1.5)数据库约束条件;
(1.6)以及每次该配置被执行的结果。
EDUT实例池中的参数决定执行上行指令发送是当前触发状态标识的判断结果。
⑵EDU_INSTANCE_HIS记录EDU_INSTANCE的历史数据,每次下行ACARS事件更新EDU_INSTANCE时,EDU_INSTANCE_HIS中的记录被自动维护,***管理员可在EDU_INSTANCE_HIS中获得每次上行指令被执行的状态。
执行上行触发指令的发送:如图14~17所示,上行指令生成模块还包括依次相连的模版读取子模块、模版解析子模块和上行指令输出子模块,模版读取子模块用于读取EDUT实例配置中的上行触发指令模版;模版解析子模块用于解析上行触发指令模版,生成完整的上行触发指令;上行指令输出子模块将上行触发指令写入上行报文缓冲池中,即输出上行触发指令至航空公司数据链网关接口。
模版读取子模块首先读取EDUT配置清单中的上行触发指令模版,模版解析子模块完成上行触发指令模版的解析,生成完整的上行触发指令,并由上行指令输出子模块缓存到上行报文缓冲池中,即被推送到航空公司数据链网关接口,由网关接口完成上行报文向目标飞机的发送。
其中,模版解析子模块解析上行指令模版的过程如下:
如图15所示,分配本地ATN节点地址(Local ATN Address):本地ATN节点地址是由ATN数据运营商(DSP)随航空公司数据链网关接口装置安装部署时分配的一个七位丁字母的地址码,形如CANXMCZ、DDLXCXA等。对于每个数据链网关接口装置,该地址码是唯一的。本发明中,ATN节点地址作为***配置参数保存在***后台,解析上行指令过程中由***自动读入。
如图16所示,分配地-地(TypeB)传送优先级代码:
ACARS报文的传送由两个过程组成:空到地传送(空-地传送)与地到地传送(地-地传送,遵循TypeB(ATA/IATA标准)编码规范),目前,根据ARINC620基础协议[ARINC6203.2.1],TypeB使用两字代码QU标识消息的以队列优先级进行传送。在本发明中,QU以后台配置参数的形式保存,管理员可更改,***解析上行指令过程中由自动读入。但目前,ARINC620TypeB消息格式仅支持QU。
分配上行目标飞机号:上行目标飞机号由客户端应用程序传入,***将模版中的<TARGET_ACNO>或{ACNO}保留字替换为传入的飞机号。
分配上行时间戳:根据ARINC620协议标准,上行触发指令必须携带时间戳信息,在本发明中,时间戳使用服务器***时间对应的UTC时间(格式DDHHMM–日日时时分分)。时间戳嵌入在上行报文头部<MSG_TIMESTAMP>。
获取ATN路由节点状态:ATN路由节点是一张跟随飞机下行ACARS报文动态更新且由***自动维护的表,其中包含四个与ATN网络接入有关的关键信息:飞机号(ACNO)、航班号(FLIGHTNO)、DSP地址(DSP_ADDRESS)和下行时间戳(DL_TIMESTAMP),路由节点状态表,如下:
(表9)
根据ARINC620协议标准,不同的DSP_ADDRESS表示飞机最后一个ACARS下行报文由哪个数据供应商(DSP)提供,上行报文亦必须由该DSP承担,且上行时间戳(MSG_TIMESTAMP)不得早于最后一个下行时间戳(DL_TIMESTAMP),因为***无法预知飞机在下一个时刻可能的DSP_ADDRESS。同时,如果一架飞机在ATN路由节点状态表中的状态长时间不更新(如:DL_TIMESTAMP长时间保持不变),则意味着飞机已停场许久或与ACARS网络失去联系。为了防止过期指令的上行,本发明中将此时隙定义为静寂时隙(以变量ii_MSG_Delay表示),静寂时隙是一个在后台管理员可配置的变量。
不同DSP对静寂时隙的取值不一定相同,甚至有的DSP对静寂时隙无任何约束。本发明中,ii_MSG_Delay应小于所有DSP静寂时隙的最小值min_MSG_Delay。但实际运行中,min_MSG_Delay往往难以获知,且难以保证服务器时间MSG_TIMESTAMP与UTC严格一致,因此,通常情况下ii_MSG_Delay可取一个很大的数值。
如图17所示,在这种情况下,如果MSG_TIMESTAMP-DL_TIMESTAMP大于某DSP的静寂时隙,DSP将自动向上行报文发送者返回message too old的信息。
在本发明中,若以上条件不满足:
MSG_TIMESTAMP-DL_TIMESTAMP大于ii_MSG_Delay或MSG_TIMESTAMP-DL_TIMESTAMP小于0,***将给出的错误提示信息,并拒绝发送上行触发指令:
Downlinked message is too old,message expired over then<ii_MSG_Delay)>min,System rejected to Create the EDU for<ACNO>
Where CurrentTimeSpam=<ii_CurrentTimeSpam>
UplinkTimeStamp=<MSG_TIMESTAMP>
TimeSpamDelay=<MSG_TIMESTAMP-DL_TIMESTAMP>min
其中:
(1)ii_CurrentTimeSpam表示***当前的时间戳(UTC时间)与MSG_TIMESTAMP之间的时隙,由***内部延时产生;
(2)尖括号“<>”中的参数为***计算变量
生成完整的上行触发指令:以上条件全部满足之后,上行触发指令模版中所有的宏替换符将被替换为实参,如:
QU BJSXCXA
.CSNXMCZ 181619
CMD
AN B-6058
-EDUT COMMAND IN HERE└
写入上行报文缓冲池:完整的上行触发指令被写入上行报文缓冲池,由DSP投递向目标飞机。
本发明的用途如下:
1、动态改变飞机位置信息播报频率
MH370事件后,中国民航CAAC新规《航空承运人航空器追踪监控实施指南》(AC-121-FS-2016-127),要求承运人(即航空公司)以15分钟或更短周期实施航空器追踪,本发明可根据飞机下行ACARS报文中的航班信息或航线地理边界信息、机载设备故障信息与发动机性能状态信息主动上行触发指令,任意调整飞机位置信息播报频率,在经济性与安全性两个纬度同时满足民航法规(下称灵活位置报)。
(1)对于大型航空公司,灵活位置报直接造成新的通讯资费成本增加。国内航线(或国际航线的国内部分)可使用二次雷达(SSR)提供秒级位置跟踪,但由于国际航线部分的二次雷达数据难以为国内航空公司获取,本发明可根据ACARS下行数据中的航班号(区别国际航班号与国内航班号)属性,主动上行触发指令,动态调整其ACARS位置报下行时间间隔;或者根据飞机位当前位置所处地理边界信息或飞行轨迹趋势(内置导航数据库辅助)识别地理敏感区域、主动上行触发指令、动态调整其ACARS位置报下行时间间隔。以此在节省数据传送资费的同时,满足民航法规要求,保障飞行安全。
(2)本发明可根据飞机下行故障信息的不同等级,主动上行触发指令,动态调整其ACARS位置报下行时间间隔。飞机飞行过程中实时产生的故障信息亦通过ACARS数据链向地面***自动播报,航空公司的维修工程***对不同等级的故障信息采取不同的关注策略,本发明可预先定制不同等级的故障信息警告策略与知识库,当收到特别关注的故障信息时,主动上行触发指令,减小其ACARS位置报下行时间间隔,紧密关注飞行动态,保障飞行安全。
(3)本发明可根据飞机发动机状态信息(一种ACMS信息)中关键***参数门限,主动上行触发指令,动态调整其ACARS位置报下行时间间隔。与飞机***的故障信息类似,发动机状态信息亦通过ACARS实时传送到地面***;与飞机***的故障信息不同,发动机状态信息是可计算的数值参数,本发明后台建立大数据分析过程,当飞机实时传送的发动机状态参数达到超差门限,或其达到地面***的趋势分析门限后,主动上行触发指令,减小其ACARS位置报下行时间间隔,紧密关注飞行动态,保障飞行安全。
2、自动上行指令触发飞机ACMS状态信息下行
ACMS(飞机状态监控***)是一种嵌入在机载飞行数据管理(FDM)***中的子***。工程部门对ACMS预编程,埋设各种逻辑与运算条件。飞行过程中,ACMS实时采集与运算飞行参数,满足条件后,ACMS生成状态监控报文(即ACMS报文,或ACMS信息等)并通过ACARS数据链下行到航空公司地面***,或临时保存在FDM的非易失存储设备中,可在航后由工程人员在驾驶舱打印输出或拷贝输出。但考虑到ACMS的实时运算能力,以及ACARS实时传送的成本与带宽限制,实时传送的ACMS信息不可能太多。本发明可根据飞机中央维护***(CMCS)生成并实时传送的故障信息,主动上行触发指令,将临时存储在FDM非易失存储设备中的ACMS报文(AUTO,或令ACMS立即进行实时数据采集/运算,生成实时状态下的ACMS报文(REAL),下行传送到地面***。以此在保证关键ACMS信息实时获取的同时,减少大量ACMS报文实时传送的成本。
3、自动上行指令触发飞机EICAS页面信息下行
EICAS–发动机指示与机组警告***,飞机产生故障时,EICAS是飞行机组获得驾驶舱警告信息的主要人机界面,其中,EICAS显示器上的维护页面(下称EICAS维护页面),给出各个关键***的***参数显示,如空调、引气、燃油、液压、电源等等,如图18所示。
在本发明中,可根据飞机中央维护***的故障信息关键字,主动上行触发指令,将不同时刻的EICAS维护页面内容以文本格式传送到地面***,是地面工程***与同步感知驾驶舱效应,获取关键***参数/信息,为远程飞行故障支援创造主动条件,如下表:
(表10)
4、在飞行过程中自动触发机载信息***构型参数下行
B787等新一代电子化客机,机载信息***构型参数及其复杂,且随飞机的维护过程动态变化,当飞机维护过程中,需要更换零部件时,维护人员亦必须根据每架飞机的最新构型参数对其电子***进行构型恢复,否则会因构型不匹配而直接或间接导致设备失效。传统手段对这些复杂参数的获取是每次做完维护工作
(如改装、串换件)后人工将整机(或相关***)的构型信息打印或拷贝复制,归档到企业后台的文件***,以供其他维护人员使用。传统的手段低效,且存在人为差错,漏拷、错拷时有发生。本发明可在飞机飞行的过程中主动上行触发指令,将其整机机载信息***构型参数触发生成并自动下行到航空公司地面***,大大提工作效率,杜绝人为差错。本发明中,使用EDUT“启停控制逻辑”,将上行触发指令的发送时刻绑定在飞机电子设备最不繁忙的时刻(如稳态巡航时,一般飞机起飞30分钟以后或更长时间,将触发时刻绑定到第若干个下行位置报时,按每个位置报间隔15分钟计算)启动上行触发指令发送,并限定仅触发1次(下次飞行仍然会被触发)。
5、自动上行机组警告信息
存在一些特殊的飞行事件,飞机的电子***不一定能够及时向机组给出警告,这些飞行事件往往是对飞机***具有潜在危害,有时甚至是严重的。例如,过载:飞行过程中遇到湍流,机身可能产生正向或负向过载;着陆过程中也可能因为天气或操作等原因产生着陆过载(称为重着陆),当机身***或电子设备未受到直接损坏时,这些事件并不产生任何驾驶舱警告(但事实上已经造成了潜在的***结构性损坏),而是完全依靠飞行人员的飞行经验与个体感觉决定是否向维护人员报告;再如,由于设计的原因,某些B737NG的空调***可能会在空中非指令性关闭其流量控制活门,且无任何驾驶舱警告,导致飞机进入(慢)释压状态,很可能直到座舱高度超过10000英尺后飞机进入危险状态才引发客舱高度警告响起,当机组发现故障的存在时,已进入紧急状态。
本发明可根据由ACMS实时生成的下行报文参数中的门限值(ACMS可实时采集并检测飞行参数以判断这些特殊飞行事件的存在),设定相应的上行模版,向机组推送驾驶舱警告,或形成驾驶舱音响警告(叮咚),或从机载打印机输出,或显示在驾驶舱显示器上,达到立即提醒机组,采取果断的行动,避免潜在的次生危险发生的目的。
本发明的实施方式不限于此,根据本发明的上述内容,按照本领域的普通技术知识和惯用手段,本发明还可以做出其它多种形式的修改、替换或变更,均落在本发明权利保护范围之内。
Claims (10)
1.一种基于事件驱动的数据链上行触发装置,它嵌入在AOC地面应用***用于解码下行报文的解码器中,且处于解码器主进程中,其特征在于:所述基于事件驱动的数据链上行触发装置包括:
飞机有效号检查模块,用于检查有效飞机号;
数据库约束模块,用于编译数据库约束;
模版定义模块,用于预定义上行触发指令模版;
上行指令生成模块,用于将目标飞机号植入上行触发指令模版生成上行触发指令,并将其缓存至上行报文缓冲池中,随即将上行触发指令推送至航空公司数据链网关接口,再由航空公司数据链网关接口向目标飞机发送上行触发指令;
所述飞机有效号检查模块、所述数据库约束模块和所述上行指令生成模块依次连接,所述模版定义模块和所述上行指令生成模块相连;所述飞机有效号检查模块接收目标飞机下行报文解码后的信息作为条件参数,若该条件参数有效,则该目标飞机号为有效飞机号,并将解码后的信息输出至数据库约束模块,若该条件参数无效,则该目标飞机号为无效飞机号,并返回解码器主进程;所述数据库约束模块编译数据库约束,若数据库约束对解码后的信息无抑制,则执行上行触发指令,若数据库约束对解码后的信息有抑制,则不执行上行触发指令,并返回解码器主进程;所述模版定义模块预定义上行触发指令模版,所述上行指令生成模块将目标飞机号植入上行触发指令模版生成上行触发指令,否则,返回解码器主进程,生成的上行触发指令被缓存到上行报文缓冲池中,随即将上行触发指令推送至航空公司数据链网关接口,再由航空公司数据链网关接口向目标飞机发送上行触发指令。
2.根据权利要求1所述的基于事件驱动的数据链上行触发装置,其特征在于:所述解码器主进程将每个下行报文封装为对象结构成为下行报文对象,所述下行报文对象包括报文ID、报文时间戳、飞机号、航班号和报文内容这5种属性;所述条件参数为解码表名与下行报文对象。
3.根据权利要求2所述的基于事件驱动的数据链上行触发装置,其特征在于:所述飞机有效号检查模块首先以解码表名与下行报文对象作为两个条件参数进行检查,若其中一个条件参数无效,则返回无效,并返回解码器主进程;若两个条件参数均有效,以解码表名与下行报文对象的飞机号属性作为两个输入参数,对位于模版定义模块中的EDUT配置清单与有效飞机号清单做以EDUT-ID为关联的一对一连接,得到一个结果集,若该结果集中的条目数量大于0,则表示该目标飞机号可触发EDUT配置清单中某一或某些定义的EDUT配置,则返回有效,即该目标飞机号为有效飞机号;否则,则返回无效,即该目标飞机号为无效飞机号;所述EDUT配置清单包括由模版、数据库约束和有效飞机号形成确定的触发条件,多个触发条件的集合形成EDUT配置清单,每个触发条件具有唯一编号,即EDUT-ID。
4.根据权利要求3所述的基于事件驱动的数据链上行触发装置,其特征在于:所述数据库约束模块以解码表名、下行报文对象的报文ID属性和飞机号属性作为其编译过程的输入条件,以解码表名与下行报文对象的飞机号属性作为两个输入参数,对EDUT配置清单与有效飞机号清单做以EDUT-ID为关联的一对一连接,得到一个结果集,对该结果集中的每条记录循环执行,若EDUT配置清单中EDUT配置的数据库约束对当前的下行报文对象无抑制,则允许执行上行触发指令,所述数据库约束模块将下行报文对象的报文ID属性、时间戳属性、飞机号属性、航班号属性和解码表名送入上行指令生成模块;反之,则不执行上行触发指令,返回解码器主进程。
5.根据权利要求4所述的基于事件驱动的数据链上行触发装置,其特征在于:所述模版定义模块包括依次相连的触发事件定义子模块、定义更改类型子模块、模版编辑子模块、模版清单子模块和上行触发启停子模块,所述触发事件定义子模块用于定义触发事件,所述触发事件是解码器接收到特定类型的下行报文时启动上行触发指令发送的事件;所述定义更改类型子模块定义4种更改类型,为触发一个新的由飞机实时生成的报文、触发一个飞机最后生成的报文、触发一个由机组/人工最后生成的报文和触发一个保存在机载非易失存储设备上的当前航段的简报;所述模版编辑子模块提供上行触发指令的基础编码格式、内嵌ATN网络控制符以及上行触发指令保留字或宏替换符;所述模版清单子模块用于***管理员操作完成触发事件、更改类型和模版的绑定,并设定上行触发启停逻辑,同时绑定有效飞机号,设定数据库约束,同时***管理员可操作修订上行触发指令;所述上行触发启停子模块用于事件启动,即当解码器收到当前航班第N个事件时才执行上行触发指令发送;当N为0时,旁通此条件;当解码器向当前航班发送上行触发指令的最大次数为0时,旁通此条件。
6.根据权利要求5所述的基于事件驱动的数据链上行触发装置,其特征在于:所述上行指令生成模块包括依次相连的模版读取子模块、模版解析子模块和上行指令输出子模块,所述模版读取子模块用于读取EDUT实例配置中的上行触发指令模版;所述模版解析子模块用于解析上行触发指令模版,生成完整的上行触发指令;所述上行指令输出子模块将上行触发指令写入上行报文缓冲池中,随即输出上行触发指令至航空公司数据链网关接口;所述上行指令生成模块还包括依次相连的飞机有效号绑定子模块、日志维护子模块和实例状态维护子模块,所述飞机有效号绑定子模块用于对每条上行触发指令分配有效飞机号;所述日志维护子模块用于记录每条上行触发指令的执行结果;所述实例状态维护子模块用于维护每条上行触发指令的触发过程以及当前的触发状态。
7.一种权利要求1所述的基于事件驱动的数据链上行触发装置的触发方法,其特征在于具体包括以下步骤:
⑴接收解码器解码目标飞机下行报文后的信息作为条件参数,若该条件参数有效,则该目标飞机号为有效飞机号,若该条件参数无效,则该目标飞机号为无效飞机号,并返回解码器主进程;
⑵编译数据库约束,若数据库约束对解码后的信息无抑制,则执行上行触发指令,若数据库约束对解码后的信息有抑制,则不执行上行触发指令,并返回解码器主进程;
⑶将目标飞机号植入预定义上行触发指令模版生成上行触发指令,否则,返回解码器主进程,生成的上行触发指令被缓存到上行报文缓冲池中,随即将上行触发指令推送至航空公司数据链网关接口,再由航空公司数据链网关接口向目标飞机发送上行触发指令。
8.根据权利要求7所述的触发方法,其特征在于:在所述步骤⑴中,将解码表名与下行报文对象作为两个条件参数进行检查,若其中一个输入参数无效,则返回无效,并返回解码器主进程;若两个输入参数均有效,以解码表名与下行报文对象的飞机号属性作为两个输入参数,对EDUT配置清单与有效飞机号清单做以EDUT-ID为关联的一对一连接,得到一个结果集,若该结果集中的条目数量大于0,则表示该目标飞机号可触发EDUT配置清单中某一定义的EDUT配置,返回有效,即该目标飞机为有效飞机号;否则,返回无效,即该目标飞机为无效飞机号;所述EDUT配置清单包括由模版、数据库约束和有效飞机号形成确定的触发条件,多个触发条件的集合形成EDUT配置清单,每个触发条件具有唯一编号,即EDUT-ID。
9.根据权利要求8所述的触发方法,其特征在于:在所述步骤⑵中,以解码表名、下行报文对象的报文ID属性和飞机号属性作为其编译过程的输入条件,以解码表名与下行报文对象的飞机号属性作为两个输入参数,对EDUT配置清单与有效飞机号清单做以EDUT-ID为关联的一对一连接,得到一个结果集,对该结果集中的每条记录循环执行,若EDUT配置清单中EDUT配置的数据库约束对当前的下行报文对象无抑制,则允许执行上行触发指令;反之,则不执行上行触发指令,返回解码器主进程。
10.根据权利要求9所述的触发方法,其特征在于:在所述步骤⑶中,读取EDUT实例配置中的上行触发指令模版,解析上行触发指令模版,生成完整的上行触发指令,再将上行触发指令写入上行报文缓冲池中,随即输出上行触发指令至航空公司数据链网关接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710610774.XA CN107517076B (zh) | 2017-07-25 | 2017-07-25 | 一种基于事件驱动的数据链上行触发装置及其触发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710610774.XA CN107517076B (zh) | 2017-07-25 | 2017-07-25 | 一种基于事件驱动的数据链上行触发装置及其触发方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107517076A CN107517076A (zh) | 2017-12-26 |
CN107517076B true CN107517076B (zh) | 2020-07-24 |
Family
ID=60722641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710610774.XA Active CN107517076B (zh) | 2017-07-25 | 2017-07-25 | 一种基于事件驱动的数据链上行触发装置及其触发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107517076B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109685933A (zh) * | 2018-12-12 | 2019-04-26 | 中国航空工业集团公司西安航空计算技术研究所 | 一种飞机状态监控的客户化事件和参数逻辑定义方法 |
CN109471448A (zh) * | 2018-12-27 | 2019-03-15 | 西北工业大学 | 一种基于事件驱动的柔性航天器姿态控制方法 |
CN110428830B (zh) * | 2019-07-17 | 2021-09-21 | 上海麦图信息科技有限公司 | 一种基于正则表达式的空管指令意图识别方法 |
CN110430182B (zh) * | 2019-07-30 | 2021-07-27 | 北京恒赢智航科技有限公司 | 飞机通信寻址与报告的数据传输***及其应用方法 |
CN111315008B (zh) * | 2020-02-18 | 2022-03-08 | 东南大学 | 一种控制站与移动站的通信时序设置方法 |
CN113593076A (zh) * | 2021-06-09 | 2021-11-02 | 广州飞机维修工程有限公司 | 飞机报文可视化***及方法 |
CN115373791B (zh) * | 2022-10-25 | 2022-12-30 | 北京航天驭星科技有限公司 | 一种航天器自动化遥控作业的编制方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1571299A (zh) * | 2004-04-28 | 2005-01-26 | 王海芳 | 一种基于公众移动通信网络实现航空通信的***及方法 |
CN1622520A (zh) * | 2003-11-24 | 2005-06-01 | 北京航空航天大学 | Cns/atm管制工作站及其管制方法 |
CN101048999A (zh) * | 2004-08-31 | 2007-10-03 | 霍尼韦尔国际公司 | 通过tcp/ip数据通信链路发送航空通信寻址和报告***消息的***和方法 |
CN101261772A (zh) * | 2008-04-17 | 2008-09-10 | 民航数据通信有限责任公司 | 广播式自动相关监视信息安全传输*** |
CN102201852A (zh) * | 2010-03-22 | 2011-09-28 | 空中客车运营事务 | 在飞机和地面站之间通信的方法 |
CN103139165A (zh) * | 2011-11-30 | 2013-06-05 | 中国民航大学 | 针对acars数据链的实体伪装攻击渗透测试方法 |
CN104246640A (zh) * | 2011-09-30 | 2014-12-24 | 洛克希德马丁公司 | 用于动态空中交通轨迹同步的方法和设备 |
CN104803009A (zh) * | 2015-04-27 | 2015-07-29 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种无人机地面综合检测***及方法 |
CN105843906A (zh) * | 2016-03-23 | 2016-08-10 | 中国商用飞机有限责任公司 | 一种用于飞机实时空地数据的收发和处理的*** |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9626872B2 (en) * | 2010-04-30 | 2017-04-18 | Honeywell International Inc. | Enhanced flight crew display for supporting multiple controller/pilot data link communications (CPDLC) versions |
US8965335B2 (en) * | 2012-01-18 | 2015-02-24 | Steven Leo Company | Detector of uplink frequencies with feedback |
US9472106B2 (en) * | 2014-09-30 | 2016-10-18 | The Boeing Company | Automated flight object procedure selection system |
-
2017
- 2017-07-25 CN CN201710610774.XA patent/CN107517076B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1622520A (zh) * | 2003-11-24 | 2005-06-01 | 北京航空航天大学 | Cns/atm管制工作站及其管制方法 |
CN1571299A (zh) * | 2004-04-28 | 2005-01-26 | 王海芳 | 一种基于公众移动通信网络实现航空通信的***及方法 |
CN101048999A (zh) * | 2004-08-31 | 2007-10-03 | 霍尼韦尔国际公司 | 通过tcp/ip数据通信链路发送航空通信寻址和报告***消息的***和方法 |
CN101261772A (zh) * | 2008-04-17 | 2008-09-10 | 民航数据通信有限责任公司 | 广播式自动相关监视信息安全传输*** |
CN102201852A (zh) * | 2010-03-22 | 2011-09-28 | 空中客车运营事务 | 在飞机和地面站之间通信的方法 |
CN104246640A (zh) * | 2011-09-30 | 2014-12-24 | 洛克希德马丁公司 | 用于动态空中交通轨迹同步的方法和设备 |
CN103139165A (zh) * | 2011-11-30 | 2013-06-05 | 中国民航大学 | 针对acars数据链的实体伪装攻击渗透测试方法 |
CN104803009A (zh) * | 2015-04-27 | 2015-07-29 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种无人机地面综合检测***及方法 |
CN105843906A (zh) * | 2016-03-23 | 2016-08-10 | 中国商用飞机有限责任公司 | 一种用于飞机实时空地数据的收发和处理的*** |
Also Published As
Publication number | Publication date |
---|---|
CN107517076A (zh) | 2017-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107517076B (zh) | 一种基于事件驱动的数据链上行触发装置及其触发方法 | |
US9613536B1 (en) | Distributed flight management system | |
CN104899245B (zh) | 一种航班动态智能化实时播报方法 | |
US7069121B1 (en) | Computerized method for integration and facilitating single source access to user community messaging transport vehicle location status, vehicle maintenance requirement and service procedures | |
CN106910376B (zh) | 一种空中交通运行管制指令监控方法与*** | |
KR101425287B1 (ko) | 항공 관제 통합 시스템 | |
Ali et al. | ADS-B system failure modes and models | |
CN103138877A (zh) | 一种用于飞机通信寻址与报告***的报文解码方法和装置 | |
US20170279752A1 (en) | Aircraft Message Management System | |
Hayhurst et al. | Preliminary considerations for classifying hazards of unmanned aircraft systems | |
US20220406198A1 (en) | Collaborative space for managing flight plans | |
CN116488709B (zh) | 飞机acars报文生成、转换和传输的方法及装置 | |
CN107516438B (zh) | 灵活更改民航飞机位置信息播报频率的装置及其处理方法 | |
CN101674544A (zh) | 飞机信息实时短信监控***及方法 | |
Fowler et al. | 2020 Foresight—a Systems-Engineering Approach to Assessing the Safety of the SESAR Operational Concept | |
KR101417519B1 (ko) | 항공 관제 통합 시스템 | |
Wargo et al. | Performance of data link communications in surface management operations | |
Edwards et al. | Bow tie analysis of the effects of unmanned aircraft on air traffic control | |
Kozłowski et al. | Risk analysis in air transport telematics systems based on aircraft’s Airbus A320 accident | |
CN109040036A (zh) | 空管信息自动化***航迹目标发送aftn动态电报方法及*** | |
Hasson et al. | Boeing's safety assessment processes for commercial airplane designs | |
Gibson et al. | Failures in pilot-controller communications and their implications for datalink | |
Ancel et al. | Modeling increased complexity and the reliance on automation: FLightdeck Automation Problems (FLAP) model | |
Rakas et al. | Deterministic models for degraded airside capacity and delays | |
de Matos et al. | Using design patterns for safety assessment of integrated modular avionics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |