Show / Hide Table of Contents

Class RsProcessDefinition

A process definition is a group of 1-3 RsMoveInstructionDescriptions and a collection of their corresponding RsProcessTemplates. For instance the RsProcessDefinition representing the 'Arc' process would contain references to the RsMoveInstructionDescriptions of 'ArcC' and 'ArcL' and their templates.

Inheritance
object
ProjectObject
RsProcessDefinition
Inherited Members
ProjectObject.FindObjects(Predicate<ProjectObject>, Predicate<ProjectObject>)
ProjectObject.ToString()
ProjectObject.Name
ProjectObject.DisplayName
ProjectObject.Parent
ProjectObject.ContainingProject
ProjectObject.Attributes
ProjectObject.UIVisible
ProjectObject.TypeDisplayName
ProjectObject.UniqueId
ProjectObject.Children
ProjectObject.DisplayNameChanged
ProjectObject.ProjectObjectChanged
ProjectObject.InternalEvent
Namespace: ABB.Robotics.RobotStudio.Stations
Assembly: ABB.Robotics.RobotStudio.Stations.dll
Syntax
[Persistent("MoveInstructionGroup")]
public sealed class RsProcessDefinition : ProjectObject

Constructors

View Source

RsProcessDefinition(string, string, string)

Creates and initializes a new RsProcessDefinition object.

Declaration
public RsProcessDefinition(string jointInstructionName, string linearInstructionName, string circularInstructionName)
Parameters
Type Name Description
string jointInstructionName

The name of the RsMoveInstructionDescriptions corresponding to the joint motion.

string linearInstructionName

The name of the RsMoveInstructionDescriptions corresponding to the linear motion.

string circularInstructionName

The name of the RsMoveInstructionDescriptions corresponding to the circular motion.

Examples

Create RsProcessDefinition.

Project.UndoContext.BeginUndoStep("RsProcessDefinitionExample");
try
{
Station station = Station.ActiveStation;
            // Create a new RsProcessDefinition.
            RsProcessDefinition myProcDef = new RsProcessDefinition("", "SearchL", "");

            // Name it "SearchL".
            myProcDef.Name = "SearchL";

            // Create a new RsInstructionTemplate.
            RsInstructionTemplate mySearchLInstrTempl = new RsInstructionTemplate();

            // Name it "SearchL".
            mySearchLInstrTempl.Name = "SearchL";

            // Create the instruction arguments for the InstructionTemplate, and add them to it.
            RsInstructionArgument myArg = new RsInstructionArgument("Stop", "");
            myArg.Enabled = true;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("PStop", "");
            myArg.Enabled = false;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("SStop", "");
            myArg.Enabled = false;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("Sup", "");
            myArg.Enabled = false;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("Signal", "di1");
            myArg.Enabled = true;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("Flanks", "");
            myArg.Enabled = false;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("SearchPoint", "");
            myArg.Enabled = true;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("ToPoint", "");
            myArg.Enabled = true;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("ID", "");
            myArg.Enabled = false;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("Speed", "v1000");
            myArg.Enabled = true;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("V", "");
            myArg.Enabled = true;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("T", "");
            myArg.Enabled = false;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("Tool", "");
            myArg.Enabled = true;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("WObj", "");
            myArg.Enabled = false;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("Corr", "");
            myArg.Enabled = false;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);

            // Create a RsProcessTemplate using the RsInstructionTemplate.
            // Use null arguments since it does not support circular or joint motions.
            RsProcessTemplate myDefaultSearchLProcTempl = new RsProcessTemplate(null, mySearchLInstrTempl, null);

            // Name it "Default".
            myDefaultSearchLProcTempl.Name = "Default";

            // Set the ActiveMotionType to linear.
            myDefaultSearchLProcTempl.ActiveMotionType = MotionType.Linear;

            // Add the process template to the ProcessDefinition.
            myProcDef.ProcessTemplates.Add(myDefaultSearchLProcTempl);

            // Set the process template as the ActiveProcessTemplate. 
            myProcDef.ActiveProcessTemplate = myProcDef.ProcessTemplates[0];

            // Finally add the ProcessDefinition to the ActiveTask.
            station.ActiveTask.ProcessDefinitions.Add(myProcDef);
        }
        catch
        {
            Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
            throw;
        }
        finally
        {
            Project.UndoContext.EndUndoStep();
        }</code></pre>

Properties

View Source

ActiveProcessTemplate

Gets or Sets the ActiveProcessTemplate.

Declaration
public RsProcessTemplate ActiveProcessTemplate { get; set; }
Property Value
Type Description
RsProcessTemplate
Examples

Gets/Sets ActiveProcessTemplate.

