Class RsInstructionParameterGroup
Represents a group of one or more RsInstructionParameter objects. This object defines either a single parameter, or a group of mutually exclusive parameters.
Inherited Members
Namespace: ABB.Robotics.RobotStudio.Stations
Assembly: ABB.Robotics.RobotStudio.Stations.dll
Syntax
sistent("ParameterDeclarationGroup")]
public sealed class RsInstructionParameterGroup : ProjectObject
Constructors
RsInstructionParameterGroup()
Creates and initializes a new RsInstructionParameterGroup object.
Declaration
public RsInstructionParameterGroup()
Examples
Create a RsInstructionParameterGroup.
Project.UndoContext.BeginUndoStep("RsMoveInstructionDescriptionProperties");
try
{
// Instance active station.
Station station = Station.ActiveStation;
// Create a MoveInstructionDescription.
RsMoveInstructionDescription myMoveInstrDesc = new RsMoveInstructionDescription("SearchL", MotionType.Linear);
myMoveInstrDesc.InformationText = "Search Linear";
// Create InstructionPrameterGroups and InstructionParameters
// and add them to the group.
RsInstructionParameterGroup myIPG = new RsInstructionParameterGroup();
RsInstructionParameter myArg = new RsInstructionParameter("Stop");
myArg.AccessMode = ParameterAccessMode.In;
myArg.DataType = "switch";
myArg.Optional = true;
myIPG.InstructionParameters.Add(myArg);
myArg = new RsInstructionParameter("PStop");
myArg.AccessMode = ParameterAccessMode.In;
myArg.DataType = "switch";
myArg.Optional = true;
myIPG.InstructionParameters.Add(myArg);
myArg = new RsInstructionParameter("SStop");
myArg.AccessMode = ParameterAccessMode.In;
myArg.DataType = "switch";
myArg.Optional = true;
myIPG.InstructionParameters.Add(myArg);
myArg = new RsInstructionParameter("Sup");
myArg.AccessMode = ParameterAccessMode.In;
myArg.DataType = "switch";
myArg.Optional = true;
myIPG.InstructionParameters.Add(myArg);
myMoveInstrDesc.InstructionParameterGroups.Add(myIPG);
// Create a new InstructionPrameterGroup.
myIPG = new RsInstructionParameterGroup();
myArg = new RsInstructionParameter("Signal");
myArg.AccessMode = ParameterAccessMode.Variable;
myArg.DataType = "signaldi";
myArg.Optional = false;
myIPG.InstructionParameters.Add(myArg);
myMoveInstrDesc.InstructionParameterGroups.Add(myIPG);
// Create a new InstructionPrameterGroup.
myIPG = new RsInstructionParameterGroup();
myArg = new RsInstructionParameter("Flanks");
myArg.AccessMode = ParameterAccessMode.In;
myArg.DataType = "switch";
myArg.Optional = true;
myIPG.InstructionParameters.Add(myArg);
myMoveInstrDesc.InstructionParameterGroups.Add(myIPG);
// Create a new InstructionPrameterGroup.
myIPG = new RsInstructionParameterGroup();
myArg = new RsInstructionParameter("SearchPoint");
myArg.AccessMode = ParameterAccessMode.InOut;
myArg.DataType = "robtarget";
myArg.Optional = false;
myIPG.InstructionParameters.Add(myArg);
myMoveInstrDesc.InstructionParameterGroups.Add(myIPG);
// Create a new InstructionPrameterGroup.
myIPG = new RsInstructionParameterGroup();
myArg = new RsInstructionParameter("ToPoint");
myArg.AccessMode = ParameterAccessMode.In;
myArg.DataType = "robtarget";
myArg.Optional = false;
myArg.PointType = RsPointType.ToPoint;
myIPG.InstructionParameters.Add(myArg);
myMoveInstrDesc.InstructionParameterGroups.Add(myIPG);
// Create a new InstructionPrameterGroup.
myIPG = new RsInstructionParameterGroup();
myArg = new RsInstructionParameter("ID");
myArg.AccessMode = ParameterAccessMode.In;
myArg.DataType = "identno";
myArg.Optional = true;
myIPG.InstructionParameters.Add(myArg);
myMoveInstrDesc.InstructionParameterGroups.Add(myIPG);
// Create a new InstructionPrameterGroup.
myIPG = new RsInstructionParameterGroup();
myArg = new RsInstructionParameter("Speed");
myArg.AccessMode = ParameterAccessMode.In;
myArg.DataType = "speeddata";
myArg.Optional = false;
myIPG.InstructionParameters.Add(myArg);
myMoveInstrDesc.InstructionParameterGroups.Add(myIPG);
// Create a new InstructionPrameterGroup.
myIPG = new RsInstructionParameterGroup();
myArg = new RsInstructionParameter("V");
myArg.AccessMode = ParameterAccessMode.In;
myArg.DataType = "num";
myArg.Optional = true;
myIPG.InstructionParameters.Add(myArg);
myArg = new RsInstructionParameter("T");
myArg.AccessMode = ParameterAccessMode.In;
myArg.DataType = "num";
myArg.Optional = true;
myIPG.InstructionParameters.Add(myArg);
myMoveInstrDesc.InstructionParameterGroups.Add(myIPG);
// Create a new InstructionPrameterGroup.
myIPG = new RsInstructionParameterGroup();
myArg = new RsInstructionParameter("Tool");
myArg.AccessMode = ParameterAccessMode.Persistent;
myArg.DataType = "tooldata";
myArg.Optional = false;
myIPG.InstructionParameters.Add(myArg);
myMoveInstrDesc.InstructionParameterGroups.Add(myIPG);
// Create a new InstructionPrameterGroup.
myIPG = new RsInstructionParameterGroup();
myArg = new RsInstructionParameter("WObj");
myArg.AccessMode = ParameterAccessMode.Persistent;
myArg.DataType = "wobjdata";
myArg.Optional = true;
myIPG.InstructionParameters.Add(myArg);
myMoveInstrDesc.InstructionParameterGroups.Add(myIPG);
// Create a new InstructionPrameterGroup.
myIPG = new RsInstructionParameterGroup();
myArg = new RsInstructionParameter("Corr");
myArg.AccessMode = ParameterAccessMode.In;
myArg.DataType = "switch";
myArg.Optional = true;
myIPG.InstructionParameters.Add(myArg);
myMoveInstrDesc.InstructionParameterGroups.Add(myIPG);
// Add the InstructionDescription to the ActiveTask.
station.ActiveTask.InstructionDescriptions.Add(myMoveInstrDesc);
// Open the "Instruction Templates Manager" on the
// "Create" menu to verify that the description has been added.
}
catch
{
Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
throw;
}
finally
{
Project.UndoContext.EndUndoStep();
}
Properties
InstructionParameters
Gets the RsInstructionParameter objects in the group.
Declaration
public RsInstructionParameterCollection InstructionParameters { get; }
Property Value
Type | Description |
---|---|
RsInstructionParameterCollection |
Examples
Get InstructionParameters.
Project.UndoContext.BeginUndoStep("RsMoveInstructionDescriptionProperties");
try
{
// Instance active station.
Station station = Station.ActiveStation;
// Create a MoveInstructionDescription.
RsMoveInstructionDescription myMoveInstrDesc = new RsMoveInstructionDescription("SearchL", MotionType.Linear);
myMoveInstrDesc.InformationText = "Search Linear";
// Create InstructionPrameterGroups and InstructionParameters
// and add them to the group.
RsInstructionParameterGroup myIPG = new RsInstructionParameterGroup();
RsInstructionParameter myArg = new RsInstructionParameter("Stop");
myArg.AccessMode = ParameterAccessMode.In;
myArg.DataType = "switch";
myArg.Optional = true;
myIPG.InstructionParameters.Add(myArg);
myArg = new RsInstructionParameter("PStop");
myArg.AccessMode = ParameterAccessMode.In;
myArg.DataType = "switch";
myArg.Optional = true;
myIPG.InstructionParameters.Add(myArg);
myArg = new RsInstructionParameter("SStop");
myArg.AccessMode = ParameterAccessMode.In;
myArg.DataType = "switch";
myArg.Optional = true;
myIPG.InstructionParameters.Add(myArg);
myArg = new RsInstructionParameter("Sup");
myArg.AccessMode = ParameterAccessMode.In;
myArg.DataType = "switch";
myArg.Optional = true;
myIPG.InstructionParameters.Add(myArg);
myMoveInstrDesc.InstructionParameterGroups.Add(myIPG);
// Create a new InstructionPrameterGroup.
myIPG = new RsInstructionParameterGroup();
myArg = new RsInstructionParameter("Signal");
myArg.AccessMode = ParameterAccessMode.Variable;
myArg.DataType = "signaldi";
myArg.Optional = false;
myIPG.InstructionParameters.Add(myArg);
myMoveInstrDesc.InstructionParameterGroups.Add(myIPG);
// Create a new InstructionPrameterGroup.
myIPG = new RsInstructionParameterGroup();
myArg = new RsInstructionParameter("Flanks");
myArg.AccessMode = ParameterAccessMode.In;
myArg.DataType = "switch";
myArg.Optional = true;
myIPG.InstructionParameters.Add(myArg);
myMoveInstrDesc.InstructionParameterGroups.Add(myIPG);
// Create a new InstructionPrameterGroup.
myIPG = new RsInstructionParameterGroup();
myArg = new RsInstructionParameter("SearchPoint");
myArg.AccessMode = ParameterAccessMode.InOut;
myArg.DataType = "robtarget";
myArg.Optional = false;
myIPG.InstructionParameters.Add(myArg);
myMoveInstrDesc.InstructionParameterGroups.Add(myIPG);
// Create a new InstructionPrameterGroup.
myIPG = new RsInstructionParameterGroup();
myArg = new RsInstructionParameter("ToPoint");
myArg.AccessMode = ParameterAccessMode.In;
myArg.DataType = "robtarget";
myArg.Optional = false;
myArg.PointType = RsPointType.ToPoint;
myIPG.InstructionParameters.Add(myArg);
myMoveInstrDesc.InstructionParameterGroups.Add(myIPG);
// Create a new InstructionPrameterGroup.
myIPG = new RsInstructionParameterGroup();
myArg = new RsInstructionParameter("ID");
myArg.AccessMode = ParameterAccessMode.In;
myArg.DataType = "identno";
myArg.Optional = true;
myIPG.InstructionParameters.Add(myArg);
myMoveInstrDesc.InstructionParameterGroups.Add(myIPG);
// Create a new InstructionPrameterGroup.
myIPG = new RsInstructionParameterGroup();
myArg = new RsInstructionParameter("Speed");
myArg.AccessMode = ParameterAccessMode.In;
myArg.DataType = "speeddata";
myArg.Optional = false;
myIPG.InstructionParameters.Add(myArg);
myMoveInstrDesc.InstructionParameterGroups.Add(myIPG);
// Create a new InstructionPrameterGroup.
myIPG = new RsInstructionParameterGroup();
myArg = new RsInstructionParameter("V");
myArg.AccessMode = ParameterAccessMode.In;
myArg.DataType = "num";
myArg.Optional = true;
myIPG.InstructionParameters.Add(myArg);
myArg = new RsInstructionParameter("T");
myArg.AccessMode = ParameterAccessMode.In;
myArg.DataType = "num";
myArg.Optional = true;
myIPG.InstructionParameters.Add(myArg);
myMoveInstrDesc.InstructionParameterGroups.Add(myIPG);
// Create a new InstructionPrameterGroup.
myIPG = new RsInstructionParameterGroup();
myArg = new RsInstructionParameter("Tool");
myArg.AccessMode = ParameterAccessMode.Persistent;
myArg.DataType = "tooldata";
myArg.Optional = false;
myIPG.InstructionParameters.Add(myArg);
myMoveInstrDesc.InstructionParameterGroups.Add(myIPG);
// Create a new InstructionPrameterGroup.
myIPG = new RsInstructionParameterGroup();
myArg = new RsInstructionParameter("WObj");
myArg.AccessMode = ParameterAccessMode.Persistent;
myArg.DataType = "wobjdata";
myArg.Optional = true;
myIPG.InstructionParameters.Add(myArg);
myMoveInstrDesc.InstructionParameterGroups.Add(myIPG);
// Create a new InstructionPrameterGroup.
myIPG = new RsInstructionParameterGroup();
myArg = new RsInstructionParameter("Corr");
myArg.AccessMode = ParameterAccessMode.In;
myArg.DataType = "switch";
myArg.Optional = true;
myIPG.InstructionParameters.Add(myArg);
myMoveInstrDesc.InstructionParameterGroups.Add(myIPG);
// Add the InstructionDescription to the ActiveTask.
station.ActiveTask.InstructionDescriptions.Add(myMoveInstrDesc);
// Open the "Instruction Templates Manager" on the
// "Create" menu to verify that the description has been added.
}
catch
{
Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
throw;
}
finally
{
Project.UndoContext.EndUndoStep();
}
Methods
OnCreatingObject()
Declaration
protected override void OnCreatingObject()