Class RsActionInstructionDescription
Defines the parameters and other properties of an RsActionInstruction. Also contains templates for creating new RsActionInstruction instances.
Inherited Members
Namespace: ABB.Robotics.RobotStudio.Stations
Assembly: ABB.Robotics.RobotStudio.Stations.dll
Syntax
sistent("ActionInstructionDescription")]
public sealed class RsActionInstructionDescription : RsInstructionDescription
Remarks
The Name property corresponds to the name of the RAPID instruction.
Examples
RsActionInstructionDescription Example.
Project.UndoContext.BeginUndoStep("RsActionInstructionDescriptionExample");
try
{
Station station = Station.ActiveStation;
RsInstructionDescription myInstrDesc;
if (station.ActiveTask.InstructionDescriptions.TryGetInstructionDescription("ConfL", out myInstrDesc))
{
// Cast myInstrDesc to a RsActionInstructionDescription.
RsActionInstructionDescription myConfLDesc = (RsActionInstructionDescription)myInstrDesc;
// Output to the logger.
Logger.AddMessage(new LogMessage("The ActionInstructionDescription '" + myConfLDesc.Name + "' has the following property values:"));
Logger.AddMessage(new LogMessage("InformationText: " + myConfLDesc.InformationText));
if (myConfLDesc.ActiveTemplate != null)
{
Logger.AddMessage(new LogMessage("ActiveTemplate: " + myConfLDesc.ActiveTemplate.Name));
}
Logger.AddMessage(new LogMessage("The following instruction parameters:"));
int i = 1;
foreach (RsInstructionParameterGroup rspg in myConfLDesc.InstructionParameterGroups)
{
Logger.AddMessage(new LogMessage("In group " + i + ":"));
i++;
foreach (RsInstructionParameter rsip in rspg.InstructionParameters)
{
Logger.AddMessage(new LogMessage("Parameter Name: '" + rsip.Name
+ "' Optional: '" + rsip.Optional.ToString()
+ "' Pointtype: '" + rsip.PointType.ToString()
+ "' SyncReferencedData: '" + rsip.SyncReferencedData.ToString() + "'"));
}
}
Logger.AddMessage(new LogMessage("The following instruction templates:"));
foreach (RsInstructionTemplate rsit in myConfLDesc.InstructionTemplates)
{
Logger.AddMessage(new LogMessage("Template '" + rsit.Name + "'"));
Logger.AddMessage(new LogMessage("Has the following InstructionArguments:"));
foreach (RsInstructionArgument rsia in rsit.InstructionArguments)
{
Logger.AddMessage(new LogMessage("Argument Name: '" + rsia.Name
+ "' Enabled: '" + rsia.Enabled.ToString()
+ "' Value: '" + rsia.Value + "'"));
}
}
}
else
{
Logger.AddMessage(new LogMessage("Failed to get the IstructionDescription for 'ConfL'"));
}
}
catch
{
Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
throw;
}
finally
{
Project.UndoContext.EndUndoStep();
}
Constructors
RsActionInstructionDescription(String)
Initializes a new instance of the RsActionInstructionDescription class.
Declaration
public RsActionInstructionDescription(string name)
Parameters
Type | Name | Description |
---|---|---|
String | name | The name of the corresponding RAPID instruction. |
Examples
Create a ActionInstructionDescription.
Project.UndoContext.BeginUndoStep("CreateRsActionInstructionDescription");
try
{
// Instance active station.
Station station = Station.ActiveStation;
// Create an ActionInstructionDescription.
RsActionInstructionDescription myAccSetDesc =
new RsActionInstructionDescription("AccSet");
myAccSetDesc.InformationText = "AccSet - Reduces the acceleration.";
// Create the InstructionParameterGroups and InstructionParameters
// and add them to the ActionInstructionDescription.
RsInstructionParameterGroup rsIpg = new RsInstructionParameterGroup();
RsInstructionParameter rsIp = new RsInstructionParameter("Acc");
rsIp.AccessMode = ParameterAccessMode.In;
rsIp.DataType = "num";
rsIp.SyncReferencedData = false;
rsIp.Optional = false;
rsIpg.InstructionParameters.Add(rsIp);
myAccSetDesc.InstructionParameterGroups.Add(rsIpg);
rsIpg = new RsInstructionParameterGroup();
rsIp = new RsInstructionParameter("Ramp");
rsIp.AccessMode = ParameterAccessMode.In;
rsIp.DataType = "num";
rsIp.SyncReferencedData = false;
rsIp.Optional = false;
rsIpg.InstructionParameters.Add(rsIp);
myAccSetDesc.InstructionParameterGroups.Add(rsIpg);
RsInstructionTemplate myDefaultTemplate = new RsInstructionTemplate();
myDefaultTemplate.Name = "Default";
RsInstructionArgument rsia = new RsInstructionArgument("Acc", "");
rsia.Enabled = true;
myDefaultTemplate.InstructionArguments.Add(rsia);
rsia = new RsInstructionArgument("Ramp", "");
rsia.Enabled = true;
myDefaultTemplate.InstructionArguments.Add(rsia);
myAccSetDesc.InstructionTemplates.Add(myDefaultTemplate);
myAccSetDesc.ActiveTemplate = myDefaultTemplate;
// Finally add the ActionInstructionDescription to the ActiveTask.
station.ActiveTask.InstructionDescriptions.Add(myAccSetDesc);
}
catch
{
Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
throw;
}
finally
{
Project.UndoContext.EndUndoStep();
}
Properties
ActiveTemplate
Gets or sets the active instruction template.
Declaration
public RsInstructionTemplate ActiveTemplate { get; set; }
Property Value
Type | Description |
---|---|
RsInstructionTemplate |
Examples
Get/Set Active Instruction Template.
Project.UndoContext.BeginUndoStep("RsActionInstructionDescriptionExample");
try
{
Station station = Station.ActiveStation;
RsInstructionDescription myInstrDesc;
if (station.ActiveTask.InstructionDescriptions.TryGetInstructionDescription("ConfL", out myInstrDesc))
{
// Cast myInstrDesc to a RsActionInstructionDescription.
RsActionInstructionDescription myConfLDesc = (RsActionInstructionDescription)myInstrDesc;
// Output to the logger.
Logger.AddMessage(new LogMessage("The ActionInstructionDescription '" + myConfLDesc.Name + "' has the following property values:"));
Logger.AddMessage(new LogMessage("InformationText: " + myConfLDesc.InformationText));
if (myConfLDesc.ActiveTemplate != null)
{
Logger.AddMessage(new LogMessage("ActiveTemplate: " + myConfLDesc.ActiveTemplate.Name));
}
Logger.AddMessage(new LogMessage("The following instruction parameters:"));
int i = 1;
foreach (RsInstructionParameterGroup rspg in myConfLDesc.InstructionParameterGroups)
{
Logger.AddMessage(new LogMessage("In group " + i + ":"));
i++;
foreach (RsInstructionParameter rsip in rspg.InstructionParameters)
{
Logger.AddMessage(new LogMessage("Parameter Name: '" + rsip.Name
+ "' Optional: '" + rsip.Optional.ToString()
+ "' Pointtype: '" + rsip.PointType.ToString()
+ "' SyncReferencedData: '" + rsip.SyncReferencedData.ToString() + "'"));
}
}
Logger.AddMessage(new LogMessage("The following instruction templates:"));
foreach (RsInstructionTemplate rsit in myConfLDesc.InstructionTemplates)
{
Logger.AddMessage(new LogMessage("Template '" + rsit.Name + "'"));
Logger.AddMessage(new LogMessage("Has the following InstructionArguments:"));
foreach (RsInstructionArgument rsia in rsit.InstructionArguments)
{
Logger.AddMessage(new LogMessage("Argument Name: '" + rsia.Name
+ "' Enabled: '" + rsia.Enabled.ToString()
+ "' Value: '" + rsia.Value + "'"));
}
}
}
else
{
Logger.AddMessage(new LogMessage("Failed to get the IstructionDescription for 'ConfL'"));
}
}
catch
{
Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
throw;
}
finally
{
Project.UndoContext.EndUndoStep();
}
InstructionTemplates
Gets the collection of instruction templates contained within this Action Instruction Description.
Declaration
public RsInstructionTemplateCollection InstructionTemplates { get; }
Property Value
Type | Description |
---|---|
RsInstructionTemplateCollection |
Examples
Get InstructionTemplateCollection.
Project.UndoContext.BeginUndoStep("RsActionInstructionDescriptionExample");
try
{
Station station = Station.ActiveStation;
RsInstructionDescription myInstrDesc;
if (station.ActiveTask.InstructionDescriptions.TryGetInstructionDescription("ConfL", out myInstrDesc))
{
// Cast myInstrDesc to a RsActionInstructionDescription.
RsActionInstructionDescription myConfLDesc = (RsActionInstructionDescription)myInstrDesc;
// Output to the logger.
Logger.AddMessage(new LogMessage("The ActionInstructionDescription '" + myConfLDesc.Name + "' has the following property values:"));
Logger.AddMessage(new LogMessage("InformationText: " + myConfLDesc.InformationText));
if (myConfLDesc.ActiveTemplate != null)
{
Logger.AddMessage(new LogMessage("ActiveTemplate: " + myConfLDesc.ActiveTemplate.Name));
}
Logger.AddMessage(new LogMessage("The following instruction parameters:"));
int i = 1;
foreach (RsInstructionParameterGroup rspg in myConfLDesc.InstructionParameterGroups)
{
Logger.AddMessage(new LogMessage("In group " + i + ":"));
i++;
foreach (RsInstructionParameter rsip in rspg.InstructionParameters)
{
Logger.AddMessage(new LogMessage("Parameter Name: '" + rsip.Name
+ "' Optional: '" + rsip.Optional.ToString()
+ "' Pointtype: '" + rsip.PointType.ToString()
+ "' SyncReferencedData: '" + rsip.SyncReferencedData.ToString() + "'"));
}
}
Logger.AddMessage(new LogMessage("The following instruction templates:"));
foreach (RsInstructionTemplate rsit in myConfLDesc.InstructionTemplates)
{
Logger.AddMessage(new LogMessage("Template '" + rsit.Name + "'"));
Logger.AddMessage(new LogMessage("Has the following InstructionArguments:"));
foreach (RsInstructionArgument rsia in rsit.InstructionArguments)
{
Logger.AddMessage(new LogMessage("Argument Name: '" + rsia.Name
+ "' Enabled: '" + rsia.Enabled.ToString()
+ "' Value: '" + rsia.Value + "'"));
}
}
}
else
{
Logger.AddMessage(new LogMessage("Failed to get the IstructionDescription for 'ConfL'"));
}
}
catch
{
Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
throw;
}
finally
{
Project.UndoContext.EndUndoStep();
}
Methods
GetInformationText()
Declaration
protected override string GetInformationText()
Returns
Type | Description |
---|---|
String |
Overrides
GetInstructionParameterGroups()
Declaration
protected override RsInstructionParameterGroupCollection GetInstructionParameterGroups()
Returns
Type | Description |
---|---|
RsInstructionParameterGroupCollection |
Overrides
OnCreatingObject()
Declaration
protected override void OnCreatingObject()
Overrides
SetInformationText(String)
Declaration
protected override void SetInformationText(string text)
Parameters
Type | Name | Description |
---|---|---|
String | text |