Driver Station日志文件查看器

In an effort to provide information to aid in debugging, the FRC® Driver Station creates log files of important diagnostic data while running. These logs can be reviewed later using the FRC Driver Station Log Viewer. The Log Viewer can be found via the shortcut installed in the Start menu, in the FRC Driver Station folder in Program Files, or via the Gear icon in the Driver Station.

Showing how to open the Log Viewer screen using the right console icon.

备注

Several alternative tools exist that provide similar functionality to the FRC Driver Station Log Viewer. AdvantageScope is an option included in WPILib, and DSLOG Reader is a third-party option. Note that WPILib offers no support for third-party projects.

活动日志

The Driver Station logs all messages sent to the Messages box on the Diagnostics tab (not the User Messages box on the Operation tab) into a new Event Log file. When viewing Log Files with the Driver Station Log File Viewer, the Event Log and Driver Station Log files are overlaid in a single display.

Log files are stored in C:\Users\Public\Documents\FRC\Log Files. Each log has date and timestamp in the file name and has two files with extension .dslog and .dsevents.

日志浏览器用户界面

首页日志查看器界面概述。

日志查看器包含许多控件和显示栏,以帮助分析Driver Station日志文件:

  1. 文件选择框-此窗口显示当前所选文件夹中的所有可用日志文件。 单击列表中的日志文件以将其选中。

  2. 日志文件的路径-此框显示查看器正在寻找日志文件的当前文件夹。 这默认为Driver Station在其中存储日志文件的文件夹。单击文件夹图标浏览到其他位置。

  3. 消息框-此框显示事件日志中所有消息的摘要。 将鼠标悬停在图表上的事件上时,此框将更改为显示该事件的信息。

  4. 滚动条-放大图表时,该滚动条允许水平滚动图形。

  5. 电压筛选器-此控件可打开和关闭电压筛选(默认为打开)。 当未收到电池电压时(表示DS未与roboRIO通信),电压筛选会过滤掉CPU占用率,机械模式和往返时延等数据。

  6. 自动缩放-此按钮将图表缩小以显示日志中的所有数据。

  7. 比赛时长-此按钮将图表缩放到大约FRC比赛时长(显示2分钟30秒)。 它不会自动定位比赛开始的地方,您将不得不使用滚动条滚动以定位自动模式的开始。

  8. 图表-此显示显示来自DS日志文件的图表数据(电压,往返时延,roboRIO的CPU占用率,丢失的数据包和机械模式),以及叠加的事件数据(在图表上显示为点,在选定事件中显示为跨越整个事件的竖线)。 将鼠标悬停在图表上的事件标记上,屏幕左下方的“消息”窗口中会显示有关事件的信息。

  9. 机械模式键-屏幕顶部显示的机械模式键

  10. 主要事件键-主要事件的键,在图表上显示为竖线

  11. 图形键 - 图表数据的按键

  12. 筛选控制-下拉菜单选择筛选的模式(下面会说明筛选模式)

  13. 选项控制 - 在显示图表(数据与事件 关于 时间)和事件列表之间切换的控件

使用图形显示

图形屏幕的不同部分和一些基本信号。

图表显示包含下面的信息:

  1. 以毫秒为单位的跳闸时间图(绿线)和每秒丢失的数据包数(显示为蓝色竖线)。 在这些示例图像中,“往返时延”在图的底部是一条平坦的绿线,并且没有丢失的数据包

  2. 电池电压显示为一条黄线。

  3. roboRIO CPU占用率是一条红线

  4. 机械模式和DS模式的图形。 显示屏的顶部显示了由机器操控台控制的模式。 底部显示的是机器人代码报告的模式。 在此示例中,机器人在禁用和自动阶段下不会报告其模式,而会在手动阶段期间报告。

  5. 事件标记将显示在图表上,指示事件发生的时间。 错误将以红色显示; 警告将显示为黄色。 将鼠标悬停在事件标记上,将在屏幕左下方的“消息”框中显示有关事件的信息。

  6. 主要事件显示为穿过显示界面的竖线。

单击并拖动目标区域,来放大图表的一部分。你可以只放大时间线,但是不能垂直放大。

事件列表

由顶部中心的选项卡获取的事件列表。

“事件列表”选项显示由Driver Station记录的事件(警告和错误)列表。 显示的事件和详细信息由当前活动的晒选确定(图像显示“所有事件,所有信息”过滤器处于活动状态)。

筛选

日志查看器里三个筛选器现在可用:

  1. 默认:此筛选器过滤掉由Driver Station产生的许多错误和警告。 该筛选器对于识别由机器人上的代码引发的错误很有用。

  2. “所有事件和时间”:此筛选器显示所有事件及其发生的时间

  3. “所有事件,所有信息”:此筛选器显示所有事件和所有记录的信息。此时,此过滤器与“所有事件和时间”之间的主要区别在于,此选项显示首次出现特定消息的“唯一”指示符。

根据比赛识别日志

