ITPub博客

首页 > 应用开发 > IT综合 > 川大主用ATC系统维护笔记(八)

川大主用ATC系统维护笔记(八)

原创 IT综合 作者:mi_zy 时间:2021-05-28 20:44:32 0 删除 编辑

1、这里显示的选择高度,和用于SFL告警的SelectedAltitude发现有时候是来自ADS-B的,有时候是来自S模式雷达(精度更高)的,需要改成只要S模式雷达有采用S模式雷达的,只有在S模式雷达没有该值时,才用来自ADS-B的。因为发现有的机型(川航A320)来自ADS-B的和来自S模式雷达的SelectedAltitude值不一样,有时差30多米(3600-3566=34米),管制是以S模式雷达为准。

2、2021年5月16号升级后fdoagent主备进程几乎每天后半夜分别异常退出,并自动重启,且不产生core文件。gdb ./fdoagent.linux跟踪发现有个处理字符串拷贝函数有些不太好,优化了一下,另外其它发送网络包的地方也优化了一下, 6月2号更换后OK。

3、自动分配SSR限制ZGSZ问题:完善fdp.linux,限制落地机场,排在第一个的能限制,后面由于程序逻辑问题限制未生效。已解决。fdp.linux:MD5: 502346C4F24873E65A6C6DD54C53DBE1

