续接(五)启用:
1、FDP只将相关航迹的TrackID,TrackNo,TrackIndexAdsb参数值保存并发给SDD使用,配对(FDP用TrackId去查找相应的雷达航迹)本身不参考这些值,没相关的计划这些值都填65535;另,FDP不涉及uRardaid这个变量,只有SDD与它有关。
FDP处理计划和系统航迹配对只使用TrackId。所以如果关闭MARDP, FDP没收到TrackId,就不会相关(已相关的会掉相关):SDD切换选FUSION( TrackID)只有计划航迹; SDD切换选 ADS MRT( TrackIndexAdsb)有计划航迹和ADS-B航迹,但是不会相关; SDD切换选MRT( TrackNo)有计划航迹和雷达融合航迹,但是也不会相关。
2、如果MRDP进程使用的height.dat与 MADP进程使用的不一致,某一目标在SDD上选MRT( MRDP处理)有MSAW告警, 选ADS MRT( MADP处理)没有MSAW告警,选FUSION (MARDP不处理告警,只是从 MRDP/MADP 继承处理的结果)时是只要 MRDP/MADP任一有告警就会 MSAW。
3、重启fdp主机,飞行系统数据交互网关,手动可以启动, 不自动启动:需修改./linuxshell/x2/FDP/x2.sh,增加启动fd_sdif_autostart.sh脚本的命令行,在 ./linuxshell/目录下创建 fd_sdif_autostart.sh脚本,并选择分发“公共文件”。
4、fdp进程主从态切换:手动切换是主态发起,自动切换是从态发起。( STATUS:0主态;1从态;-1启动过程中的中间态)
心跳包是4秒1次 (为避免延时,使用单独线程),主从态FDP日志记录一样,如下:

1) 自动切换是从态发起:
时间跳变引起切换的案例:当 从态FDP进程超过24秒没有收到心跳包就会发起操作:自动切换为主态:
原从态FDP2日志(从态FDP2 自动发起切换):
*:(系统时间异常跳变48-->17-->57,导致判断超过24秒没有收到心跳包)
为了避免ts.linux进程GPS对时导致时间跳变, 参数NoReviseMaxSpan理论上应小于24秒。
原主态FDP1日志(主态FDP1 收到change STATUS命令,切换为从态):
2) 手动切换是主态发起:
原主态FDP2日志(主态FDP2 手动发起切换)
原从态FDP1日志(从态FDP1 收到ForceSwitch命令,切换为主态):
5、fdp.ini中,未包含边界点APEXU,导致解析出坐标点作为边界点。
BPointCode = P354 APOGO GUPAD ISGOD NONIT P05 P106 MAPMU OKVUM PADNO TODAM P294 HDH P145 P409 P412 PIGAN
// 边界点列表,最后必须加空格,否则最后一个点不生效。

6、收到ARR报,不管计划是处于相关, 即使是管制状态,也会自动处理FIN计划,掉相关( 二所系统也是这样)。
对照,泰雷兹系统机制如下:
(ADES:Destination Airport;ADEP:Departure Airport;ATO:Actual Time Over;FDR:Flight Data Record)
FDR计划相关时,在警告窗口中显示错误消息提示管制员。

(SAR搜救:Search And Rescue)相关状态下不会FIN。

(XFL:Exit Flight Level;VSP:Variable System Parameter)
进而关注DEP的处理:

表中说明了忽略收到DEP的计划状态条件。
实际使用中,川大系统(2020-10-2)不忽略,以最近收到的DEP为准,出现过某计划正在进行相关处理判断时,又收到DEP报,结果处理DEP报重新计算计划航路导致FDP进程产生CORE的问题。
7、fdp进程偶尔异常产生core,将编译器优化级别调低后,重新编译测试运行目前正常(看来编译器优化涉及到硬件、OS平台和程序代码的搭配关系,也会影响程序逻辑)
8、逻辑原则:计划有落地时间可以导致或不导致计划FIN,但是FIN状态的计划肯定不会出现与航迹相关的结果,因为相关计算时不会查找FIN状态的计划、已相关计划FIN了也会去相关,而且FIN状态的计划也不能手动相关。考虑第6项的需求与实现,要考虑不影响正常计划FIN释放SSR的问题;对应计划应该区分进港和非进港(出港/飞越)两方面来考虑,因为进港航班,落地时,收到落地报即使还处于相关状态,也应该FIN计划,去相关;而出港航班是非常管制区边界5分钟去相关,释放SSR;那对于区内比如临汾机场,也应该归到进港这一类。综合以上两种情况,可以通过增加个高度参数,当管制状态的计划,收到ARR报,假如高度大于设置值例如1500米,可以填写ARR得到的落地时间,但是不将计划处理成FIN状态,这样就避免掉相关的情况。
9、表示定期(理论3秒,实际6-7秒)检查到存在“计划没有使用的SSR”,但是有占用标志,进行强制释放,保险措施(否则需要关闭FDP,删除
~fdp_ssr1.tmp/ ~fdp_ssr2.tmp,才能全部释放)。