为了识别匹配的日志,查找“FMS Connected”消息,然后匹配号码。

A common task when working with the Driver Station Logs is to identify which logs came from competition matches. Logs which were taken during a match can now be identified using the FMS Connected event which will display the match type (Practice, Qualification or Elimination), match number, and the current time according to the FMS server. In this example, you can see that the FMS server time and the time of the Driver Station computer are fairly close, approximately 7 seconds apart.

使用日志查看器识别常见的连接失败

When diagnosing robot issues, there is no substitute for thorough knowledge of the system and a methodical debugging approach. If you need assistance diagnosing a connection problem at your events it is strongly recommended to seek assistance from your FTA and/or CSA. The goal of this section is to familiarize teams with how some common failures can manifest themselves in the DS Log files. Please note that depending on a variety of conditions a particular failure show slightly differently in a log file.

备注

请注意,已使用“匹配长度”按钮将本节中显示的所有日志文件缩放为匹配长度,然后滚动到自主模式的开头。另外,许多日志都不包含电池电压信息,用于日志捕获的平台未正确接线以报告电池电压。

小技巧

下面显示了在日志查看器中找到的一些错误消息,并且在 driver-station-errors-warnings 文章中进行了详细说明。

“Normal“ 日志

一个正常的图表和一些无害的事件。

这是正常比赛日志的示例。 第一个框中包含的错误和警告来自 Driver Station 首次启动时的时间,可以忽略。 看到这些事件在“ FMS Connected:”事件之前发生就能确认。 所显示的最后一个事件也可以忽略,它也是从机器人第一次连接到 Driver Station 以来(它发生在连接FMS后3秒),发生在比赛开始前约30秒。

从场控系统断连

断开连接可能导致日志被分成两部分,但至少会有显示断开连接的事件。

当 DS 与 FMS 断开连接,并与机器人断开连接时,在比赛期间,它可能会将日志分段。 连接失败的关键指标是第一个日志的最后一个事件,表明与FMS的连接现在处于“不良”状态,第二个日志中的第二个事件是一条新的FMS连接消息,随后DS立即转换为Teleop Enabled。 此类故障的最常见原因是以太网线没有插好或者 DS 电脑上的以太网端口损坏。

roboRIO 重启

roboRIO重启最明显的是一条“机器人启动时间到了”的信息。

“robot启动后的时间”消息是roboRIO重新启动导致连接失败的主要指示。 在此日志中,DS 如第一个事件所示,在 3:01:36 失去了与 roboRIO 的连接。 第二个事件表明,连接失败后启动的 ping 操作对 roboRIO 以外的所有设备均成功。 在 3:01:47,roboRIO 再次开始对 ping 做出响应,另外一个 ping 在 3:01:52 失败。 在 3:02:02,Driver Station 连接到 roboRIO,并且 roboRIO 报告它已启动 3.682 秒。 这清楚表明 roboRIO 已重新启动。 代码继续加载,并在 3:02:24 时报告与相机通信的错误。 还有一条警告,指示在代码完成启动之前,没有机器人代码正在运行。

机器人上以太网线有误

这个问题很明显,因为操控站可以连接无线电,但无法连接到机器人,因为机器人还没有重启

机械人上的以太网电缆出现问题,主要是通过 roboRIO 的 ping 延迟变高以及 roboRIO 重新连接时出现的 Radio Lost 和 Radio Seen 事件表示。roboRIO重新连接时的“自机械手启动后的时间”消息还将指示 roboRIO 尚未重新启动。 在此示例中,机器人以太网电缆在 3:31:38 断开连接。ping 状态指示无线电仍处于连接状态。当机器人在 3:32:08 重新连接时,“自机器人启动以来的提示”为 1809 秒,表明 roboRIO 显然没有重新启动。 在 3:32:12,机器人指示它在 24.505 秒前丢失了无线电并在 0.000 秒前返回。 这些点在图表上绘制为竖线,黄色表示无线电丢失,绿色表示可见无线电。 请注意,时间与实际事件略有偏差,如通过断开连接和连接所示,但有助于提供有关正在发生的事件的其他信息。

路由器重启

这里的ping显示机器人和无线电都是坏的

机器人路由器的重新启动通常特点为40-45秒与无线电的连接断开。 在此示例中,无线电在 3:22:44 短暂断电,导致无线电开始重新启动。3:22:45 的事件表明对 ping 无线电失败。DS在 3:23:11 重新恢复与 roboRIO 的通信,并且 roboRIO 指示其已启动 1272.775 秒,从而排除了 roboRIO 重新启动的情况。请注意,路由器上的网络开关会很快恢复,因此瞬时断电可能不会导致“无线电丢失” 或“看到无线电”两个事件。较长的干扰可能导致DS记录路由器事件。 在这种情况下,指向路由器重新启动的区别因素是路由器与DS的ping状态。 如果路由器重置,则路由器将无法连接。 如果问题是机器人上的网线或连接问题,则路由器 ping 应该保持“良好”状态。