10. Uso Programmi WebAPP Robot
10.1. Impostare Caricamento Automatico Programma Lavoro Predefinito all’Avvio
1/**
2* @brief Imposta il caricamento automatico del programma lavoro predefinito all'avvio
3* @param [in] flag 0-non carica automaticamente programma predefinito all'avvio, 1-carica automaticamente programma predefinito all'avvio
4* @param [in] program_name Nome programma lavoro e percorso, es. "/fruser/movej.lua", dove "/fruser/" è percorso fisso QX, "/usr/local/etc/controller/lua/" è percorso fisso LA
5* @return Codice errore
6*/
7errno_t LoadDefaultProgConfig(uint8_t flag, char program_name[64]);
10.2. Caricare Programma Lavoro Specificato
1/**
2* @brief Carica il programma lavoro specificato
3* @param [in] program_name Nome programma lavoro e percorso, es. "/fruser/movej.lua", dove "/fruser/" è percorso fisso QX, "/usr/local/etc/controller/lua/" è percorso fisso LA
4* @return Codice errore
5*/
6errno_t ProgramLoad(char program_name[64]);
10.3. Ottenere Nome Programma Lavoro già Caricato
1/**
2* @brief Ottiene il nome del programma lavoro già caricato
3* @param [out] program_name Nome programma lavoro e percorso, es. "/fruser/movej.lua", dove "/fruser/" è percorso fisso QX, "/usr/local/etc/controller/lua/" è percorso fisso LA
4* @return Codice errore
5*/
6errno_t GetLoadedProgram(char program_name[64]);
10.4. Ottenere Numero di Linea di Esecuzione del Programma Lavoro Corrente del Robot
1/**
2* @brief Ottiene il numero di linea di esecuzione del programma lavoro corrente del robot
3* @param [out] line Numero linea
4* @return Codice errore
5*/
6errno_t GetCurrentLine(int *line);
10.5. Eseguire Programma Lavoro Attualmente Caricato
1/**
2* @brief Esegue il programma lavoro attualmente caricato
3* @return Codice errore
4*/
5errno_t ProgramRun();
10.6. Mettere in Pausa Programma Lavoro Attualmente in Esecuzione
1/**
2* @brief Mette in pausa il programma lavoro attualmente in esecuzione
3* @return Codice errore
4*/
5errno_t ProgramPause();
10.7. Riprendere Programma Lavoro Attualmente in Pausa
1/**
2* @brief Riprende il programma lavoro attualmente in pausa
3* @return Codice errore
4*/
5errno_t ProgramResume();
10.8. Terminare Programma Lavoro Attualmente in Esecuzione
1/**
2* @brief Termina il programma lavoro attualmente in esecuzione
3* @return Codice errore
4*/
5errno_t ProgramStop();
10.9. Ottenere Stato di Esecuzione Programma Lavoro Robot
1/**
2* @brief Ottiene lo stato di esecuzione del programma lavoro del robot
3* @param [out] state 1-programma fermo o nessun programma in esecuzione, 2-programma in esecuzione, 3-programma in pausa
4* @return Codice errore
5*/
6errno_t GetProgramState(uint8_t *state);
10.10. Esempio di Codice Operazioni su Programmi LUA Robot
1int TestLuaOp(void)
2{
3 ROBOT_STATE_PKG pkg = {};
4 FRRobot robot;
5 robot.LoggerInit();
6 robot.SetLoggerLevel(1);
7 int rtn = robot.RPC("192.168.58.2");
8 if (rtn != 0)
9 {
10 return -1;
11 }
12 robot.SetReConnectParam(true, 30000, 500);
13 char program_name[64] = "/fruser/test.lua";
14 char loaded_name[64] = "";
15 uint8_t state;
16 int line;
17 robot.Mode(0);
18 robot.LoadDefaultProgConfig(0, program_name);
19 robot.ProgramLoad(program_name);
20 robot.ProgramRun();
21 robot.Sleep(1000);
22 robot.ProgramPause();
23 robot.GetProgramState(&state);
24 printf("program state:%u\n", state);
25 robot.GetCurrentLine(&line);
26 printf("current line:%d\n", line);
27 robot.GetLoadedProgram(loaded_name);
28 printf("program name:%s\n", loaded_name);
29 robot.Sleep(1000);
30 robot.ProgramResume();
31 robot.Sleep(1000);
32 robot.ProgramStop();
33 robot.Sleep(1000);
34 robot.CloseRPC();
35 return 0;
36}
10.11. Scaricare File Lua
Nuovo nella versione C++SDK-v2.1.2.0.
1/**
2* @brief Scarica file Lua
3* @param [in] fileName Nome file lua da scaricare, es.: "test.lua"
4* @param [in] savePath Percorso locale per salvare il file, es.: "D://Down/"
5* @return Codice errore
6*/
7errno_t LuaDownLoad(std::string fileName, std::string savePath);
10.12. Eliminare File Lua
Nuovo nella versione C++SDK-v2.1.2.0.
1/**
2* @brief Elimina file Lua
3* @param [in] fileName Nome file lua da eliminare, es.: "test.lua"
4* @return Codice errore
5*/
6errno_t LuaDelete(std::string fileName);
10.13. Ottenere Nomi di Tutti i File Lua Correnti
Nuovo nella versione C++SDK-v2.1.2.0.
1/**
2* @brief Ottiene i nomi di tutti i file Lua attuali
3* @param [out] luaNames Lista nomi file lua
4* @return Codice errore
5*/
6errno_t GetLuaList(std::list<std::string>* luaNames);
10.14. Caricare File Lua
Nuovo nella versione C++SDK-v2.1.2.0.
1/**
2* @brief Carica file Lua
3* @param [in] filePath Percorso nome file lua locale
4* @return Codice errore
5*/
6errno_t LuaUpload(std::string filePath);
10.15. Esempio di Codice Caricamento e Scaricamento File LUA Robot
1int TestLUAUpDownLoad(void)
2{
3 ROBOT_STATE_PKG pkg = {};
4 FRRobot robot;
5 robot.LoggerInit();
6 robot.SetLoggerLevel(1);
7 int rtn = robot.RPC("192.168.58.2");
8 if (rtn != 0)
9 {
10 return -1;
11 }
12 robot.SetReConnectParam(true, 30000, 500);
13 list<std::string> luaNames;
14 rtn = robot.GetLuaList(&luaNames);
15 std::cout << "res is: " << rtn << std::endl;
16 std::cout << "size is: " << luaNames.size() << std::endl;
17 for (auto it = luaNames.begin(); it != luaNames.end(); it++)
18 {
19 std::cout << it->c_str() << std::endl;
20 }
21 rtn = robot.LuaDownLoad("test.lua", "D://zDOWN/");
22 printf("LuaDownLoad rtn is %d\n", rtn);
23 rtn = robot.LuaUpload("D://zUP/airlab.lua");
24 printf("LuaUpload rtn is %d\n", rtn);
25 rtn = robot.LuaDelete("test.lua");
26 printf("LuaDelete rtn is %d\n", rtn);
27 robot.CloseRPC();
28 return 0;
29}