10、CHG报包含DOF日期,定位查找计划就使用DOF日期+预起时间 (EOBT),不使用 fdp.ini中 DepTimeRange参数;如果不 包含DOF日期,定位查找计划就使用收报时的日期+预 起时间 (EOBT), 使用 fdp.ini中DepTimeRange参数;避免跨日问题需要加上DOF项;FIN/CNL 完成和取消状态计划不属于候选计划中,候选计划有多个会优选条件最接近的计划。所以处理CHG报时,由于没有DOF项而使用收报时的日期和报文中的预起时间 按 DepTimeRange参数关联计划可能有问题。 (时间参数:见 川大主用ATC系统维护笔记(四)-6 )

例如以上,11月3号23:38收到CHG报,报文中预起时间是00:20(11月4日),由于 不带DOF项,以 202011030020使用 DepTimeRange参数840即14小时查找计划( 20201104 0020,偏差24小时)失败。避免措施只能是使用DOF项,
——当CHG报不带DOF项使用DEP的参数。带DOF项不使用参数, 不能修改完成和取消的计划,其他状态的计划可以修改。
*:编组13数据项B——在起飞前所发的FPL\ CHG\CNL\DLA和RQS电报以及ARR\RQP电报中填入起飞机场的预计撤轮档时间(EOBT),DEP报应填入实际起飞时间。
11、打开流量窗口sdd退出的原因:是计划的过点为空造成的,当有某条计划的过点为空,打开电子进程单或流量窗口就会退出。过点为空的计划出现条件——该条长期计划航路字段未录入、为空(从城市班机对添加、FPL报修正航路),FDOAGENT为了满足提前12小时建立计划的现场需求,取消了没有航路不能建立计划的代码限制(即使计划的航路为空也能建立计划),在这种情况下, 打开电子进程单或流量窗口,它要推算边界点过点时间,读到空值,由于未加保护,导致SDD退出。
12、sdd.ini中的ptcode_visible=1,标牌上显示下一个航路点。
13、radar.ini修改某个单雷达设置[RADAR_01]磁偏: MegDiffAngle=-4.5(值增加显示顺时针偏,减小逆时针),只需要重启SDP服务器上的 RDP进程即生效。
—— radar.ini 修改某个单雷达设置[RADAR_01]: DelayThreshold=9000( 当前时间与数据中时间小于该值的目标为正常目标(毫秒),默认为 3600000), 只需要重启FSDP服务器上的 FRDP进程即生效。
14、 监控席位在通过HCA控制系统关机/重启时,使用的是sudo命令,该命令默认配置需要输入密码,但我们在监控席位关机/重启操作时不希望也无法输入密码,所以需要对sudo命令的配置做修改。
打开一个终端,获取超级用户权限,进入/etc/目录,打开文件sudoers,搜索查找到如下语句:
root ALL=(ALL) ALL
在其后添加一行:
atc ALL=(ALL) NOPASSWD: ALL
15、打开串口权限(spa.linux需要)
方法1是:
进入/etc/rc.d 目录,打开文件rc.local ,在最后一行添加如下内容:
chmod 777 /dev/ttyS* 该配置重启系统生效。
方法2是:
因
为atc用户没有隶属“dialout”,把用户加入进去:
sudo gpasswd --add atc dialout
/etc/sudoers文件权限必须是440,否者提示: 一旦把它的权限改成非440,就会出现sudo命令无法使用的情况。
sudo:/etc/sudoers 可被任何人写
sudo:没有找到有效的 sudoers 资源,退出
sudo:无法初始化策略插件
且 SDD配置为自启动(执行x0.sh),出不来图形界面。
16、 GNOME 从 英文改为中文桌面环境:
修改家目录下 .dmrc文件( init 3——>init 5 生效),( 更新文件夹名称等为中文: xdg-user-dirs-gtk-update会弹出一个配置界面, <?没有弹出>,提示是否将 英文目录切换为 中文目录)
[Desktop]
Language=zh_CN.UTF-8
提示“用户的$home/.dmrc已被忽略”(无法保存默认会话和语言)的解决方法
chmod 644 /home/atc/.dmrc
chown atc:atc /home/atc/.dmrc
PuTTY显示中文问题:
当LANG=zh_CN.UTF-8, PuTTY“Translation”“Remote Charracter set”选“UTF-8”;
当 LANG=zh_CN.gb2312, PuTTY“Translation”“Remote Charracter set”选“Use font encoding”
17、( 20210220) 监视数据增加时延判断(如果数据中有时间),默认为 3600000 毫秒
在 [RADAR_XX] 段增加
NACpThreshold=3 // 质量因子大于该值的目标为正常目标,默认 -1
DelayThreshold=60000 // 当前时间与数据中时间小于该值的目标为正常目标(毫秒),默认为 3600000

