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.
Inherited Members
Namespace: ABB.Robotics.RobotStudio.Stations
Assembly: ABB.Robotics.RobotStudio.Stations.dll
Syntax
sistent("MoveInstructionGroup")]
public sealed class RsProcessDefinition : ProjectObject
Constructors
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();
}
Properties
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();
}
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();
}
Methods
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 |
OnCreatingObject()
Declaration
protected override void OnCreatingObject()