RsProcessDefinitionCollection Class |
Namespace: ABB.Robotics.RobotStudio.Stations
public class RsProcessDefinitionCollection : ICollection, IEnumerable, IEnumerable<RsProcessDefinition>
The RsProcessDefinitionCollection type exposes the following members.
Name | Description | |
---|---|---|
Count | ||
IsSynchronized | ||
ItemInt32 | ||
ItemString | ||
Parent | ||
SyncRoot |
Name | Description | |
---|---|---|
Add |
Adds a RsProcessDefinition to the collection.
| |
Clear |
Removes all items from the collection
| |
Contains(String) |
Check to see if a named item is part of the collection.
| |
Contains(RsProcessDefinition) | ||
CopyTo(Array, Int32) | ||
CopyTo(RsProcessDefinition, Int32) | ||
Equals | (Inherited from Object.) | |
Finalize | (Inherited from Object.) | |
GetEnumerator | ||
GetHashCode | (Inherited from Object.) | |
GetType | (Inherited from Object.) | |
MemberwiseClone | (Inherited from Object.) | |
Remove |
Removes a RsProcessDefinition from the collection.
| |
ToArray | ||
ToString | (Inherited from Object.) | |
TryGetProcessDefinition | Gets the definition with the specified name. |
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(); }