RsActionInstructionDescription Example
This example gets the ConfL InstructionDescription and creates an RsActionInstructionDescription, then prints some information about it in the logger (the output window in RobotStudio).
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();
}