How to check if a controller is in backup progress by PCSDK


I tried to output the values of Controller.BackupInProgress and BackupManager.InProgress for an interval less than 100ms.  When manually backuping a real controller, I found that the output got stuck (nothing is displayed). All the values displayed are FALSE.

private static async Task RunTest(CancellationToken token)
{
    while (!token.IsCancellationRequested)
    {
        await Task.Delay(50, token);
        try
        {
            Logger.AddMessage(new LogMessage($"{Controller.BackupInProgress}"));
        }
        catch (Exception ex)
        {
            //
        }
    }
}

If these two properties do not work, how to know if a controller is in backup progress or not?
Tagged:

Answers

  • What I recommend as a work around is to create an output on the robot called something like doRobot_BackingUp. The output should be read only. Then go to Configuration/IO System/ System output and connect that IO to Backup in Progress. Then your SDK can monitor that state of that IO to get that information.

    I Like watching IO when I can for system outputs. It always seems a bit more straight forward when I do that.