Fanuc SDK documentation
Access Karel program variables
Read and write Karel program variables using SNPX ($[Program]Variable syntax), CGTP, or FTP variable files.
Read and write variables inside Karel programs running on your Fanuc robot.
SNPX
SNPX accesses Karel variables using the $[ProgramName]VariableName naming convention:
// Read a Karel integer variableint myVar = robot.Snpx.IntegerSystemVariables.Read("$[MyKarelProg]my_variable");// Write a Karel integer variablerobot.Snpx.IntegerSystemVariables.Write("$[MyKarelProg]my_variable", 42);// Read a Karel real variablefloat realVar = robot.Snpx.RealSystemVariables.Read("$[MyKarelProg]speed_ratio");// Read a Karel position variablePosition posVar = robot.Snpx.PositionSystemVariables.Read("$[MyKarelProg]target_pos");// Read a Karel string variablestring strVar = robot.Snpx.StringSystemVariables.Read("$[MyKarelProg]status_msg");
See also: SNPX System variables
CGTP Web Server
CGTP reads and writes Karel program variables using the progName parameter:
// Read a Karel variableCgtpVariableValue var = robot.Cgtp.ReadVariable("my_variable", progName: "MyKarelProg");int intVal = var.IntegerValue;// Write a Karel variablerobot.Cgtp.WriteVariable("my_variable", 42, progName: "MyKarelProg");// Read as stringstring raw = robot.Cgtp.ReadVariableAsString("speed_ratio", progName: "MyKarelProg");
See also: CGTP Registers & variables
Telnet
Telnet allows you to read and write a karel program variable
GetVariableResult result = robot.Telnet.GetVariable("VAR_NAME", "KarelProgramName");
Protocol comparison
| Feature | SNPX | CGTP | Telnet |
|---|---|---|---|
| Speed | ~2 ms | ~50 ms | ~100 ms |
| Typed read | Yes (4 types) | Yes (auto-detect) | Yes (file parse) |
| Write | Yes | Yes | No |
| Batch read | Yes | Yes | Yes (all at once) |
| All variable types | Integer, Real, Position, String | All | All |