4、用"mii-tool -v bond0"命令查看到bond0的速率是10M,是因为bond0是逻辑设备用"mii-tool"命令是无法准确输出其信息的; 千兆的使用ethtool。( 实验室FDP-1主机使用WinSCP拷贝文件特别 慢(20-300k/s),在vSphere Web Client 关闭Fault Tolerance后正常  (40M/s),另将FT辅助虚拟机迁移到 与主态同型号CPU<Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz迁移到Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz>主机开始也正常,后测试又不正常了?还得是要关闭FT!

[root@FDP-1 ~]# mii-tool bond0

bond0: 10 Mbit, half duplex, link ok

[root@FDP-1 ~]# ethtool bond0

Settings for bond0:

        Speed: 10000Mb/s

        Duplex: Full

        Auto-negotiation: off

        Link detected: yes

5、gdb调试

[root@FDP-1 bin]# gdb fdp.linux  core.102090

(gdb) bt                    // backtrace: 查看函数调用信息(堆栈) 

(gdb) f 1                    // frame: 查看栈帧 f n 切换到编号为n的栈 

(gdb) p this-> 按2次键tab<即补全提示>       // print打印变量信息

(gdb) r                     // run: 运行程序,在断点处停止

(gdb) q                    // quit: 退出GDB

6、系统当前运行模式为StandBy时,蓝色预激活标牌,右键选择F-CTL,不会变成管制状态,当前模式切换为Master后可以。(川大设计如此, 当系统为备用系统模式时,系统不再主动设置控制扇等操作,以主用系统数据为准。)

7、 Receiver录取程序重启后,之前记录的数据就没了,已改成追加方式:dFile = open(self.filePath+dpath+fn,'ab'),文件打开模式a:以只追加可写模式打开文件,并将文件指针指向文件尾部;如果文件不存在则创建;b读写二进制文件(默认是t,表示文本),需要与上面几种模式搭配使用,如ab,wb。

8、FUTION(=MRT+ADS MRT)时,sdp.ini文件的[MARDP]段增加参数SelectedAltRadarKeeping,雷达信号多少秒钟未更新SelectedAltitude、SelectedQNH,如果ADS-B的SelectedAltitude或SelectedQNH不为空,以ADS-B的更新。但是对于SFL告警,MRT以从S模式雷达获取的 SelectedAltitude为准进行告警判断; ADS MRT以从 ADS-B获取的 SelectedAltitude为准进行告警判断;当“ MRT 或“ADS MRT ”任一SFL告警时, FUTION就有 SFL告警(由于 ADS MRT刷新快,这里 FUTION实际是以 ADS MRT产生的 SFL告警为准 。假如实现 FUTION只有在 没有S模式雷达 SelectedAltitude时,才采用 ADS MRT的 SFL告警,实现时逻辑上会引入其它问题。

9、点迹增加选择高度、选择QNH的解析。( 更新rdp/adp

10、假如计划边界点没有实际过点时间(只有预计过点时间),说明目标绕飞从别的“点”出区域,则增加判断飞出该“点”5分钟后才会结束。解决由于雷雨绕飞,出太原管制扇区位置(计划中显示为坐标点)不在边界点,该坐标点飞行距离边界点计算达到5分钟,该目标一出管制区立即去相关的问题。

11、更新fadp/frdp/smpc程序,解决SMPC抑制告警后还变红问题(抑制的雷达通道不管其状态的变化)。

12、aidc.ini中[AFTN]  [AIDC3]

ATCCode= ZBAA AIDCRcvAddress= ZBACADCT 需一致(ATCCode= ZBAC;AIDCRcvAddress= ZBACADCT),否者出现不自动回复ACP报等问题。

13、系统当前模式:StandBy时,可以进行移交( 包括C移交,可操作,但是状态不对),TAG/D-TAG,分扇,放大缩小,分配跑道,选择地图、危险区、限制区等操作,只是收到从Master态系统来的相关同步数据时会覆盖修改,即以最近修改为准。另, StandBy时,不会进行计划的预推“RTE”,接收 Master态的计划预推数据,假如“不同步计划时”导致SDD上相关计划的管制状态有问题。需增加离线参数,设置为不同步计划时, StandBy状态下也进行计划状态预推计算。

* 14、收到SITA-PLN-CNL报修改(fdoagent 进程完成) 计划“状态”为“取消"( “原则”: SITA报不修改“管制状态” ,所以就不影响 自动分配SSR,也不会释放SSR); 收到AFTN-CNL报 修改 (fdp进程完成)管制状态”为“ CNL”, 管制状态为“CNL”才会释放SSR,且不会自动分配SSR。目前假如某航班只收到 SITA-PLN-CNL报,没有 收到AFTN-CNL报,不会修改 “管制状态”为 “CNL”,此时,只能在SDD上人工修改(如在FDO上右键菜单 增加 手动 CNL功能,人为责任?)——这里需要 重点区 分“ 管制状态”和 “状态”的不同 fdp进程只有某计划的 “管制状态”字段,没有“状态”字段(所以fdp只能按照”管制状态“信息进行SSR分配逻辑判断)

——主要SITA报不是空管部门认可的AFTN报,直接拿来改自动化系统的计划动态有风险,要是能保证只要有SITA格式的CNL报,就一定有AFTN格式的CNL报,那就不成问题了。

15、 在FDD上 管制状态 ”为“CNL”或“FIN”状态的航班计划还会显示之前分配的SSR ,只是作为参考(不能作为重复分配SSR的判断依据),实际此航班这里显示的SSR已释放,也不会再自动分配。

16、SSR自动重复分配2次的问题。

1)fdp进程定期(20-30秒)清理回收SSR功能,检查处于已分配占用状态的SSR,遍历计划列表(不含FIN状态的计划),如果找不到计划, 认为SSR分配状态是Invalid的, 需将该SSR强制置“ Force Release”,并将 Assign count is置为[0],假如原先是 [2],也置为 [0],这里 还会引起重复分配问题只有这个 回收SSR功能函数 才会往日志记录 Force...Invalid关键字)为未分配状态,FDP日志记录“Force Release Invalid SSR:[A0055]”。

2)动态计划飞出区域5分钟后,将计划置为" FIN"状态,随后( 间隔时间 可能达数秒)执行 释放SSR操作,日志记录”Release SSR:[A0055] for Plan:[202107100325CCA4593ZBYCZGGG], Assign count is:[0]“

3)假如在 计划置为"FIN"状态,但还没有执行释放SSR操作期间,定期清理SSR函数开始 遍历计划列表( 不含FIN状态的计划),而该计划此时已经置为“FIN”状态,找不到计划,所以认为该SSR状态是 Invalid的,执行 Force Release ”操作“ Force Release Invalid SSR:[A0055]”( 找不到计划 Invalid 所以 日志记录没有航班号),由于SSR资源紧张,释放后立即自动分配给另一预激活状态的计划“Set SSR:[A0055] for Plan:[202107100405CGZ7228ZBYNZUYB], Assign count is: [1]

