Search Results for

    Show / Hide Table of Contents

    Mastership

    Controlling controller resources

    Controller resources must be controlled by a single client at a time. Several people can be logged on to the controller, but only one person at a time can run commands or change RAPID data. This is for security reasons as well as for protecting data from being accidentally overwritten.

    When logged on to a controller you can have either read-only access or write access. Read only is the default access right. To get write access the client needs to request mastership of the controller resource it wants to manipulate.

    Note

    In addition to the Access Right System, there is the User Authorization System, which restricts what each user is allowed to do with the robot. For more information, see User Authorization System.

    Manual and automatic mode

    When the controller is in manual mode, the FlexPendant has priority to write access. Mastership will not be given to a remote client unless an operator explicitly allows this through the FlexPendant. At any time, the operator can click on the FlexPendant to get the write access back.

    In automatic mode, the client who first requests write access will get it. If a remote client has taken mastership of a domain other remote clients will not be allowed write access, but will get an exception if they try. For the operator, there is no way to revoke mastership to the FlexPendant, but to switch the operating mode of the controller to manual.

    As for a remote client, such as a PC SDK application, however, mastership handling has to be carefully implemented by the application programmer.

    Controller mastership domains

    The following Controller domains require mastership:

    • Rapid

    • Configuration

    For code examples, see Start program execution in the PC SDK section.

    Note

    For RobotWare 7 (OmniCore) mastership is not separated between domains. Taking mastership of one domain will give mastership for all others.

    Note

    Operations that require mastership are more resource demanding. Mastership should therefore be released as soon as an operation is completed.

    Remote privilege in manual mode

    Most of the time, it is inconvenient to have a PC SDK application perform operations that require mastership when the controller is in manual mode. Starting program execution, for example, is not even possible.

    In manual mode when a remote client, for example RobotStudio or a PC SDK application, requests mastership, a dialog box will appear on the FlexPendant. It enables the operator to grant mastership to the requesting client.

    If mastership is granted, the remote application has the privilege to access robot controller resources. Meanwhile, the FlexPendant is locked and cannot be used until the remote application releases mastership or mastership is lost for any of the reasons mentioned in Losing mastership.

    Losing mastership

    Remote clients lose the mastership without warning for the following reasons:

    • change from automatic to manual mode

    • controller restart

    • lost communication

    • in manual mode forced revocation of mastership by another client with higher priority - for example the FlexPendant

    If mastership is lost, it has to be taken back explicitly by the client. The controller does not store the information.

    Note

    The FlexPendant may also lose mastership without any warning. This may happen in automatic mode, when a RobotStudio user or a PC SDK application asks for write access to the controller, for example. The status bar of the FlexPendant will then indicate Remote Access in Auto.

    Heartbeat during program execution

    Depending on controller version and configuration, a client that holds mastership must send a heartbeat to the controller to show presence during execution.
    This is done by calling SendHeartBeat() which is supported from RobotWare 7.8.

    If the client does not send a heartbeat with a specified interval, execution will stop and the controller will go to motors off.

    This functionality is controlled via the configuration instance SYS/MASTER_BOOL/HeartBeat:

    • If the parameter Select is true, a client that holds mastership must send heartbeats or program execution will stop.
    • The parameter Timeout corresponds to the maximum heartbeat interval. The default is 2000 ms.
    Note

    This is required for standalone applications, but not for RobotStudio add-ins.

    In This Article
    Back to top Copyright © 2025 ABB