10. Uso do Programa WebAPP do Robô
10.1. Definir carregamento automático do programa de trabalho padrão na inicialização
1/**
2* @brief Define o carregamento automático do programa de trabalho padrão na inicialização
3* @param [in] flag 0-não carregar automaticamente o programa padrão na inicialização, 1-carregar automaticamente o programa padrão na inicialização
4* @param [in] program_name Nome e caminho do programa de trabalho, ex: "/fruser/movej.lua", onde "/fruser/" é o caminho fixo para QX, "/usr/local/etc/controller/lua/" é o caminho fixo para LA
5* @return Código de erro
6*/
7int LoadDefaultProgConfig(byte flag, string program_name);
10.2. Carregar o programa de trabalho especificado
1/**
2* @brief Carrega o programa de trabalho especificado
3* @param [in] program_name Nome e caminho do programa de trabalho, ex: "/fruser/movej.lua", onde "/fruser/" é o caminho fixo para QX, "/usr/local/etc/controller/lua/" é o caminho fixo para LA
4* @return Código de erro
5*/
6int ProgramLoad(string program_name);
10.3. Obter o nome do programa de trabalho carregado
1/**
2* @brief Obtém o nome do programa de trabalho carregado
3* @param [out] program_name Nome e caminho do programa de trabalho, ex: "/fruser/movej.lua", onde "/fruser/" é o caminho fixo para QX, "/usr/local/etc/controller/lua/" é o caminho fixo para LA
4* @return Código de erro
5*/
6int GetLoadedProgram(ref string program_name);
10.4. Obter o número da linha atual de execução do programa de trabalho do robô
1/**
2* @brief Obtém o número da linha atual de execução do programa de trabalho do robô
3* @param [out] line Número da linha
4* @return Código de erro
5*/
6int GetCurrentLine(ref int line);
10.5. Executar o programa de trabalho atualmente carregado
1/**
2* @brief Executa o programa de trabalho atualmente carregado
3* @return Código de erro
4*/
5int ProgramRun();
10.6. Pausar o programa de trabalho atualmente em execução
1/**
2* @brief Pausa o programa de trabalho atualmente em execução
3* @return Código de erro
4*/
5int ProgramPause();
10.7. Retomar o programa de trabalho atualmente pausado
1/**
2* @brief Retoma o programa de trabalho atualmente pausado
3* @return Código de erro
4*/
5int ProgramResume();
10.8. Terminar o programa de trabalho atualmente em execução
1/**
2* @brief Termina o programa de trabalho atualmente em execução
3* @return Código de erro
4*/
5int ProgramStop();
10.9. Obter o estado de execução do programa de trabalho do robô
1/**
2* @brief Obtém o estado de execução do programa de trabalho do robô
3* @param [out] state 1-programa parado ou nenhum programa em execução, 2-programa em execução, 3-programa pausado
4* @return Código de erro
5*/
6int GetProgramState(ref byte state);
10.10. Exemplo de Código de Operação de Programa LUA do Robô
1private void btnWebApp_Click(object sender, EventArgs e)
2{
3 string program_name = "/fruser/Text1.lua";
4 string loaded_name = "";
5 byte state = 0;
6 int line = 0;
7
8 robot.Mode(0);
9 robot.LoadDefaultProgConfig(0, program_name);
10 robot.ProgramLoad(program_name);
11 robot.ProgramRun();
12 Thread.Sleep(1000);
13 robot.ProgramPause();
14 robot.GetProgramState(ref state);
15 Console.WriteLine("program state:{0}\n", state);
16 robot.GetCurrentLine(ref line);
17 Console.WriteLine("current line:{0}\n", line);
18 robot.GetLoadedProgram(ref loaded_name);
19 Console.WriteLine("program name:{0}\n", loaded_name);
20 Thread.Sleep(1000);
21 robot.ProgramResume();
22 Thread.Sleep(1000);
23 robot.ProgramStop();
24 Thread.Sleep(1000);
25}
10.11. Baixar arquivo Lua
Novo na versão C#SDK-v1.0.5.
1/**
2* @brief Baixa arquivo Lua
3* @param [in] fileName Programa de trabalho a ser baixado "test.lua" ou "test.tar.gz"
4* @param [in] savePath Caminho local para salvar o programa de trabalho "D://Down/"
5* @return Código de erro
6*/
7public int LuaDownLoad(string fileName, string savePath);
10.12. Enviar arquivo Lua
Novo na versão C#SDK-v1.0.5.
1/**
2* @brief Envia arquivo Lua
3* @param [in] filePath Caminho do programa de trabalho local ".../test.lua" ou ".../test.tar.gz"
4* @param [out] errStr Mensagem de erro
5* @return Código de erro
6*/
7public int LuaUpload(string filePath, ref string errStr);
10.13. Excluir arquivo Lua
Novo na versão C#SDK-v1.0.5.
1/**
2* @brief Exclui arquivo Lua
3* @param [in] fileName Nome do programa de trabalho a ser excluído "test.lua"
4* @return Código de erro
5*/
6public int LuaDelete(string fileName);
10.14. Obter todos os nomes de arquivos Lua atuais
Novo na versão C#SDK-v1.0.5.
1/**
2* @brief Obtém todos os nomes de arquivos Lua atuais
3* @param [out] luaNames Lista de nomes dos programas de trabalho
4* @return Código de erro
5*/
6public int GetLuaList(ref List<string> luaNames);
10.15. Exemplo de Código de Envio e Download de Arquivo LUA do Robô
Novo na versão C#SDK-v1.0.5.
1private void btnUploadLua_Click(object sender, EventArgs e)
2{
3 int rtn;
4 List<string> luaNames = new List<string>();
5 rtn = robot.GetLuaList(ref luaNames);
6 Console.WriteLine("res is: {0}", rtn);
7 Console.WriteLine("size is: {0}", luaNames.Count);
8 foreach (var name in luaNames)
9 {
10 Console.WriteLine(name);
11 }
12 rtn = robot.LuaDownLoad("TT.lua", "D://zDOWN/");
13 Console.WriteLine("LuaDownLoad rtn is {0}", rtn);
14 string errStr = "";
15 Thread.Sleep(2000);
16
17 rtn = robot.LuaUpload("D://zUP/airlab.lua", ref errStr);
18 Console.WriteLine("LuaUpload rtn is {0}", errStr);
19 Thread.Sleep(2000);
20 rtn = robot.LuaDelete("TT.lua");
21 Console.WriteLine("LuaDelete rtn is {0}", rtn);
22}