如图,表示延时率0.02(2%:1表示100%),应该进行排查,正常应为0。
18、RadarAnalizer.exe点击运行没有反应,原因是没有安装(Visual C++)Runtime Libraries 。
19、FDP进程(
只处理预起,不管计起,次日计划默认
预起、
计起内容一样)处理fpl和dep报和计划关联的是同一个函数,先按航班号,起降机场找到符合条件的计划,然后按时间匹配最优的关联;另,arr报与计划关联是单独的函数,它是与找到的第一个计划关联(先进入“
最新动态”的计划排在前面)。fdoagent进程(
在fdd上编辑计划也会导致将满足条件的
次日计划转入动态)按db.ini参数TRANS_NONE_TO_FUTR=1200,PLANLIMT=10,将未来12个小时内预计起飞的次日计划转入动态(完成转换的计划<以MID区分>打上标记,后续就不会检查),每次生成ftur计划的数目为10,大概每间隔10-20秒检查一次。怀疑这样处理会导致偶尔丢包,目前改成
每条计划发
两遍避免偶尔丢失,且
发送时间隔100ms,避免突发数据量大引起丢失。这样修改后,由于相同MID的计划发两遍,在FDP日志提示提示:

20、本场落地航班在区调管制时备降区外,发送CPL报时,航路除了边界点,还需要区内至少一个点,否者有可能推算不经过太原管制区域,导致删除该计划(引起管制的飞机去相关,掉标牌),或计划航路方向推算问题,如推算成反向。
21、fdp.ini中:( 没有实际起飞时间就按预计起飞时间计算)
[LifeTime]
CnlMinForStay= 720 // 起飞时间多少分钟后还处于NACT/PREA/COOR/CONT状态则CNL

22、实验室重启FDP虚拟机,导致fdp操作系统时间变成北京时,偏差了8小时,FDP推算计划状态出问题,导致SDD上目标不相关,TrackNo为65535。
23、SDD时间往前调(08:10:20),SDD屏幕会冻结,Time显示时间也不变( 08:10:30),直到再次到达 Time ( 08:10:30 )显示的时间,SDD目标正常移动。该问题已解决。
24、SDD上setup中MAP亮度调节功能修复正常。
25、备降收到CPL,只有备降到太原的才自动新建太原到原落地机场计划,比如原来是ZPPP到ZBHH,备降太原,会自动建一ZBYN到ZBHH的。
26、FDO上“功能设置”勾选“动态航路检查提醒”,假如动态中的航路和城市班机对中维护的航路不一致,航班号红色闪烁,鼠标中键单机确认变为正常颜色;在“通知设置”里勾选“航路不匹配”,新改变的动态,航路 和城市班机对中维护的航路不一致,在“消息通知”中提示“......航路无匹配[17:12:30]”