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(int 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 program_name[0]: 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(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] List[0]: código de erro; List[1]: int line Número da linha
4* @return Código de erro
5*/
6List<Integer> GetCurrentLine();
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 PauseMotion();
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 ResumeMotion();
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 StopMotion();
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*/
6public int GetProgramState(int[] state)
10.10. Exemplo de Código de Operação de Programa LUA do Robô
1public static int TestLuaOp(Robot robot)
2{
3 String program_name = "/fruser/Text1.lua";
4 String[] loaded_name = new String[]{""};
5 int[] state = new int[]{0};
6 List<Integer> line = new ArrayList<>();
7
8 robot.Mode(0);
9 robot.LoadDefaultProgConfig(0, program_name);
10 robot.ProgramLoad(program_name);
11 robot.ProgramRun();
12 robot.Sleep(1000);
13 robot.ProgramPause();
14 robot.GetProgramState(state);
15 System.out.println("program state:"+ state[0]);
16 line = robot.GetCurrentLine();
17 System.out.println("current line:"+ line);
18 robot.GetLoadedProgram(loaded_name);
19 System.out.println("program name:"+ loaded_name[0]);
20 robot.Sleep(1000);
21 robot.ProgramResume();
22 robot.Sleep(1000);
23 robot.ProgramStop();
24 robot.Sleep(1000);
25
26 robot.CloseRPC();
27 return 0;
28}
10.11. Baixar Programa Lua
1/**
2* @brief Baixa programa de trabalho
3* @param [in] fileName Nome do arquivo Lua a ser baixado "test.lua" ou "test.tar.gz"
4* @param [in] savePath Caminho local para salvar o arquivo "D://Down/"
5* @return Código de erro
6*/
7int LuaDownLoad(String fileName, String savePath);
10.12. Excluir Programa Lua
1/**
2* @brief Exclui programa de trabalho
3* @param [in] fileName Nome do programa de trabalho a ser excluído "test.lua"
4* @return Código de erro
5*/
6int LuaDelete(String fileName);
10.13. Obter todos os nomes de arquivos Lua atuais
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*/
6int GetLuaList(List<String> luaNames);
10.14. Enviar Programa Lua
1/**
2* @brief Envia programa de trabalho
3* @param [in] filePath Caminho do arquivo Lua local ".../test.lua" ou ".../test.tar.gz"
4* @param [out] errStr Mensagem de erro
5* @return Código de erro
6*/
7int LuaUpload(String filePath, String errStr);
10.15. Exemplo de Código de Envio e Download de Arquivo LUA do Robô
1public static int TestLUAUpDownLoad(Robot robot)
2{
3 List<String> luaNames = new ArrayList<>();
4 int rtn = robot.GetLuaList(luaNames);
5 System.out.println("res is: "+rtn);
6 System.out.println("size is: "+luaNames.size());
7 for (int it = 1; it < luaNames.size(); it++)
8 {
9 System.out.println(luaNames.get(it));
10 }
11
12 rtn = robot.LuaDownLoad("test.lua", "D://zDOWN/");
13 System.out.println("LuaDownLoad rtn is:"+rtn);
14
15 rtn = robot.LuaUpload("D://zUP/XG.lua", "");
16 System.out.println("LuaUpload rtn is:"+ rtn);
17
18 rtn = robot.LuaDelete("XG.lua");
19 System.out.println("LuaDelete rtn is:"+ rtn);
20
21 return 0;
22}