——然后置为"FIN"状态的计划,执行释放SSR操作“Release SSR:[A0055] for Plan:[202107100325CCA4593ZBYCZGGG], Assign count is: [0]”(这里 日志记录就有航班号 ,这次释放后也会再次 自动分配给另一预激活状态的计划,这样导致短期内该SSR同时分配给 2个航班计划,但在fdp日志中却记录“  Assign count is: [1]”,体现不出分配了2次的问题现状。

4) 动态计划飞出区域5分钟后,如先 执行 释放SSR 操作,再 将计划置为" FIN" 状态,可避免该问题。

17、在FDO上执行过“回收SSR”操作的计划,再手动 进行 “分配SSR”——“ 自动分配”会提示“ ACCESS_DENIED”(没有满足条件的可用SSR也是该提示)。

18、使用电报模糊匹配计划,采用时间参数(DepTimeRange默认240分钟在fdp.ini中),限制的电报种类有如下电报:PLN/FPL/DEP/CHG/EST/RTN/COR/CDN/ACP/RQP/RQS/SPL/ALR/OVF/ABI/ADS/MAC/AOC/PAC/REJ/TOC/TRU。

——假如报文中 没有DOF项,计算 ” FPL/CHG收报日期时分—(当天日期+预起时间)“ 大于2小时,则按照(次日日期+预起时间)模糊匹配计划,否则按照 (当天日期+预起时间)匹配计划。对于跨日情况需要注意该处理机制。( 以前CHG报没有DOF项就按” 当天日期+预起时间“匹配计划,2021/07/23改为和FPL一致,按如上机制考虑了跨日问题)

19、 SDD席位随机去相关问题(20210722,20210917):

pTag->ChkNum=30, pTag->EndFlag=0    //校验未完标志0

pTag->ChkNum=3, pTag->EndFlag=1      //一轮校验已完标志1  ,   备态FDP去掉校验一致的计划的已校验标记,以便于进行下一轮校验)

pTag->EndFlag=1, process normally.

pTag->ChkNum=30, pTag->EndFlag=2     // 一轮校验已完,重新定位到第一条计划, 开始下轮校验标志2(SDD需要,备态FDP不用)

SDD日志: ACC4/5(FDP1[Standby])分别删除了1190/1172(1221,每次校验30条检验了21次后发了检验完成标志,导致只保留620条计划,其它大概1200条全删除了)条计划,SDD根据 FDP_PLANCHKSUM 认为FDP2[Active]上没有这些计划。

ACC4:

[SDD:Net] 20210722 11:32:18 Recv FDP_PLAN mid[202107221100CCA8375ZBADZLLL] stat[5] ssr[A3001] atd[1104] ctrlsec[PSEC01] nextsec[] HandCommSec[] CommSec[PSEC01]

[SDD:Net] 20210722 11:32:18 202107220815OTC7314ZGKLZBCZ Already Not Exist In Active_FDP,Delete From StandBy_FDP

......

[SDD:Net] 20210722 11:32:19 202107221540CES2794ZBHHZSCG Already Not Exist In Active_FDP,Delete From StandBy_FDP

[SDD:Net] 20210722 11:32:19  Recv FDP_PLANCHKSUM

ACC5:

[SDD:Net] 20210722 11:32:18 Recv FDP_PLAN mid[202107221100CCA8375ZBADZLLL] stat[5] ssr[A3001] atd[1104] ctrlsec[PSEC01] nextsec[] HandCommSec[] CommSec[PSEC01]

[SDD:Net] 20210722 11:32:19 202107220815OTC7314ZGKLZBCZ Already Not Exist In Active_FDP,Delete From StandBy_FDP

......

[SDD:Net] 20210722 11:32:20 202107221445THY6077RKSILTFM Already Not Exist In Active_FDP,Delete From StandBy_FDP

[SDD:Net] 20210722 11:32:20  Recv FDP_PLANCHKSUM

备态FDP1:

(共21条,之前和之后正常都是62条:62x30-21x30=1210,即删除了大概1230条)

