Search Results for

    Show / Hide Table of Contents

    Class Task

    This class represents a RAPID Task.

    Inheritance
    System.Object
    NamedObject
    SDKBase
    SDKControllerBoundBase
    Task
    Implements
    System.IComparable
    System.IDisposable
    IRapidSymbol
    INamedObject
    Inherited Members
    SDKControllerBoundBase.Controller
    SDKBase.Dispose()
    SDKBase.Dispose(Boolean)
    NamedObject.Equals(String)
    NamedObject.Equals(NamedObject)
    NamedObject.Equals(Object)
    NamedObject.CompareTo(String)
    NamedObject.CompareTo(NamedObject)
    NamedObject.CompareTo(Object)
    NamedObject.GetHashCode()
    NamedObject.ToString()
    NamedObject.Name
    Namespace: ABB.Robotics.Controllers.RapidDomain
    Assembly: ABB.Robotics.Controllers.PC.dll
    Syntax
    public sealed class Task : SDKControllerBoundBase, IComparable, IDisposable, IRapidSymbol, INamedObject

    Properties

    Cycle

    Get/Sets execution cycle.

    Declaration
    public ExecutionCycle Cycle { get; set; }
    Property Value
    Type Description
    ExecutionCycle

    Enabled

    Gets or sets the Enabled state of the Task. 'Enabled' is also referred to as activated/deactivated in the user interface. Returns true if the task is activated in the task selection panel and will react to start requests. Returns false if the task is deactivated and will not react to start requests.

    The Enabled state can only be changed by a local controller client and is not allowed by remote clients.

    RobotStudio connects to virtual controllers, that belongs to a station, as a local client. In all other scenarios, only the FlexPendant is connected as a local client. Other clients are remote.

    Declaration
    public bool Enabled { get; set; }
    Property Value
    Type Description
    System.Boolean
    Remarks

    The Enabled state can only be changed by a local controller client and is not allowed by remote clients.

    Set requires controller to be in auto mode. Requires Mastership.

    Exceptions
    Type Condition
    ModeRejectException
    See Also
    Start()

    ExecutionStatus

    Gets the execution status of the task.

    Declaration
    public TaskExecutionStatus ExecutionStatus { get; }
    Property Value
    Type Description
    TaskExecutionStatus

    ExecutionType

    Gets the current execution type.

    Declaration
    public ExecutionType ExecutionType { get; }
    Property Value
    Type Description
    ExecutionType

    Motion

    Returns true if task is a motion task.

    Declaration
    public bool Motion { get; }
    Property Value
    Type Description
    System.Boolean

    MotionPointer

    Gets the current position of the motion pointer.

    Declaration
    public ProgramPosition MotionPointer { get; }
    Property Value
    Type Description
    ProgramPosition

    ProgramPointer

    Gets the current position of the program pointer.

    Declaration
    public ProgramPosition ProgramPointer { get; }
    Property Value
    Type Description
    ProgramPosition

    RemainingCycles

    Gets/Sets the remaining cycle counter.

    Declaration
    public int RemainingCycles { get; set; }
    Property Value
    Type Description
    System.Int32

    TaskType

    Gets the task type, i.e. Normal, Static or Semi-static.

    Declaration
    public TaskType TaskType { get; }
    Property Value
    Type Description
    TaskType

    Type

    Gets the kind of symbol, i.e. Record, Persistent, Constant, Parameter, Trap, Task etc.

    Declaration
    public SymbolTypes Type { get; }
    Property Value
    Type Description
    SymbolTypes

    Methods

    CheckProgram()

    Checks the modules in the task for syntactic and semantic errors

    Declaration
    public CheckProgramResult CheckProgram()
    Returns
    Type Description
    CheckProgramResult

    DeleteModule(String)

    Delete a RAPID module from the task in the robot controller.

    Declaration
    public void DeleteModule(string moduleName)
    Parameters
    Type Name Description
    System.String moduleName

    The name of the RAPID module to delete.

    Remarks

    Requires mastership of RAPID domain.

    DeleteProgram()

    Deletes the RAPID program of the task from the controller program memory.

    Declaration
    public void DeleteProgram()
    Remarks

    All program modules of the task will be deleted from program memory. If they have been saved they will however remain in the controller file system.

    Requires mastership of RAPID domain.

    Requires the LoadRapidProgram grant.

    Use DeleteProgram(Int32)if you want to load another program directly after the deletion.

    DeleteProgram(Int32)

    Deletes the RAPID program of the task from the controller program memory. Returns as soon as the execution of the RESET event routine is ready.

    Declaration
    public void DeleteProgram(int timeout)
    Parameters
    Type Name Description
    System.Int32 timeout

    Milliseconds used as timeout.

    Remarks

    THIS METHOD ONLY WORKS WITH RW 5.12 AND LATER!

    All program modules of the task will be deleted from program memory. If they have been saved they will however remain in the controller file system.

    Requires mastership of RAPID domain.

    Requires the LoadRapidProgram grant.

    When a RAPID program has been deleted the controller program server executes a RESET event routine a short while. This method returns as soon as the program server is ready to load another RAPID program.

    Exceptions
    Type Condition
    TimeoutException

    The method did not finish within the specified time limit.

    GetJointTarget()

    Get JointTarget from task.

    Declaration
    public JointTarget GetJointTarget()
    Returns
    Type Description
    JointTarget

    JointTarget object JointTarget.

    GetModule(String)

    Returns the requested module.

    Declaration
    public Module GetModule(string name)
    Parameters
    Type Name Description
    System.String name

    Name of module.

    Returns
    Type Description
    Module

    Module.

    GetModules()

    Returns the modules defined in the task.

    Declaration
    public Module[] GetModules()
    Returns
    Type Description
    Module[]

    A Module array.

    GetRapidData(RapidSymbol)

    Gets a RapidData object from a RapidSymbol.

    Declaration
    public RapidData GetRapidData(RapidSymbol symbol)
    Parameters
    Type Name Description
    RapidSymbol symbol

    Symbol to get data for.

    Returns
    Type Description
    RapidData

    RapidData object.

    GetRapidData(String[])

    Gets a RapidData object that references a RAPID data instance in the robot controller.

    Declaration
    public RapidData GetRapidData(params string[] rapidData)
    Parameters
    Type Name Description
    System.String[] rapidData

    An array of strings, which specifies where in the RAPID domain the RAPID data is declared.

    Returns
    Type Description
    RapidData

    A RapidData object. If the RAPID data doesn't exist null is returned.

    Remarks

    If you do not know the name of the module where the data is declared SearchRapidSymbol(...) can be used.

    To access RAPID data in a shared module just send the name of the data as parameter, see the second example below.

    NOTE! RAPID data declared in a - Hidden or -Shared -Hidden module cannot be accessed.

    Examples

    This example utilizes a function that returns the sum of all reg1 variables in the system. Variable reg1 is by default declared in the RAPID module USER.

    private int SumOfAllReg1(Controller c)
    {
        int result = 0;
        try
        {
            // Get all tasks
            Task[] tasks = _controller.Rapid.GetTasks();
    
            foreach (Task t in tasks)
            {
                RapidData rdReg1 = t.GetRapidData("user", "reg1");
    
                result += int.Parse(rdReg1.Value.ToString());
            } 
        }
        catch (ABB.Robotics.Controllers.RapidDomain.RapidModuleNotFoundException ee)
        {
            // TODO: Add error handling
        }
        catch (ABB.Robotics.Controllers.RapidDomain.RapidSymbolNotFoundException ee)
        {
            // TODO: Add error handling
        }
        catch (GeneralException ee)
        {
            // TODO: Add error handling
        }
        catch (System.Exception ee)
        {
            // TODO: Add error handling
        }
        finally
        {
            // Release resources
        }
    
        return result;
    }

    This example gets the shared RAPID data nMessageID seen from task T_ROB1.

    private RapidData GetMessageID()
    {
        RapidData rData = null;
        Task tRob1 = null;
        try
        {
            // Create temporary controller object to get task
            using (Controller c = new Controller())
            {
                tRob1 = c.Rapid.GetTask("T_ROB1");
    
            if (tRob1 != null)
            {
                rData = tRob1.GetRapidData("nMessageID");
            }
        }
    }
    catch (GeneralException ee)
    {
        // TODO: Add error handling
    }
    catch (System.Exception ee)
    {
        // TODO: Add error handling
    }
    finally
    {
        // Release temporary resources
        if (tRob1 != null)
        {
            tRob1.Dispose();
            tRob1 = null;
        }
    }
    return rData;
    

    }

    Exceptions
    Type Condition
    System.ArgumentNullException

    rapidData is null or length is less then 1

    GetRobTarget()

    Gets the current position (as a robtarget using current tool and work object).

    Declaration
    public RobTarget GetRobTarget()
    Returns
    Type Description
    RobTarget

    RobTarget object RobTarget.

    Examples

    This is how to get the current RobTarget of all tasks.

    using ABB.Robotics;
    using ABB.Robotics.Controllers;
    using ABB.Robotics.Controllers.RapidDomain;
    ...
    Controller c = new Controller();
    Task[] allTasks = c.Rapid.GetTasks();
    foreach (Task t in allTasks)
    {
       if (t.Name.Contains("T_ROB"))
       {
           RobTarget rt = t.GetRobTarget();
           Console.WriteLine("RobTarget: {0}", rt.ToString());
       }
    }

    GetRobTarget(String, String)

    Gets RobTarget of the task using the specified tool and work object.

    Declaration
    public RobTarget GetRobTarget(string tool, string workobject)
    Parameters
    Type Name Description
    System.String tool

    Tool

    System.String workobject

    Work object

    Returns
    Type Description
    RobTarget

    RobTarget object RobTarget.

    LoadModuleFromFile(String, RapidLoadMode)

    Loads a RAPID module to the task in the robot controller.

    Declaration
    public bool LoadModuleFromFile(string filePath, RapidLoadMode mode)
    Parameters
    Type Name Description
    System.String filePath

    Path to the file containing the RAPID module. Valid extensions for a RAPID module file are .mod and .sys. For RW >= 7.1 .modx and .sysx are also valid.

    RapidLoadMode mode

    Specifies the RapidLoadMode of the operation.

    Returns
    Type Description
    System.Boolean

    True if loading succeeds without any errors, otherwise false.

    Remarks

    Requires mastership of RAPID domain. Requires the LoadRapidProgram grant.

    LoadProgramFromFile(String, RapidLoadMode)

    Loads a RAPID program to the controller program memory

    Declaration
    public bool LoadProgramFromFile(string filePath, RapidLoadMode mode)
    Parameters
    Type Name Description
    System.String filePath

    Path to the file containing the RAPID program. Valid extension for a RAPID program file is .pgf.

    RapidLoadMode mode

    Specifies the RapidLoadMode of the operation.

    Returns
    Type Description
    System.Boolean

    True if loading succeeds without any build errors, otherwise false.

    Remarks

    Requires mastership of RAPID domain.

    Requires the LoadRapidProgramgrant.

    Use LoadProgramFromFile(String, RapidLoadMode, Int32) if you need to make another call to the RAPID program server, eg. Start() , directly after having loaded the program.

    LoadProgramFromFile(String, RapidLoadMode, Int32)

    Loads a RAPID program to the controller program memory. Returns as soon as the execution of the RAPID RESET event routine is ready.

    Declaration
    public bool LoadProgramFromFile(string filePath, RapidLoadMode mode, int timeout)
    Parameters
    Type Name Description
    System.String filePath

    Path to the file containing the RAPID program. Valid extension for a RAPID program file is .pgf.

    RapidLoadMode mode

    Specifies the RapidLoadMode of the operation.

    System.Int32 timeout

    Milliseconds used as timeout.

    Returns
    Type Description
    System.Boolean

    True if loading succeeds without any build errors, otherwise false.

    Remarks

    THIS METHOD ONLY WORKS WITH RW 5.12 AND LATER!

    Requires mastership of RAPID domain.

    Requires the LoadRapidProgram grant.

    The program server will be busy executing a RAPID event routine a short while after the program has been loaded. This method returns as soon as the controller program server is ready for another call.

    Exceptions
    Type Condition
    TimeoutException

    The method did not finish within the specified time limit.

    ResetProgramPointer()

    Resets the program pointer of this task to the main entry point.

    Declaration
    public void ResetProgramPointer()
    Remarks

    Requires mastership of RAPID domain. Requires the ExecuteRapid grant. Requires Auto mode.

    SaveProgramToFile(String)

    Saves the current RAPID program at the specified path.

    Declaration
    public void SaveProgramToFile(string filePath)
    Parameters
    Type Name Description
    System.String filePath

    Controller path to save program at.

    Remarks

    Requires the BackupController grant.

    SearchRapidSymbol(RapidSymbolSearchProperties)

    General RapidSymbol search method. Searches the task for symbols that match the specified criteria.

    Declaration
    public RapidSymbol[] SearchRapidSymbol(RapidSymbolSearchProperties searchProperties)
    Parameters
    Type Name Description
    RapidSymbolSearchProperties searchProperties

    Properties for search.

    Returns
    Type Description
    RapidSymbol[]

    All matching symbols.

    SearchRapidSymbol(RapidSymbolSearchProperties, RapidDataType)

    Searches the task for RapidSymbol of the specified data type.

    Declaration
    public RapidSymbol[] SearchRapidSymbol(RapidSymbolSearchProperties searchProperties, RapidDataType type)
    Parameters
    Type Name Description
    RapidSymbolSearchProperties searchProperties

    Search properties.

    RapidDataType type

    Data type to match.

    Returns
    Type Description
    RapidSymbol[]

    All matching symbols.

    SearchRapidSymbol(RapidSymbolSearchProperties, RapidDataType, String)

    General RapidSymbol search method. Searches the task for symbols that match the specified criteria.

    Declaration
    public RapidSymbol[] SearchRapidSymbol(RapidSymbolSearchProperties searchProperties, RapidDataType type, string searchExpression)
    Parameters
    Type Name Description
    RapidSymbolSearchProperties searchProperties

    Search properties.

    RapidDataType type

    The data type to search for.

    System.String searchExpression

    Expression used to match search, regular expression.

    Returns
    Type Description
    RapidSymbol[]

    All matching symbols.

    SearchRapidSymbol(RapidSymbolSearchProperties, String)

    General RapidSymbol search method. Searches the task for symbols that match the specified criteria.

    Declaration
    public RapidSymbol[] SearchRapidSymbol(RapidSymbolSearchProperties searchProperties, string searchExpression)
    Parameters
    Type Name Description
    RapidSymbolSearchProperties searchProperties

    Search properties.

    System.String searchExpression

    Expression used to match search, regular expression.

    Returns
    Type Description
    RapidSymbol[]

    All matching symbols.

    SearchRapidSymbol(RapidSymbolSearchProperties, String, String)

    General RapidSymbol search method. Searches the task for symbols that match the specified criteria.

    Declaration
    public RapidSymbol[] SearchRapidSymbol(RapidSymbolSearchProperties searchProperties, string dataType, string searchExpression)
    Parameters
    Type Name Description
    RapidSymbolSearchProperties searchProperties

    Instance of RapidSymbolSearchProperties ,which defines the search criteria.

    System.String dataType

    Name of the data type to search for. Use string.Empty if not of interest.

    System.String searchExpression

    The regular expression to search for. Use string.Empty if not of interest.

    Returns
    Type Description
    RapidSymbol[]

    An array of matching RapidSymbol. If none is found an array of length zero is returned.

    Remarks

    To search data in Shared module, set RapidSymbolSearchProperties.SearchMethod to SymbolSearchMethod.Scope. See the second example below.

    NOTE! RAPID data declared in a - Hidden or -Shared -Hidden module cannot be found.

    Examples

    This example lists all functions and RAPID data instances of type num declared in task T_ROB1. The name of RapidSymbol and the module where it is declared are added to a listview.

    private void btnSearch_Click(object sender,EventArgs e)
    {
        try
        {
            Task task = _controller.Rapid.GetTask("T_ROB1");                         
    
            RapidSymbolSearchProperties sProp = 
            RapidSymbolSearchProperties.CreateDefault();
            sProp.Types = SymbolTypes.Function | SymbolTypes.Data;
            sProp.InUse = false;
            sProp.Recursive = true;
            sProp.SearchMethod = SymbolSearchMethod.Block;
    
            RapidSymbol[] datas = task.SearchRapidSymbol(sProp, "num", string.Empty);    
    
            foreach (RapidSymbol rs in datas)
            {
                ListViewItem li = new ListViewItem(rs.Name);
    
                li.SubItems.Add(rs.Scope[1]);
    
                // Add item
                listView1.Items.Add(li);
            }
        }
        catch (System.Exception ee)
        {
            // Handle any error here
        }
    }

    This example shows a simple search method that finds declared data of the type defined by the parameter sDataType. The parameter bSystem determines the scope to search. The search is made from task T_ROB1.

    private RapidSymbol[] GetSymbols(string stDataType, bool bSystem)
    {
        RapidSymbol[] result = new RapidSymbol[0];
        Task tRob1 = null;
        try
        {
            // Create temporary controller object to get task
            using (Controller c = new Controller())
            {
                tRob1 = c.Rapid.GetTask("T_ROB1");
    
            if (tRob1 != null)
            {
                RapidSymbolSearchProperties sProps = RapidSymbolSearchProperties.CreateDefault();
    
                // Setup sProps according to parameter bSystem
                if (bSystem == true)
                {
                    // Search data that the task can see in System scope, e.g. Shared data
    
                    sProps.GlobalSymbols = true;
                    sProps.InUse = false;
                    sProps.LocalSymbols = false;
                    sProps.Recursive = false;
                    sProps.SearchMethod = SymbolSearchMethod.Scope;
                    sProps.Types = SymbolTypes.Data;
                }
                else
                {
                    // Search Task scope
                    sProps.Types = SymbolTypes.Data;
                    sProps.InUse = false;
                    sProps.SearchMethod = SymbolSearchMethod.Block;                                 
                }
    
                // Perform the search
                result = tRob1.SearchRapidSymbol(sProps, stDataType, string.Empty);
            }
            else
            {
                // No task to search from
            }
        }
    }
    catch (GeneralException ee)
    {
        // TODO: Add error handling
    }
    catch (System.Exception ee)
    {
        // TODO: Add error handling
    }
    finally
    {
        // Release temporary resources
        if (tRob1 != null)
        {
            tRob1.Dispose();
            tRob1 = null;
        }
    }
    return result;
    

    }

    SetProgramPointer(ProgramPosition)

    Sets program pointer to a position in a RAPID module.

    Declaration
    public void SetProgramPointer(ProgramPosition pos)
    Parameters
    Type Name Description
    ProgramPosition pos

    A program position

    Remarks

    Any previous execution stack will be cleared.

    Requires mastership of Rapid domain.

    Requires automatic mode.

    Examples

    This example sets the program position to 20th row to the routine "MyRoutine" in the module "MyModule".

    using ABB.Robotics;
    using ABB.Robotics.Controllers;
    using ABB.Robotics.Controllers.RapidDomain;
    ...
    try
    {
        Controller controller = new Controller();
        Task[] tasks = c.Rapid.GetTasks();
    
        if (controller.OperatingMode == ControllerOperatingMode.Auto) 
        {
           using (Mastership rapid = Controllers.Mastership.Request(controller.Rapid))
           {
               ProgramPosition pos = new ProgramPosition("MyModule", "MyRoutine", new TextRange(20));
               tasks[0].SetProgramPointer(pos);
           }
        }
        else
        {
            MessageBox.Show("Setting the program pointer is not allowed in manual mode from a remote client.");
        }
     }
     catch (System.InvalidOperationException ex)
     {
         MessageBox.Show("Mastership is held by another client.");
     }
     catch (System.Exception ex)
     {
        //TODO: Add error handling
     }
    }
    Exceptions
    Type Condition
    System.ArgumentException

    Program Pointer is not set because parameter may be invalid.

    System.InvalidOperationException

    Mastership is held by another client.

    SetProgramPointer(String, Int32)

    Sets program pointer to a specific row in a RAPID module.

    Declaration
    public void SetProgramPointer(string module, int row)
    Parameters
    Type Name Description
    System.String module

    The name of the module where program pointer should be set.

    System.Int32 row

    The row number in this module.

    Remarks

    Set program pointer to another row in the current routine and also to set program pointer to a row in a different routine.

    Any previous execution stack will be cleared.

    Requires mastership of Rapid domain.

    Requires automatic mode.

    Examples

    This example sets the program pointer to 20th row of the module "MyModule"

    using ABB.Robotics;
    using ABB.Robotics.Controllers;
    using ABB.Robotics.Controllers.RapidDomain;
    ...
    try
    {
        Controller controller = new Controller();
        Task[] tasks = c.Rapid.GetTasks();
    
        if (controller.OperatingMode == ControllerOperatingMode.Auto) 
        {
           using (Mastership rapid = Controllers.Mastership.Request(controller.Rapid))
           {
               tasks[0].SetProgramPointer("MyModule",20);
           }
        }
        else
        {
            MessageBox.Show("Setting the program pointer is not allowed in manual mode from a remote client.");
        }
     }
     catch (System.InvalidOperationException ex)
     {
         MessageBox.Show("Mastership is held by another client.");
     }
     catch (System.Exception ex)
     {
        //TODO: Add error handling
     }
    }
    Exceptions
    Type Condition
    System.ArgumentException

    program pointer is not set because one or both parameters are wrong.

    System.InvalidOperationException

    Mastership is held by another client.

    SetProgramPointer(String, String)

    Sets program pointer to the first instruction of a routine (global or local).

    Declaration
    public void SetProgramPointer(string module, string routine)
    Parameters
    Type Name Description
    System.String module

    The name of the module in which the routine is defined.

    System.String routine

    The name of the routine to which program pointer will be set.

    Remarks

    Any previous execution stack will be cleared.

    Requires mastership of Rapid domain.

    Requires automatic mode.

    Examples

    This example sets the program pointer to the routine "MyRoutine" in "MyModule".

    using ABB.Robotics;
    using ABB.Robotics.Controllers;
    using ABB.Robotics.Controllers.RapidDomain;
    ...
    try
    {
        Controller controller = new Controller();
        Task[] tasks = c.Rapid.GetTasks();
    
        if (controller.OperatingMode == ControllerOperatingMode.Auto) 
        {
           using (Mastership rapid = Controllers.Mastership.Request(controller.Rapid))
           {
               tasks[0].SetProgramPointer("MyModule", "MyRoutine");
           }
        }
        else
        {
            MessageBox.Show("Setting the program pointer is not allowed in manual mode from a remote client.");
        }
     }
     catch (System.InvalidOperationException ex)
     {
         MessageBox.Show("Mastership is held by another client.");
     }
     catch (System.Exception ex)
     {
        //TODO: Add error handling
     }
    }
    Exceptions
    Type Condition
    System.ArgumentException

    Program pointer is not set because one or both parameters are wrong.

    System.InvalidOperationException

    Mastership is held by another client.

    Start()

    Starts RAPID program execution. Use Start(Boolean) to get an exception if the start fails.

    Declaration
    public StartResult Start()
    Returns
    Type Description
    StartResult

    Start result. No exception is thrown if start of execution fails.

    Remarks

    Requires mastership of Rapid domain. Requires ExecuteRapid grant. Requires Auto mode. This method is no longer supported from RobotWare 5.60.

    Start(RegainMode, ExecutionMode)

    Starts RAPID program execution.

    Declaration
    public StartResult Start(RegainMode regain, ExecutionMode execution)
    Parameters
    Type Name Description
    RegainMode regain

    Regain mode.

    ExecutionMode execution

    Execution mode.

    Returns
    Type Description
    StartResult

    Start result.

    Remarks

    Requires mastership of Rapid domain. Requires ExecuteRapid grant. Requires Auto mode. This method is no longer supported from RobotWare 5.60.

    Start(RegainMode, ExecutionMode, ExecutionCycle)

    Starts RAPID program execution

    Declaration
    public StartResult Start(RegainMode regain, ExecutionMode execution, ExecutionCycle cycle)
    Parameters
    Type Name Description
    RegainMode regain

    Regain mode.

    ExecutionMode execution

    Execution mode.

    ExecutionCycle cycle

    The number of cycles to execute the program.

    Returns
    Type Description
    StartResult

    Start result.

    Remarks

    Requires mastership of Rapid domain. Requires ExecuteRapid grant. Requires Auto mode. This method is no longer supported from RobotWare 5.60.

    Start(RegainMode, ExecutionMode, ExecutionCycle, StartCheck)

    Starts RAPID program execution.

    Declaration
    public StartResult Start(RegainMode regain, ExecutionMode execution, ExecutionCycle cycle, StartCheck check)
    Parameters
    Type Name Description
    RegainMode regain

    Regain mode.

    ExecutionMode execution

    Execution mode.

    ExecutionCycle cycle

    The number of cycles to execute the program.

    StartCheck check

    Check to perform prior to start.

    Returns
    Type Description
    StartResult

    Start result.

    Remarks

    Requires mastership of Rapid domain. Requires ExecuteRapid grant. Requires Auto mode. This method is no longer supported from RobotWare 5.60.

    Start(RegainMode, ExecutionMode, ExecutionCycle, StartCheck, Boolean)

    Starts RAPID program execution.

    Declaration
    public StartResult Start(RegainMode regain, ExecutionMode execution, ExecutionCycle cycle, StartCheck check, bool throwOnError)
    Parameters
    Type Name Description
    RegainMode regain

    Regain mode.

    ExecutionMode execution

    Execution mode.

    ExecutionCycle cycle

    The number of cycles to execute the program.

    StartCheck check

    Check to perform prior to start.

    System.Boolean throwOnError

    True to get exception instead of just Error for "unmapped" start results.

    Returns
    Type Description
    StartResult

    Start result.

    Remarks

    Requires mastership of Rapid domain. Requires ExecuteRapid grant. Requires Auto mode. This method is no longer supported from RobotWare 5.60.

    Start(Boolean)

    Starts RAPID program execution.

    Declaration
    public StartResult Start(bool throwOnError)
    Parameters
    Type Name Description
    System.Boolean throwOnError

    True to get exception instead of just Error for "unmapped" start results.

    Returns
    Type Description
    StartResult

    Start result.

    Remarks

    Requires mastership of Rapid domain. Requires ExecuteRapid grant. Requires Auto mode. This method is no longer supported from RobotWare 5.60.

    Stop()

    Stops execution after next Cycle.

    Declaration
    public void Stop()

    Stop(StopMode)

    Stops execution.

    Declaration
    public void Stop(StopMode mode)
    Parameters
    Type Name Description
    StopMode mode

    Stop mode to use.

    UnloadProgram()

    Deletes the RAPID program of the task from the controller program memory.

    Declaration
    [Obsolete("Use DeleteProgram()")]
    public void UnloadProgram()
    Remarks

    All program modules of the task will be deleted from program memory. If they have been saved they will however remain in the controller file system.

    Requires auto mode. Requires mastership of RAPID domain.

    Requires the LoadRapidProgram grant.

    If another program is to be loaded after the deletion you may need to use a short delay, as the controller program server must finish a RAPID event routine before it can do anything else.

    Events

    MotionPointerChanged

    This event is raised when the motion pointer changes.

    Declaration
    public event EventHandler<ProgramPositionEventArgs> MotionPointerChanged
    Event Type
    Type Description
    System.EventHandler<ProgramPositionEventArgs>

    ProgramPointerChanged

    This event is raised when the program pointer changes.

    Declaration
    public event EventHandler<ProgramPositionEventArgs> ProgramPointerChanged
    Event Type
    Type Description
    System.EventHandler<ProgramPositionEventArgs>

    Implements

    System.IComparable
    System.IDisposable
    IRapidSymbol
    INamedObject
    In This Article
    Back to top Copyright © 2025 ABB