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
[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条)

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(与 20210727日现象一样的原因,当时修改不完备导致再次出现):此次 又增加这个保护: FDP动态维护的计划列表总数是计划列表中实时(值实时变化“ 2000...1999..1998...”)的计划个数,(2000条计划,则记录校验包个数67:2000/30>=66); 已完成 一轮校验, 标记在 计划队列最后一条时,检查本次校验计划 累积计数个数(增加本地临时变量)需大于等于 动态维护的计划列表总数记录的值 “ 2000...1999..1998...”,则 置标志EndFlag=1,否则 就重新从第一条开始校验(部分计划重复校验不会有问题)或者从最后一条校验的计划往后继续校验;日志如下,满足校验累积计数m_iChkedPlanNum(累积过程中遇到已校验的计划被别的函数删除,该计数也减1)大于等于动态维护的计划个数PlanTotalNum条件,主态Active_Fdp才会输出”pack.EndFlag=1“ (收到EndFlag=1后,删除未打校验标志的计划时,检查该计划相关状态,处于相关状态不删除,不相关的可以删除:” 备态FDP加了这个判断保护 /SDD进程没有加“)

4)、FDP异常退出;由上述问题3)导致fdp异常退出。
5)、增加了SSR席位操作的日志记录:
* 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等进程,假如“对应进程”识别来自RD M的该消息即会 在线读取参数并生效。
24、20210926修改:增加QT版权声明;解决Setup窗口中Map亮度调整第二、第三窗口不能实时变动,需改变窗口大小才会变动问题;按石家庄需求,本场飞本场的航班自动打印进程单由进港格式改为出港格式;发送EndFlag=1时,FDP增加与计划列表总数判断条件;switch.linux:每台交换机起始端口号可配置。
25、SDD上临时告警抑制区高度范围的单位是10米,为标压高度,如果在QNH区域内,使用飞机修正后的高度来判断是否在告警抑制区范围内。
26、站调FDO昨日历史没有“延误原因”一栏,需要在用户设置-栏目设置-“动态计划”中添加。
27、 ftpserver.ini中分发配置
文件9名称=/sdd
文件9类型=应用程序
文件9目的路径=/home/atc/zzzz
会将..\INSTALL\sdd\下所有“文件及子目录”分发到“ 文件9目的路径”,但是“空文件夹”不会分发创建,所以空文件夹下需建一个文件,比如sdd\bin\playback_data\这个文件夹下有一个内容为空的文件1.txt,是为了保证分发时会自动创建 playback_data文件夹;否者sdd被动回放,由于没有 playback_data文件夹从记录仪传回来的景象文件放在了上一级bin\目录下,导致sdd报错提示找不到文件。
28、主态fdp进程异常宕掉问题(20211102)原因:sdd重启或在计划列表窗口中按refresh按钮向fdp请求计划,fdp代码有点问题,计划列表删除了,但请求列表中该计划的地址还存在,这样向sdd发送该计划时访问计划列表中该计划出错。
29、fdp.ini增加(20210709)参数ShieldRunMode,默认值为0;
——增加一个是否屏蔽部分备用系统功能的参数;
——在备用系统模式和屏蔽部分备用系统功能下,可以自动推算控制扇区,可以自动变控制。(避免备用模式,大多数目标是非管制绿色状态的情况,导致切为主态时影响使用)
——在备用系统模式下,不再自动关闭自动发dep/arr报,自动分配ssr,AIDC功能,这几个功能可由系统本身 在线控制。
30、(20211104)修改(完善:原来管制状态为空的计划存在的问题)fdoagent:将取消的计划生成到fdp时将管制状态设为CNL,原来为FUTR。
31、处理接收的CHG报,航路串过长截断的问题,修改fdptel程序解决( 字段长改为1024),应该是fdptel程序会按字段解析报文,航路串字段大小设置的小了。(fdp报没有出现该问题,分别两条处理流程)
32、航班的trackID号未改变(例如,经停航班不关应答机——电门没有打在STBY位),会出现例如区调席位针对前序航班的标牌手动屏蔽操作在后序航班上仍然生效,而由于手动label off的优先级最高,故在处于协调状态前不能通过其它开关组合显示手动屏蔽的标牌信息,造成此类航班只有区调的席位不能正常显示。

33、在fdp日志里,记录 TrackNo[205]和计划DKH1787相关:
——对应SDD上FPL LIST: TrackID [205] TrackNo [162] TrackindesAdsb [1466]
对应"网上雷达数据接收程序":
——“综合系统航迹”日志中, TrackID=162 TrackNo=162 TrackNoA=65535 ( MRT时 TrackID和 TrackNo取值一样?)
——“单雷达航迹02”(四创)日志中, TrackID=1019 TrackNo=1019 TrackNoA=65535
——“选择性融合ADSB航迹”日志中, TrackID=205 TrackNo=162 TrackNoA=1466 ( 这里和SDD上显示的一致)
*FUSION出来的系统航迹号为 205,用它来与计划相关,ADS-B融合航迹号为 1466,MRT多雷达融合航迹号为 162。 注意这里fdp日志和SDD上 TrackID和 TrackNo名称定义反了 。
34、五边进场到ADS-B屏蔽区时管制反映偶有航迹分裂、掉相关问题:
——“雷达头发过来的数据两个不同目标在同一时段原始航迹号相同”(原因待查),MRDP融合航迹保持时导致分裂(因为航迹保持时只要单雷达原始航迹号不变,就直接参与融合,但是由于有某单个雷达两个不同目标在同一时段原始航迹号相同的现象,导致航迹号相同的另一不同目标直接参与了融合,s sr/位置等偏差导致目标分裂,掉相关)该现象在有ADS-B时,在SDD上体现不出来。
-----------------------------------
***、遗留问题:
*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 )