Project.UndoContext.BeginUndoStep("RsProcessDefinitionExample");
try
{
Station station = Station.ActiveStation;
            // Create a new RsProcessDefinition.
            RsProcessDefinition myProcDef = new RsProcessDefinition("", "SearchL", "");

            // Name it "SearchL".
            myProcDef.Name = "SearchL";

            // Create a new RsInstructionTemplate.
            RsInstructionTemplate mySearchLInstrTempl = new RsInstructionTemplate();

            // Name it "SearchL".
            mySearchLInstrTempl.Name = "SearchL";

            // Create the instruction arguments for the InstructionTemplate, and add them to it.
            RsInstructionArgument myArg = new RsInstructionArgument("Stop", "");
            myArg.Enabled = true;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("PStop", "");
            myArg.Enabled = false;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("SStop", "");
            myArg.Enabled = false;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("Sup", "");
            myArg.Enabled = false;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("Signal", "di1");
            myArg.Enabled = true;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("Flanks", "");
            myArg.Enabled = false;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("SearchPoint", "");
            myArg.Enabled = true;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("ToPoint", "");
            myArg.Enabled = true;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("ID", "");
            myArg.Enabled = false;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("Speed", "v1000");
            myArg.Enabled = true;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("V", "");
            myArg.Enabled = true;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("T", "");
            myArg.Enabled = false;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("Tool", "");
            myArg.Enabled = true;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("WObj", "");
            myArg.Enabled = false;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("Corr", "");
            myArg.Enabled = false;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);

            // Create a RsProcessTemplate using the RsInstructionTemplate.
            // Use null arguments since it does not support circular or joint motions.
            RsProcessTemplate myDefaultSearchLProcTempl = new RsProcessTemplate(null, mySearchLInstrTempl, null);

            // Name it "Default".
            myDefaultSearchLProcTempl.Name = "Default";

            // Set the ActiveMotionType to linear.
            myDefaultSearchLProcTempl.ActiveMotionType = MotionType.Linear;

            // Add the process template to the ProcessDefinition.
            myProcDef.ProcessTemplates.Add(myDefaultSearchLProcTempl);

            // Set the process template as the ActiveProcessTemplate. 
            myProcDef.ActiveProcessTemplate = myProcDef.ProcessTemplates[0];

            // Finally add the ProcessDefinition to the ActiveTask.
            station.ActiveTask.ProcessDefinitions.Add(myProcDef);
        }
        catch
        {
            Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
            throw;
        }
        finally
        {
            Project.UndoContext.EndUndoStep();
        }</code></pre>
View Source

ProcessTemplates

Gets the collection of RsProcessTemplate objects.

Declaration
public RsProcessTemplateCollection ProcessTemplates { get; }
Property Value
Type Description
RsProcessTemplateCollection
Examples

Get RsProcessTemplateCollection.

Project.UndoContext.BeginUndoStep("RsProcessDefinitionExample");
try
{
Station station = Station.ActiveStation;
            // Create a new RsProcessDefinition.
            RsProcessDefinition myProcDef = new RsProcessDefinition("", "SearchL", "");

            // Name it "SearchL".
            myProcDef.Name = "SearchL";

            // Create a new RsInstructionTemplate.
            RsInstructionTemplate mySearchLInstrTempl = new RsInstructionTemplate();

            // Name it "SearchL".
            mySearchLInstrTempl.Name = "SearchL";

            // Create the instruction arguments for the InstructionTemplate, and add them to it.
            RsInstructionArgument myArg = new RsInstructionArgument("Stop", "");
            myArg.Enabled = true;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("PStop", "");
            myArg.Enabled = false;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("SStop", "");
            myArg.Enabled = false;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("Sup", "");
            myArg.Enabled = false;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("Signal", "di1");
            myArg.Enabled = true;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("Flanks", "");
            myArg.Enabled = false;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("SearchPoint", "");
            myArg.Enabled = true;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("ToPoint", "");
            myArg.Enabled = true;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("ID", "");
            myArg.Enabled = false;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("Speed", "v1000");
            myArg.Enabled = true;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("V", "");
            myArg.Enabled = true;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("T", "");
            myArg.Enabled = false;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("Tool", "");
            myArg.Enabled = true;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("WObj", "");
            myArg.Enabled = false;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);
            myArg = new RsInstructionArgument("Corr", "");
            myArg.Enabled = false;
            mySearchLInstrTempl.InstructionArguments.Add(myArg);

            // Create a RsProcessTemplate using the RsInstructionTemplate.
            // Use null arguments since it does not support circular or joint motions.
            RsProcessTemplate myDefaultSearchLProcTempl = new RsProcessTemplate(null, mySearchLInstrTempl, null);

            // Name it "Default".
            myDefaultSearchLProcTempl.Name = "Default";

            // Set the ActiveMotionType to linear.
            myDefaultSearchLProcTempl.ActiveMotionType = MotionType.Linear;

            // Add the process template to the ProcessDefinition.
            myProcDef.ProcessTemplates.Add(myDefaultSearchLProcTempl);

            // Set the process template as the ActiveProcessTemplate. 
            myProcDef.ActiveProcessTemplate = myProcDef.ProcessTemplates[0];

            // Finally add the ProcessDefinition to the ActiveTask.
            station.ActiveTask.ProcessDefinitions.Add(myProcDef);
        }
        catch
        {
            Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
            throw;
        }
        finally
        {
            Project.UndoContext.EndUndoStep();
        }</code></pre>

Methods

View Source

GetMoveInstructionDescriptionName(MotionType)

Gets the name of the description name.

Declaration
public string GetMoveInstructionDescriptionName(MotionType motionType)
Parameters
Type Name Description
MotionType motionType

The MotionType to find corresponding RsMoveInstructionDescription for.

Returns
Type Description
string
View Source

OnCreatingObject()

Declaration
protected override void OnCreatingObject()
Overrides
ProjectObject.OnCreatingObject()
  • View Source
In this article
Back to top Copyright © 2025 ABB