9. 机器人WebAPP程序使用

9.1. 设置开机自动加载默认的作业程序

1/**
2* @brief  设置开机自动加载默认的作业程序
3* @param  [in] flag  0-开机不自动加载默认程序,1-开机自动加载默认程序
4* @param  [in] program_name 作业程序名及路径,如"/fruser/movej.lua",其中"/fruser/"为固定路径
5* @return  错误码
6*/
7int LoadDefaultProgConfig(byte flag, string program_name);

9.2. 加载指定的作业程序

1/**
2* @brief  加载指定的作业程序
3* @param  [in] program_name 作业程序名及路径,如"/fruser/movej.lua",其中"/fruser/"为固定路径
4* @return  错误码
5*/
6int ProgramLoad(string program_name);

9.3. 获取已加载的作业程序名

1/**
2* @brief  获取已加载的作业程序名
3* @param  [out] program_name 作业程序名及路径,如"/fruser/movej.lua",其中"/fruser/"为固定路径
4* @return  错误码
5*/
6int GetLoadedProgram(ref string program_name);

9.4. 获取当前机器人作业程序的执行行号

1/**
2* @brief  获取当前机器人作业程序执行的行号
3* @param  [out] line  行号
4* @return  错误码
5*/
6int GetCurrentLine(ref int line);

9.5. 运行当前加载的作业程序

1/**
2* @brief  运行当前加载的作业程序
3* @return  错误码
4*/
5int ProgramRun();

9.6. 暂停当前运行的作业程序

1/**
2* @brief  暂停当前运行的作业程序
3* @return  错误码
4*/
5int ProgramPause();

9.7. 恢复当前暂停的作业程序

1/**
2* @brief  恢复当前暂停的作业程序
3* @return  错误码
4*/
5int ProgramResume();

9.8. 终止当前运行的作业程序

1/**
2* @brief  终止当前运行的作业程序
3* @return  错误码
4*/
5int ProgramStop();

9.9. 获取机器人作业程序执行状态

1/**
2* @brief  获取机器人作业程序执行状态
3* @param  [out]  state 1-程序停止或无程序运行,2-程序运行中,3-程序暂停
4* @return  错误码
5*/
6int GetProgramState(ref byte state);

9.10. 代码示例

 1private void btnWebApp_Click(object sender, EventArgs e)
 2{
 3    Robot robot = new Robot();
 4    robot.RPC("192.168.58.2");
 5
 6    string program_name = "/fruser/testWebApp.lua";
 7    string loaded_name = "";
 8    byte state = 0;
 9    int line = 0;
10
11    robot.Mode(0);
12    robot.ProgramLoad(program_name);
13    robot.ProgramRun();
14    Thread.Sleep(2000);
15    robot.ProgramPause();
16    robot.GetProgramState(ref state);
17    Console.WriteLine($"program state : {state}");
18    robot.GetCurrentLine(ref line);
19    Console.WriteLine($"current line : {line}");
20    robot.GetLoadedProgram(ref loaded_name);
21    Console.WriteLine($"program name : {loaded_name}");
22    Thread.Sleep(1000);
23    robot.ProgramResume();
24    Thread.Sleep(1000);
25    robot.ProgramStop();
26}

9.11. 下载作业程序

在 C#SDK-v1.0.5 版本加入.

1/**
2* @brief 下载作业程序
3* @param [in] fileName 要下载的作业程序"test.lua"或"test.tar.gz"
4* @param [in] savePath 保存作业程序本地路径“D://Down/”
5* @return 错误码
6*/
7public int LuaDownLoad(string fileName, string savePath);

9.12. 上传作业程序

在 C#SDK-v1.0.5 版本加入.

1/**
2* @brief 上传作业程序
3* @param [in] filePath 本地作业程序路径名 ".../test.lua"或".../test.tar.gz"
4* @param [out] errStr 错误信息
5* @return 错误码
6*/
7public int LuaUpload(string filePath, ref string errStr);

9.13. 删除作业程序

在 C#SDK-v1.0.5 版本加入.

1/**
2* @brief 删除作业程序
3* @param [in] fileName 要删除的作业程序名"test.lua"
4* @return 错误码
5*/
6public int LuaDelete(string fileName);

9.14. 获取当前所有作业程序名称

在 C#SDK-v1.0.5 版本加入.

1/**
2* @brief 获取当前所有作业程序名称
3* @param [out] luaNames 作业程序名称列表
4* @return 错误码
5*/
6public int GetLuaList(ref List<string> luaNames) ;

9.15. 代码示例

在 C#SDK-v1.0.5 版本加入.

 1private void btnUploadLua_Click(object sender, EventArgs e)
 2{
 3    string errstr = "";
 4    robot.LuaUpload("D://Upload/test.lua", ref errstr);
 5    Console.WriteLine(errstr);
 6    robot.LuaDownLoad("test.lua", "D://zDOWN/");
 7    robot.LuaDelete("test.lua");
 8    List<string> lualist = new List<string>();
 9    robot.GetLuaList(ref lualist);
10    int n = lualist.Count;
11    for (int i = 0; i < n; i++)
12    {
13        Console.WriteLine(lualist[i]);
14    }
15}