Show / Hide Table of Contents

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();
}

See Also

  • RsInstructionDescription
  • RsActionInstructionDescription
  • RsInstructionParameterGroup
  • RsInstructionParameter
  • RsInstructionTemplate
  • RsInstructionArgument
  • RobotStudio Community
In this article
Back to top Copyright © 2025 ABB