<Warn>: 20210722113219 Plan:[202107220815OTC7314ZGKLZBCZ] Already Not Exist In Active_FDP,Delete From StandBy_FDP

<Info>: 20210722113219 plan will be deleted ,it's mid is [202107220815OTC7314ZGKLZBCZ]!

<Info>: 20210722113219 Fdoagent will delete the plan , it's mid is [202107220815OTC7314ZGKLZBCZ]!

20、20210727: --------fdp修改内容:

1)、解决SSR重复分配问题;参见16项,释放SSR和FIN同时完成。(又发现“取消”后没有立即释放SSR会出现和 "FIN"状态没有执行释放SSR操作期间,定期清理SSR函数导致的 SSR重复分配问题,20210824完善解决

2)、CHG报与计划查找和匹配;参见18项,没有DOF项跨日判断同FPL。

3)、SDD席位随机去相关; 参见19项

—— 20210727:主态FDP进程 每次校验30条【校验包内容:校验计划个数=30条;数据结构=30条“计划MID<—>校验和”记录; EndFlag=0/1/2】,并在计划队列中对应第30条计划上打 标记,假如该计划被别的函数删除,会造成程序直接定位到计划队列的最后一条,导致SDD、备态FDP删除未校验的计划;通过 完善计划校验操作,假如被 标记第30条计划被删除的话,遍历完“计划队列找不到标记”,就重新从第一条开始校验(部分计划重复校验不会有问题),解决该问题。

——20210922: FDP动态维护的计划列表总数是计划列表中实时(值实时变化“ 2000...1999..1998...”)的计划个数,(2000条计划,则记录校验包个数67:2000/30>=66); 已完成 一轮校验, 标记在 计划队列最后一条时检查本次校验计划 累积计数个数(增加本地临时变量)需大于等于 动态维护的计划列表总数记录的值 2000...1999..1998...”,则 置标志EndFlag=1,否则 就重新从第一条开始校验(部分计划重复校验不会有问题)或者从最后一条校验的计划往后继续校验;另SDD进程/备态FDP进程收到 EndFlag=1后,删除未打校验标志的计划时,检查该计划相关状态,处于相关状态不删除,不相关的可以删除。

4)、FDP异常退出;由上述问题3)导致fdp异常退出。

5)、增加了SSR席位操作的日志记录:

<Warn>: 20210728064815 主机编号为[13]的席位指定计划[202107272330CSN6348ZJSYZYTX] 分配SSR: [A0064].( 在FDO上点击“分配SSR”——“ 指定分配 ”会记录该日志,具体分配成功与否,需要看后续日志记录

<Warn>: 20210728064853 主机编号为 [13fdoagent]的席位指定计划[202107272330CSZ9114ZBAAZGSZ] 请求自动分配SSR.( 在FDO上点击 “分配SSR”——“ 自动分配 ”就会记录该日志,具体分配成功与否,需要看后续日志记录)

<Warn>: 20210728065127 主机编号为[13]的席位指定计划[202107280145CSC8415ZBYNZYYJ] 释放SSR: [A5165].( FDO上点击 “回收SSR”, 会记录该日志

<Warn>: 20210728064604 主机编号为[13]的席位 屏蔽SSR: [A4176]. FDO上“ SSR管理”勾选 “是否屏蔽”,会记录该日志)

<Warn>: 20210728064610 主机编号为[13]的席位 去屏蔽SSR: [A4176]. FDO上 SSR管理”去掉勾选 “是否屏蔽” ,会记录该日志)

<Info>: 20210729010019 席位修改计划[202107290005CHH7575ZLXYZBTJ]数据项号为[17] . (17指SSR)

<Info>: 20210729010019 The strip don't print for SSR = [], CallSign = [CHH7575].

<Warn>: 20210729010019 主机编号为[170]的席位修改计划: [202107290005CHH7575ZLXYZBTJ]. (席位代码ACC3对应主机号170)

