10. Verwendung von Roboter-WebAPP-Programmen

10.1. Einstellen des standardmäßig beim Start automatisch zu ladenden Arbeitsprogramms

1/**
2* @brief Einstellen des standardmäßig beim Start automatisch zu ladenden Arbeitsprogramms
3* @param [in] flag 0 - Standardprogramm nicht automatisch beim Start laden, 1 - Standardprogramm automatisch beim Start laden
4* @param [in] program_name Name und Pfad des Arbeitsprogramms, z.B. "/fruser/movej.lua", wobei "/fruser/" der feste Pfad für QX und "/usr/local/etc/controller/lua/" der feste Pfad für LA ist
5* @return Fehlercode
6*/
7int LoadDefaultProgConfig(int flag, String program_name);

10.2. Angegebenes Arbeitsprogramm laden

1/**
2* @brief Angegebenes Arbeitsprogramm laden
3* @param [in] program_name Name und Pfad des Arbeitsprogramms, z.B. "/fruser/movej.lua", wobei "/fruser/" der feste Pfad für QX und "/usr/local/etc/controller/lua/" der feste Pfad für LA ist
4* @return Fehlercode
5*/
6int ProgramLoad(String program_name);

10.3. Name des geladenen Arbeitsprogramms abrufen

1/**
2* @brief Name des geladenen Arbeitsprogramms abrufen
3* @param [out] program_name Array (Länge 1) zum Befüllen mit dem Namen und Pfad des Arbeitsprogramms, z.B. "/fruser/movej.lua"
4* @return Fehlercode
5*/
6int GetLoadedProgram(String[] program_name);

10.4. Aktuelle Zeilennummer der Roboter-Arbeitsprogrammausführung abrufen

1/**
2* @brief Aktuelle Zeilennummer der Roboter-Arbeitsprogrammausführung abrufen
3* @return List<Integer> List[0]: Fehlercode; List[1]: int line Zeilennummer
4*/
5List<Integer> GetCurrentLine();

10.5. Aktuell geladenes Arbeitsprogramm ausführen

1/**
2* @brief Aktuell geladenes Arbeitsprogramm ausführen
3* @return Fehlercode
4*/
5int ProgramRun();

10.6. Aktuell laufendes Arbeitsprogramm pausieren

1/**
2* @brief Aktuell laufendes Arbeitsprogramm pausieren
3* @return Fehlercode
4*/
5int PauseMotion();

10.7. Aktuell pausiertes Arbeitsprogramm fortsetzen

1/**
2* @brief Aktuell pausiertes Arbeitsprogramm fortsetzen
3* @return Fehlercode
4*/
5int ResumeMotion();

10.8. Aktuell laufendes Arbeitsprogramm beenden

1/**
2* @brief Aktuell laufendes Arbeitsprogramm beenden
3* @return Fehlercode
4*/
5int StopMotion();

10.9. Ausführungsstatus des Roboter-Arbeitsprogramms abrufen

1/**
2* @brief Ausführungsstatus des Roboter-Arbeitsprogramms abrufen
3* @param [out] state Array (Länge 1) für den Status: 1 - Programm gestoppt oder kein Programm läuft, 2 - Programm läuft, 3 - Programm pausiert
4* @return Fehlercode
5*/
6public int GetProgramState(int[] state)

10.10. Codebeispiel für Roboter-LUA-Programmoperationen

 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.PauseMotion(); // Hinweis: Im Original wurde ProgramPause() verwendet, aber Methode heißt PauseMotion()
14    robot.GetProgramState(state);
15    System.out.println("program state: " + state[0]);
16    line = robot.GetCurrentLine();
17    System.out.println("current line: " + line.get(1));
18    robot.GetLoadedProgram(loaded_name);
19    System.out.println("program name: " + loaded_name[0]);
20    robot.Sleep(1000);
21    robot.ResumeMotion();
22    robot.Sleep(1000);
23    robot.StopMotion();
24    robot.Sleep(1000);
25
26    robot.CloseRPC();
27    return 0;
28}

10.11. Lua-Programm herunterladen

1/**
2* @brief Arbeitsprogramm (Lua) herunterladen
3* @param [in] fileName Name der herunterzuladenden Lua-Datei, z.B. "test.lua" oder "test.tar.gz"
4* @param [in] savePath Lokaler Pfad zum Speichern der Datei, z.B. "D://Down/"
5* @return Fehlercode
6*/
7int LuaDownLoad(String fileName, String savePath);

10.12. Lua-Programm löschen

1/**
2* @brief Arbeitsprogramm (Lua) löschen
3* @param [in] fileName Name der zu löschenden Lua-Datei, z.B. "test.lua"
4* @return Fehlercode
5*/
6int LuaDelete(String fileName);

10.13. Namen aller aktuellen Lua-Dateien abrufen

1/**
2* @brief Namen aller aktuellen Lua-Dateien abrufen
3* @param [out] luaNames Liste (List<String>) zum Befüllen mit den Namen der Arbeitsprogrammdateien
4* @return Fehlercode
5*/
6int GetLuaList(List<String> luaNames);

10.14. Lua-Programm hochladen

1/**
2* @brief Arbeitsprogramm (Lua) hochladen
3* @param [in] filePath Lokaler Pfad zur Lua-Datei, z.B. ".../test.lua" oder ".../test.tar.gz"
4* @param [out] errStr Fehlermeldung (als String, wird bei Fehler befüllt)
5* @return Fehlercode
6*/
7int LuaUpload(String filePath, String[] errStr); // Hinweis: errStr sollte als String[] übergeben werden, um Wert zurückzugeben.

10.15. Codebeispiel für Roboter-LUA-Datei-Upload/Download

 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}