Fanuc SDK documentation
Program management
Create, delete, rename, run, pause, abort programs and manage their attributes (comment, owner, subtype) via CGTP.
CGTP provides rich program management features: create, delete, rename, run, pause, and configure program properties.
Run a program
Run a specific program starting from a given line (default: line 1). Requires firmware V9.30+.
// Run program from line 1robot.Cgtp.RunProgram("MY_PROGRAM");// Run from a specific linerobot.Cgtp.RunProgram("MY_PROGRAM", lineNum: 10);// Select a programrobot.Cgtp.SelectProgram("MY_PROGRAM");// Change the currently active programrobot.Cgtp.ChangeActiveProgram("MY_PROGRAM");// Abort a specific taskrobot.Cgtp.AbortTask("MY_PROGRAM");// Pause all running programsrobot.Cgtp.PauseAllPrograms();
Create a program
// Create a programrobot.Cgtp.CreateProgram(progName: "NEW_PROG",owner: "UnderAutomation",comment: "Created via CGTP",defaultGroup: 1,subType: CgtpProgramSubType.Job);// Deleterobot.Cgtp.DeleteProgram("OLD_PROG");// Renamerobot.Cgtp.RenameProgram("OLD_NAME", "NEW_NAME");// Program propertiesstring comment = robot.Cgtp.GetProgramComment("MY_PROGRAM");robot.Cgtp.SetProgramComment("MY_PROGRAM", "Updated comment");string owner = robot.Cgtp.GetProgramOwner("MY_PROGRAM");robot.Cgtp.SetProgramOwner("MY_PROGRAM", "Admin");int stack = robot.Cgtp.GetProgramStackSize("MY_PROGRAM");robot.Cgtp.SetProgramStackSize("MY_PROGRAM", 200);robot.Cgtp.SetProgramIgnorePause("MY_PROGRAM", true);robot.Cgtp.SetProgramWriteProtect("MY_PROGRAM", true);robot.Cgtp.SetProgramSubType("MY_PROGRAM", CgtpProgramSubType.Macro);
Available sub-types: None, Job, Process, Macro, Condition.
Pause, abort, resume, get and set attributes
CGTP allows you to completely manage programs on the robot, including creation, deletion, renaming, and execution control. Here's a complete example demonstrating these features:
// Run a programrobot.Cgtp.RunProgram("MY_PROGRAM");// Run from a specific linerobot.Cgtp.RunProgram("MY_PROGRAM", lineNum: 10);// Select a programrobot.Cgtp.SelectProgram("MY_PROGRAM");// Abort a taskrobot.Cgtp.AbortTask("MY_PROGRAM");// Pause all programsrobot.Cgtp.PauseAllPrograms();// Create a programrobot.Cgtp.CreateProgram(progName: "NEW_PROG",owner: "UnderAutomation",comment: "Created via CGTP",subType: CgtpProgramSubType.Job);// Delete a programrobot.Cgtp.DeleteProgram("OLD_PROG");// Rename a programrobot.Cgtp.RenameProgram("OLD_NAME", "NEW_NAME");// Read program propertiesstring comment = robot.Cgtp.GetProgramComment("MY_PROGRAM");string owner = robot.Cgtp.GetProgramOwner("MY_PROGRAM");bool ignorePause = robot.Cgtp.GetProgramIgnorePause("MY_PROGRAM");// Write program propertiesrobot.Cgtp.SetProgramComment("MY_PROGRAM", "Updated comment");robot.Cgtp.SetProgramSubType("MY_PROGRAM", CgtpProgramSubType.Macro);
API reference
Members of Cgtp.CgtpProgramSubType :public enum CgtpProgramSubType {// Condition handler program.Condition = 4// Job program.Job = 1// Macro program.Macro = 3// No specific sub-type.None = 0// Process program.Process = 2}