* 6)、修改fdp程序,“管制状态”为CNL的计划不显示SSR,修改后出现刚Release SSR又立即Set SSR/AutoAssign SSRd的问题,原因——> fdp.ini中参数AutoAssignSSRTime=不为0,会调用新(2020-12)函数 功能是按参数AutoAssignSSRTime检查自动分配SSR,但是 新增定时检查自动分配SSR的功能没有限定计划状态,导致取消状态也参与自动分配,20210909完善FDP程序,限定计划状态为 CNL/FIN 的航班 检查 自动分配SSR。顺便也解决了FIN状态异常分配SSR的问题。

--------fdoagent修改内容:

1)、次日计划重复发送新增计划包给FDP;

—— 优化fdoagent进程,避免频繁”重复“向fdp发送创建计划请求(由于已创建,回应失败也占用处理时间,影响到处理移交等的响应效率)。

2)、SITA报取消计划时将管制状态取消;参见14项

—— 针对本文第 14项问题,修改为只要FDD上的 计划“状态”为“取消",就通过fdp进程将“ 管制状态”改为“CNL”( 放弃 “原则”: SITA报不修改“管制状态”),这样管制状态为“CNL”就会释放SSR,且不会自动分配SSR。

* ——另,释放SSR后在FDD的”SSR“一栏原先显示之前分配的SSR,因为实际上 该航班取消 未执行,这里改成置空SSR;而对于”FIN“状态的航班(因为该航班实际 已执行)则显示 之前分配使用但目前释放的SSR。

21、fdp日志记录:" Plan:[......CDG8522......]:exceed speed,Speed = 3606", 计划速度大于1994时因为SDD上显示不全,所以在日志里记录当时的实际数值。某一计划错误手动相关,然后又手动去相关,该 计划航迹就可能出现速度 计算异常的情况。

22、针对《...维护笔记(七)》,第17项11条,原先S模式雷达数据中有Garble(被干扰)标识,会被过滤,但是实际运行中,导致雷达 预推现象较多(对比推测,二所系统不过滤 有Garble标志的数据包),分析发现大多 有Garble标志的S模式雷达数据包,雷达数据是正常的,2021-08-13修改frdp,rdp,为避免实际运行中 Garble标志导致预推或单雷达目标被过滤、SDD出现单雷达目标丢失的现象, 不过滤 有Garble标志的雷达数据包。

23、DPR上“ 即时生效”功能是通过 RDM发消息给FDP,SDD,FDPTEL等进程,假如“对应进程”识别来自RMD的该消息即会在线读取参数并生效。


***、遗留问题:

*a)从ADS-B和S模式雷达获取SelectedAltitude时,判断来源:管制许可高度对应Source是FCU/MCP。

b) SDD 非S模式是否显示“N”不稳定,有时候起飞降落阶段时有时无。

c)对于SFL告警,MRT以从S模式雷达获取的 SelectedAltitude为准进行告警判断; ADS MRT以从 ADS-B获取的 SelectedAltitude为准进行告警判断;当“ MRT ”或“ADS MRT ”任一有 SFL告警时, FUTION就有 SFL告警(由于 ADS MRT刷新快,这里 FUTION实际是以 ADS MRT产生的 SFL告警为准 )。假如实现 FUTION只有在 没有S模式雷达 SelectedAltitude时,才采用 ADS MRT的 SFL告警,实现时逻辑上会引入其它问题。

d)实验室运行模式StandBy时(以实现从转发平台同步计划),出现SDD上所有标牌掉相关情况(FPL LIST WONDOW显示couple为0),此时可以手动相关,挂简标牌,分扇等:(同步计划数据量太大导致)

  • 1)重启某个SDD后,couple数还是为0;

  • 2)关闭fd_sdig.linux进程后,正常,couple数快速增加为50;

  • 3)运行模式从StandBy切换为Master后,正常;

  • 4)主备fdp.linux进程切换后,正常。

e free状态(未登录)席位可以挂TAG/DTAG简标牌。

f 运行模式StandBy时,在SDD上不能进行移交接收等操作。

g

h

i

j


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7970627/viewspace-2774506/,如需转载,请注明出处,否则将追究法律责任。

上一篇: vmware搭建K8s
请登录后发表评论 登录
全部评论
***---Descartes---***

注册时间:2011-02-02

  • 博文量
    298
  • 访问量
    419056